07 2011 档案

摘要:单调队列及其应用关键字队列,合并果子,窗户,广告印刷,最长XX子序列,志愿者选拔,动态规划,烽火传递正文单调队列,望文生义,就是指队列中的元素是单调的。如:{a1,a2,a3,a4……an}满足a1<=a2<=a3……<=an,a序列便是单调递增序列。同理递减队列也是存在的。单调队列的出现可以简化问题,队首元素便是最大(小)值,这样,选取最大(小)值的复杂度便为o(1),由于队列的性质,每个元素入队一次,出队一次,维护队列的复杂度均摊下来便是o(1)。如何维护单调队列呢,以单调递增序列为例:1、如果队列的长度一定,先判断队首元素是否在规定范围内,如果超范围则增长对首。2、每次 阅读全文
posted @ 2011-07-31 08:51 liukee 阅读(3469) 评论(2) 推荐(1)
摘要:。问题【题目描述】S航空公司在N座城市之间有N-1条航线,航线是双向的。任意两座城市都是可以互相到达的,但是可能需要在一些城市换乘不同的航线。目前有人抱怨要到达有些城市需要换乘太多次,S航空公司为了缓解这一现状,决定取消目前的一条航线,添加另一条航线,在保证任意两座城市还是可以互相到达的前提下,使得两座城市之间需要乘坐的航线次数的最大值最小。【输入格式】第一行为一个整数N(4<=N<=2500),表示城市的个数。城市从1到N编号。接下来N-1行,每行是一对整数a和b,表示一条连接a和b的航线(1<=a,b<=N)。【输出格式】输出仅一行,即航空公司进行调整后,任意两座城 阅读全文
posted @ 2011-07-20 17:22 liukee 阅读(315) 评论(0) 推荐(0)
摘要:program liukeke;var a:array[0..150] of longint; b:array[0..150] of longint; c:array[0..250] of longint; d:array[0..350] of longint; i,j:longint; s:string;procedure change(s:string);var i:longint;begin for i:=length(s) downto 1 do begin inc(a[0]); a[a[0]]:=ord(s[i])-48; end;end;function work:boolean; 阅读全文
posted @ 2011-07-20 17:07 liukee 阅读(402) 评论(0) 推荐(0)