青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 74,  comments - 33,  trackbacks - 0

Beautiful People
The most prestigious sports club in one city has exactly N members. Each of its members is strong and beautiful. More precisely, i-th member of this club (members being numbered by the time they entered the club) has strength Si and beauty Bi. Since this is a very prestigious club, its members are very rich and therefore extraordinary people, so they often extremely hate each other. Strictly speaking, i-th member of the club Mr X hates j-th member of the club Mr Y if Si <= Sj and Bi >= Bj or if Si >= Sj and Bi <= Bj (if both properties of Mr X are greater then corresponding properties of Mr Y, he doesn??t even notice him, on the other hand, if both of his properties are less, he respects Mr Y very much).

To celebrate a new 2005 year, the administration of the club is planning to organize a party. However they are afraid that if two people who hate each other would simultaneouly attend the party, after a drink or two they would start a fight. So no two people who hate each other should be invited. On the other hand, to keep the club prestige at the apropriate level, administration wants to invite as many people as possible.

Being the only one among administration who is not afraid of touching a computer, you are to write a program which would find out whom to invite to the party.


This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between output blocks.


Input

The first line of the input file contains integer N - the number of members of the club. (2 <= N <= 100 000). Next N lines contain two numbers each - Si and Bi respectively (1 <= Si, Bi <= 109).


Output

On the first line of the output file print the maximum number of the people that can be invited to the party. On the second line output N integers - numbers of members to be invited in arbitrary order. If several solutions exist, output any one.


Sample Input

1

4
1 1
1 2
2 1
2 2


Sample Output

2
1 4


Author: Andrew Stankevich
很猥瑣的最長上升子序列,寫的很猥瑣 ,輸出為給出序列的序號,因為這個錯了幾次 開始的時候二分寫錯一直TLE
部分代碼如下

?

#include < cstdio >
#include
< cstring >
#include
< algorithm >
#define ?MAXN?120000
using ? namespace ?std;
struct ?NODE {
????
int ?x,y,mark;
}
arr[MAXN],num[MAXN];
bool ?OK;
int ?pre[MAXN],root[MAXN];
int ?n,top,max_sum,best_road;
int ?Search( int ?now) {
????
int ?left = 0 ,right = top,mid;
????
while (left < right) {
????????mid
= (right + left) >> 1 ;
????????
if (num[mid].y >= now)right = mid;
????????
else ?left = mid + 1 ;
????}

????mid
= (left + right) >> 1 ;
????
return ?mid;????
}

bool ?cmp(NODE?a,NODE?b) {
????
if (a.x != b.x) return ?a.x < b.x;
????
return ?a.y < b.y;????
}

void ?PRINT( int ?x) {
????
if (pre[x])PRINT(pre[x]);
????
if (OK)printf( " ? " );
????
else ?OK = true ;
????printf(
" %d " ,arr[x - 1 ].mark);
}

int ?main() {
????
int ?cases,i,j,now;
????scanf(
" %d " , & cases);
????num[
0 ].x = num[ 0 ].y = 0 ;
????
while (cases -- ) {
????????max_sum
= 0 ,top = 1 ;
????????scanf(
" %d " , & n);
????????
for (i = 0 ;i < n;i ++ ) {
????????????arr[i].mark
= i + 1 ;
????????????scanf(
" %d?%d " , & arr[i].x, & arr[i].y);????
????????}

????????sort(arr,arr
+ n,cmp);
????????memset(pre,
0 , sizeof (pre));
????????memset(num,
0 , sizeof (num));
????????
for (i = 0 ;i < n;i ++ ) {????
????????????
for (j = now;j < i + 1 ;j ++ ) {
????????????????
int ?t = Search(arr[j].y);
????????????????root[j]
= t;pre[j + 1 ] = num[t - 1 ].x;
????????????????
if (max_sum < t) {
????????????????????max_sum
= t;best_road = j + 1 ;????
????????????????}
????
????????????}

????????????
for (j = now;j < i + 1 ;j ++ ) {
????????????????
if (root[j] == top) {
????????????????????num[top].x
= j + 1 ;
????????????????????num[top
++ ].y = arr[j].y;????
????????????????}

????????????????
else ? if (arr[j].y < num[root[j]].y) {
????????????????????num[root[j]].x
= j + 1 ;
????????????????????num[root[j]].y
= arr[j].y;????
????????????????}
????
????????????}

????????}

????????OK
= false ;
????????printf(
" %d\n " ,max_sum);
????????PRINT(best_road);printf(
" \n " );
????}

}

