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

隨筆 - 87  文章 - 279  trackbacks - 0
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 220437
  • 排名 - 118

最新評論

閱讀排行榜

評論排行榜

Feed the dogs
Time Limit:6000MS? Memory Limit:65536K
Total Submit:1387 Accepted:222

Description
Wind loves pretty dogs very much, and she has n pet dogs. So Jiajia has to feed the dogs every day for Wind. Jiajia loves Wind, but not the dogs, so Jiajia use a special way to feed the dogs. At lunchtime, the dogs will stand on one line, numbered from 1 to n, the leftmost one is 1, the second one is 2, and so on. In each feeding, Jiajia choose an inteval[i,j], select the k-th pretty dog to feed. Of course Jiajia has his own way of deciding the pretty value of each dog. It should be noted that Jiajia do not want to feed any position too much, because it may cause some death of dogs. If so, Wind will be angry and the aftereffect will be serious. Hence any feeding inteval will not contain another completely, though the intervals may intersect with each other.

Your task is to help Jiajia calculate which dog ate the food after each feeding.

Input
The first line contains n and m, indicates the number of dogs and the number of feedings.

The second line contains n integers, describe the pretty value of each dog from left to right. You should notice that the dog with lower pretty value is prettier.

Each of following m lines contain three integer i,j,k, it means that Jiajia feed the k-th pretty dog in this feeding.

You can assume that n<100001 and m<50001.

Output
Output file has m lines. The i-th line should contain the pretty value of the dog who got the food in the i-th feeding.

Sample Input

7 2
1 5 2 6 3 7 4
1 5 3
2 7 1

Sample Output

3
2

Source
POJ Monthly--2006.02.26,zgl & twb

#include? < iostream >
#include?
< algorithm >
using ? namespace ?std;

const ? int ?MAXN? = ? 100001 ;
const ? int ?MAXM? = ? 50001 ;

struct ?PosData
{
????
int ?b,?e;
????
int ?k;
????
int ?index;
}
;

struct ?Adata
{
????
int ?index;
????
int ?incode;
????
int ?data;
}
;

Adata?a[MAXN];
int ?aa[MAXN];
PosData?d[MAXM];
int ?f[ 3 * (MAXN + 1 )]? = ? { 0 } ;
int ?n,?m;
int ? out [MAXM];

inline?
int ?inorder(PosData?x,?PosData?y)
{
????
return ?x.b? < ?y.b;
}


inline?
int ?inorder2(Adata?x,?Adata?y)
{
????
return ?x.data? < ?y.data;
}


inline?
int ?inorder3(Adata?x,?Adata?y)
{
????
return ?x.index? < ?y.index;
}


void ?initTree()
{
????memset(f,?
0 ,? sizeof (f));
}


void ?insertTree( int ?v)
{
????
int ?l? = ? 1 ,?r? = ?MAXN;
????
int ?c? = ? 1 ;
????
int ?mid;
????
while ?(l? < ?r)
????
{
????????mid?
= ?(l? + ?r)? / ? 2 ;
????????f[c]
++ ;
????????
if ?(v? > ?mid)
????????
{
????????????c?
= ?c? * ? 2 ? + ? 1 ;
????????????l?
= ?mid? + ? 1 ;
????????}

????????
else
????????
{
????????????c?
= ?c? * ? 2 ;
????????????r?
= ?mid;
????????}

????}

????f[c]
++ ;
}


void ?delTree( int ?v)
{
????
int ?l? = ? 1 ,?r? = ?MAXN;
????
int ?c? = ? 1 ;
????
int ?mid;
????
while ?(l? < ?r)
????
{
????????mid?
= ?(l? + ?r)? / ? 2 ;
????????f[c]
-- ;
????????
if ?(v? > ?mid)
????????
{
????????????c?
= ?c? * ? 2 ? + ? 1 ;
????????????l?
= ?mid? + ? 1 ;
????????}

????????
else
????????
{
????????????c?
= ?c? * ? 2 ;
????????????r?
= ?mid;
????????}

????}

????f[c]
-- ;
}


int ?searchTree( int ?k)
{
????
int ?l? = ? 1 ,?r? = ?MAXN;
????
int ?c? = ? 1 ;
????
int ?mid;
????
while ?(l? < ?r)
????
{
????????mid?
= ?(l? + ?r)? / ? 2 ;
????????
if ?(k? <= ?f[ 2 * c])
????????
{
????????????c?
= ? 2 ? * ?c;
????????????r?
= ?mid;
????????}

????????
else
????????
{
????????????k?
-= ?f[ 2 * c];
????????????c?
= ? 2 ? * ?c? + ? 1 ;
????????????l?
= ?mid? + ? 1 ;
????????}

????}

????
return ?l;
}


