日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

poj 1609

發布時間:2023/12/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 poj 1609 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:抽象的說,就是給出一列數對 ,求出其最長的遞增序列的長度。

用偏序定理,再LIS(nlogn).

代碼:

#include<iostream> #include<fstream>using namespace std; int n;struct e{int s,t; }; e a[10001];int cmp(const void *a,const void *b){e *s=(e*)a;e *t=(e*)b;if(s->s!=t->s)return s->s-t->s;elsereturn s->t-t->t; }int b[10001];int find(int s,int value){int i=0,k;while(i<=s){k=(i+s)>>1;if(b[k]>value) s=k-1;else i=k+1;}return s; }void read(){ // ifstream cin("in.txt");int i,j,k;while(cin>>n){if(n==0) break;for(i=0;i<n;i++)cin>>a[i].s>>a[i].t;qsort(a,n,sizeof(e),cmp);int m=0;b[0]=a[0].t;for(i=1;i<n;i++){j=find(m,a[i].t);b[j+1]=a[i].t;if(j+1>m) m=j+1;}cout<<m+1<<endl;}cout<<'*'<<endl;}int main(){read();return 0; }

轉載于:https://www.cnblogs.com/zhaozhe/archive/2011/05/04/2036856.html

總結

以上是生活随笔為你收集整理的poj 1609的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。