posted on 2009-05-10 22:43 KNIGHT 閱讀(147) 評論(1)  編輯 收藏 引用

FeedBack:
# re: Beautiful People
2009-05-10 22:47 | Knignt
額 上面復制的時候搞錯了一句話 自己加到循環(huán)里面就可以了
從0到n的循環(huán)開始的時候加上
for(now=i,j=i+1;j<n&&arr[j].x==arr[i].x;i=j,j++);
用了二分的思想
  回復  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用鏈接

留言簿(8)

隨筆檔案

文章檔案

Friends

OJ

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产合集| 国产精品乱码一区二三区小蝌蚪| 久久亚洲精品视频| 欧美精品亚洲精品| 国产日韩欧美a| 99热在线精品观看| 噜噜噜躁狠狠躁狠狠精品视频 | 国产伦精品一区二区三区高清版 | 欧美激情一区二区三区蜜桃视频 | 一区二区视频欧美| 亚洲午夜精品一区二区| 免费在线亚洲欧美| 欧美有码在线视频| 国产精品狼人久久影院观看方式| 亚洲网在线观看| 亚洲国产欧美一区二区三区丁香婷| 亚洲欧美日韩精品久久久| 欧美国产亚洲精品久久久8v| 亚洲欧美日韩精品久久| 欧美日韩小视频| 99精品国产在热久久| 99精品国产福利在线观看免费| 久久夜色精品亚洲噜噜国产mv| 亚洲日本欧美在线| 欧美大片免费| 久久久噜噜噜久久久| 狠狠色狠狠色综合人人| 欧美在线日韩在线| 性欧美18~19sex高清播放| 国产精品久久久久久影视| 久久久精品欧美丰满| 欧美一区2区视频在线观看| 国产精品日韩在线| 午夜久久美女| 亚洲午夜未删减在线观看| 国产精品久久久久久超碰| 亚洲一区免费观看| 亚洲一区二区三区免费观看| 国产精品家庭影院| 欧美电影在线| 国产一区二区三区直播精品电影 | 欧美高清视频| 国产精品卡一卡二| 亚洲激情视频在线播放| 欧美激情成人在线| 一区二区三区日韩| 亚洲欧美久久久| 国产视频丨精品|在线观看| 欧美激情四色| 国内精品嫩模av私拍在线观看| 欧美中文字幕在线视频| 欧美韩国在线| 欧美~级网站不卡| 国产日韩欧美综合一区| 日韩午夜电影av| 国产日韩精品一区| 欧美freesex交免费视频| 国产精品色网| 99re6这里只有精品| 亚洲精品美女久久久久| 久久伊人亚洲| 99视频超级精品| 亚洲欧美日韩国产一区| 一本色道久久综合亚洲精品不卡| 久久久精品动漫| 亚洲天堂黄色| 欧美日韩精品欧美日韩精品一| 欧美伊人久久| 欧美福利视频网站| 亚洲激情视频| 日韩一区二区福利| 欧美日韩一区综合| 一本色道久久综合一区| 136国产福利精品导航网址应用 | 蜜桃av一区二区三区| 欧美日韩亚洲高清一区二区| 亚洲欧洲日韩女同| 一个色综合av| 国产精品久久久久高潮| 午夜精品美女自拍福到在线| 午夜精品久久久久久久蜜桃app| 国产精品久久久久久久午夜| 在线亚洲精品| 99re热这里只有精品视频| 欧美国产免费| 这里是久久伊人| 久久蜜桃香蕉精品一区二区三区| 欧美激情一区| 亚洲一区二区三区中文字幕| 午夜欧美大尺度福利影院在线看 | 欧美黄网免费在线观看| 亚洲精品欧美一区二区三区| 国产亚洲成av人片在线观看桃| 欧美一区二区在线| 亚洲福利视频一区| 伊人成年综合电影网| 中文一区在线| 久久一区二区三区四区| 国产精品一区二区久久精品| 欧美一区二区三区男人的天堂| 免费成人av资源网| 亚洲午夜精品久久| 狠狠色噜噜狠狠狠狠色吗综合| 欧美mv日韩mv国产网站app| 麻豆精品在线视频| 亚洲最快最全在线视频| 国产一区二区三区在线观看网站| 久久久成人精品| 在线亚洲电影| 欧美国产综合一区二区| 亚洲欧洲av一区二区| 韩国视频理论视频久久| 欧美日韩性生活视频| 欧美在线视频观看免费网站| 亚洲黄色免费网站| 久久精品一二三区| 在线亚洲激情| 91久久久久久国产精品| 农村妇女精品| 性欧美xxxx大乳国产app| 亚洲国产精品高清久久久| 久久gogo国模啪啪人体图| 99视频超级精品| 亚洲欧洲一区二区三区久久| 国产日韩免费| 国产精品www| 欧美在线关看| 亚洲一区在线观看免费观看电影高清| 亚洲高清自拍| 美女精品自拍一二三四| 欧美一级久久久| 精品99一区二区| 国产欧美精品一区aⅴ影院| 欧美日韩ab| 欧美精品国产一区| 免费一级欧美在线大片| 久久久久久日产精品| 欧美与欧洲交xxxx免费观看| 亚洲一区二区3| 亚洲一区中文| 亚洲天堂av图片| 国产精品99久久99久久久二8| 亚洲第一狼人社区| 玖玖精品视频| 午夜在线精品偷拍| 欧美一区二区日韩| 亚洲一区二区在线播放| 韩国一区电影| 国产日本欧美一区二区| 欧美视频国产精品| 亚洲日本电影在线| 亚洲国内精品| 亚洲日本中文字幕免费在线不卡| 亚洲激情第一页| 欧美a级一区| 欧美激情综合五月色丁香小说| 久久久久9999亚洲精品| 久久成人精品无人区| 久久精品免费观看| 久久se精品一区精品二区| 一区二区三区av| 制服丝袜激情欧洲亚洲| 亚洲一区黄色| 亚洲欧美在线x视频| 亚洲黄色免费网站| 亚洲欧洲日夜超级视频| 亚洲人成网站色ww在线| 亚洲精品国精品久久99热一| 亚洲电影中文字幕| 亚洲黄色成人久久久| 亚洲国产精品一区二区尤物区| 美女精品一区| 欧美激情在线| 亚洲精品国精品久久99热| 亚洲精品人人| 在线视频精品一区| 亚洲午夜激情在线| 欧美一级免费视频| 久久国产精品色婷婷| 欧美精品三区| 国产精品国产三级国产普通话99| 国产精品久久波多野结衣| 国产精品无码专区在线观看| 精品51国产黑色丝袜高跟鞋| 在线成人激情黄色| aa国产精品| 日韩午夜av电影| 午夜精品国产精品大乳美女| 99v久久综合狠狠综合久久| 亚洲视频观看| 久久综合久久综合这里只有精品| 91久久精品日日躁夜夜躁欧美| 日韩一级片网址| 欧美在现视频| 欧美精品激情在线| 伊人一区二区三区久久精品| 亚洲美女福利视频网站| 欧美一区二区三区免费视频| 久久久久久久久岛国免费| 亚洲久色影视|