int ?main()
{
????
int ?i,?j;

????scanf(
" %d%d " ,? & n,? & m);

????
for ?(i = 1 ;?i <= n;?i ++ )
????
{
????????scanf(
" %d " ,? & a[i].data);
????????a[i].index?
= ?i;
????}

????sort(a
+ 1 ,?a + n + 1 ,?inorder2);
????
// 離散化
???? for ?(i = 1 ;?i <= n;?i ++ )
????
{
????????a[i].incode?
= ?i;
????????aa[i]?
= ?a[i].data;
????}

????sort(a
+ 1 ,?a + n + 1 ,?inorder3);

????
for ?(i = 0 ;?i < m;?i ++ )
????
{
????????scanf(
" %d%d%d " ,? & d[i].b,? & d[i].e,? & d[i].k);
????????d[i].index?
= ?i;
????}

????sort(d,?d
+ m,?inorder);

????
for ?(j = d[ 0 ].b;?j <= d[ 0 ].e;?j ++ )
????????insertTree(a[j].incode);
????
out [d[ 0 ].index]? = ?aa[searchTree(d[ 0 ].k)];

????
for ?(i = 1 ;?i < m;?i ++ )
????
{
????????
if ?(d[i - 1 ].e? < ?d[i].b)
????????
{
????????????
for ?(j = d[i - 1 ].b;?j <= d[i - 1 ].e;?j ++ )
????????????????delTree(a[j].incode);
????????????
for ?(j = d[i].b;?j <= d[i].e;?j ++ )
????????????????insertTree(a[j].incode);
????????}

????????
else
????????
{
????????????
for ?(j = d[i - 1 ].b;?j < d[i].b;?j ++ )
????????????
{
????????????????delTree(a[j].incode);
????????????}

????????????
for ?(j = d[i - 1 ].e + 1 ;?j <= d[i].e;?j ++ )
????????????
{
????????????????insertTree(a[j].incode);
????????????}

????????}

????????
????????
out [d[i].index]? = ?aa[searchTree(d[i].k)];
????}


????
for ?(i = 0 ;?i < m;?i ++ )
????????printf(
" %d\n " ,? out [i]);
????

????
return ? 0 ;
}
posted on 2006-09-13 23:40 閱讀(1936) 評論(6)  編輯 收藏 引用 所屬分類: ACM題目

FeedBack:
# re: pku(2761)離散化+線段樹 2007-03-28 18:58 過客
怎么注釋這么少?。。?!  回復  更多評論
  
# re: pku(2761)離散化+線段樹 2007-08-15 19:06 lilu03555
最近在學線段樹,今天用遞歸寫了一個線段樹,結果是錯的,實在是臺不爽了。。
看了你寫的線段樹,真的是他開眼界。。
佩服佩服。。  回復  更多評論
  
# re: pku(2761)離散化+線段樹 2007-08-18 11:42 wcn(wengjiaxiang86@163.com)
pku2104差不多的一道題,
對k進行變換,
d[i].k=d[i].e-d[i]-b+2-d[i].k;
變成求第k大的元素.你的程序似乎連sample都不對呀?
請教一下....  回復  更多評論
  
# re: pku(2761)離散化+線段樹 2007-08-18 21:07 wcn(wengjiaxiang86@163.com)
呃,是我看錯了,不需要變換...
不過在判區間的時候得稍微改動一下,
不過超時了。  回復  更多評論
  
# re: pku(2761)離散化+線段樹 2007-08-18 21:09 wcn(wengjiaxiang86@163.com)
呃,是我看錯了,
不需要做變換。只是程序在判區間重疊的時候,得再加一個包含.
不過這樣2104還是過不去,超時了,繼續請教?  回復  更多評論
  
# re: pku(2761)離散化+線段樹 2008-03-19 20:36 l-y-p
強大,向牛人學習了……  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              久久久国际精品| 国产亚洲网站| 精品999在线观看| 欧美mv日韩mv国产网站| 久久久人成影片一区二区三区观看| 国产一区二区三区免费观看| 久久精品日产第一区二区三区| 香蕉国产精品偷在线观看不卡| 国产综合18久久久久久| 亚洲成人在线网| 欧美人与禽性xxxxx杂性| 亚洲在线观看免费视频| 亚洲视频一区二区| 黄色成人在线| 亚洲国产视频a| 国产精品美女久久久久久久| 久久一区二区三区国产精品| 免费在线日韩av| 亚洲欧美日韩精品久久久久| 欧美一区二区精品在线| 亚洲欧洲美洲综合色网| 亚洲一区二区黄| 亚洲国产欧美国产综合一区| 一本色道久久99精品综合| 国产一区二区三区四区老人| 亚洲国产成人在线播放| 国产精品a久久久久久| 久久精品亚洲精品国产欧美kt∨| 久久久噜噜噜| 亚洲一区精品在线| 另类天堂av| 欧美在线亚洲一区| 欧美精品在欧美一区二区少妇| 欧美一区二区三区四区在线| 欧美成人精品高清在线播放| 亚洲视频免费看| 午夜精品国产更新| 亚洲成人在线免费| 日韩亚洲一区二区| 国产亚洲免费的视频看| 久久成人精品一区二区三区| 久久手机精品视频| 欧美一区视频| 国产精品久久久久久久久借妻| 欧美大尺度在线| 亚洲欧美日韩直播| 亚洲天堂av高清| 亚洲免费观看在线视频| 伊人蜜桃色噜噜激情综合| 日韩一级裸体免费视频| 又紧又大又爽精品一区二区| 亚洲综合不卡| 亚洲一区制服诱惑| 欧美精品在线网站| 亚洲欧美成人一区二区在线电影| 欧美国产激情| 精品成人久久| 香蕉av福利精品导航| 午夜精品一区二区三区在线播放 | 欧美四级在线观看| 美女诱惑一区| 好男人免费精品视频| 亚洲欧美日韩精品久久亚洲区| 久久精品1区| 欧美福利影院| 久久九九免费视频| 尤物精品国产第一福利三区 | 亚洲专区一区二区三区| 亚洲女女做受ⅹxx高潮| 欧美一区亚洲| 国产精品入口尤物| 欧美专区亚洲专区| 国产精品sss| 日韩香蕉视频| 一区二区三区欧美在线观看| 欧美二区在线观看| 欧美高清视频一二三区| 在线免费观看日韩欧美| 久久久女女女女999久久| 老色批av在线精品| 136国产福利精品导航网址| 久久久久久色| 欧美黄色成人网| 一区二区久久久久| 欧美视频免费在线观看| 一本色道久久综合亚洲精品不卡 | 亚洲综合色视频| 午夜精品久久一牛影视| 国产欧美精品日韩区二区麻豆天美| 亚洲欧美日韩另类精品一区二区三区| 欧美一级视频| 在线观看视频日韩| 欧美欧美天天天天操| 在线综合欧美| 久久亚洲春色中文字幕久久久| 亚洲第一二三四五区| 欧美精品一区二区三区在线播放 | 亚洲国产专区| 欧美日本一道本| 亚洲一区国产精品| 老**午夜毛片一区二区三区| 亚洲精品免费网站| 国产精品hd| 亚洲日本免费| 欧美激情精品久久久久久免费印度| 免费在线观看精品| 一本到高清视频免费精品| 亚洲色在线视频| 久久综合999| 国产精品高潮呻吟久久av无限| 国产精品系列在线| 亚洲免费高清视频| 蘑菇福利视频一区播放| 亚洲日本成人在线观看| 亚洲国产精品www| 亚洲美女在线一区| 国产精品美女久久久免费| 久久久久久久久久久成人| 亚洲国产成人av在线| 亚洲欧美网站| 亚洲精华国产欧美| 国产精品视频观看| 蜜桃av综合| 销魂美女一区二区三区视频在线| 欧美.日韩.国产.一区.二区| 亚洲午夜在线观看视频在线| 激情欧美一区二区三区在线观看| 欧美韩日一区| 久久久久一区二区三区| 亚洲一区二区三区视频| 亚洲第一搞黄网站| 久久精品国产91精品亚洲| 亚洲另类自拍| 一区在线视频观看| 国产精品电影观看| 欧美黄色影院| 久久综合久久久| 西西人体一区二区| 在线视频你懂得一区二区三区| 欧美激情欧美激情在线五月| 久久精品国产视频| 亚洲在线1234| 在线亚洲国产精品网站| 最新成人在线| 在线观看一区视频| 国内一区二区三区| 国产情人节一区| 国产精品xxxav免费视频| 欧美黄色免费| 欧美成人免费小视频| 久久免费偷拍视频| 久久精品毛片| 久久久国产精品一区二区三区| 亚洲国产精品一区二区www| 免费日韩av片| 欧美不卡视频一区| 欧美88av| 欧美成人有码| 欧美国产成人在线| 国产日韩一区二区三区在线播放 | 亚洲免费播放| 欧美老女人xx| 国产精品丝袜久久久久久app| 亚洲福利视频一区二区| 一本色道久久加勒比88综合| 影音先锋久久久| 国产欧美午夜| 欧美成人中文字幕| 男人的天堂亚洲| 欧美超级免费视 在线| 蜜臀99久久精品久久久久久软件| 久久亚洲欧美| 欧美成人激情视频| 亚洲高清毛片| 野花国产精品入口| 亚洲一区二区三区欧美| 欧美在线视频观看| 久久一区二区三区四区| 欧美激情无毛| 国产精品国产三级国产普通话三级| 国产精品久久一级| 国内一区二区三区| 亚洲九九九在线观看| 亚洲欧美日韩在线不卡| 久久精品国产欧美亚洲人人爽| 欧美成人福利视频| 999在线观看精品免费不卡网站| 亚洲天堂黄色| 久久久成人精品| 欧美日韩亚洲不卡| 国产色产综合色产在线视频| 在线欧美一区| 亚洲永久精品大片| 久久人人看视频| 亚洲高清av在线| 中文一区在线| 久久久91精品国产| 亚洲影视中文字幕| 欧美电影免费网站| 亚洲精品视频啊美女在线直播|