上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页
摘要: 有一个长度为n(n<=100000)的有序序列,对于Q(Q<=100000)条询问(x,y)输出区间[x,y]中出现次数最多的数的次数。用maxl表示包括左端点的最长重复数的个数maxr表示包括右端点的最长重复数的个数sum表示在该区间内重复数的最大个数,那么就很容易建立线段树,由儿子节点去求父亲节点,具体的规划式在程序里很清楚。View Code 1 program pku3368(input,output); 2 type 3 node = record 4 left,right,x,y,maxl,maxr,sum : longint; 5 ... 阅读全文
posted @ 2012-04-14 10:37 Codinginging 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 求区间最值之差,需要Qlogn的算法,可以用线段树或者ST。线段树1750msView Code 1 program pku3264_line_tree(input,output); 2 type 3 node = record 4 left,right,x,y,minx,maxx : longint; 5 end; 6 var 7 tree : array[0..500000] of node; 8 n,q : longint; 9 a : array[0..200000] of longint;10 to... 阅读全文
posted @ 2012-04-14 09:56 Codinginging 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 网络流与线性规划24题第二题。题解中算法很明显,但是有一个地方不完美,就是方案,数据中存在这样的情况,对于一个最优方案,再加上一个实验,总收益不变,数据就把这个实验也算在内了。所以输出时不是和s相连的点,而是与t不连通的点。View Code 1 program fly(input,output); 2 const 3 oo = 19950714; 4 var 5 dist : array[0..500] of longint; 6 f : array[0..500,0..500] of longint; 7 q : array[0..... 阅读全文
posted @ 2012-04-11 18:17 Codinginging 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 一道纯的高精度题,就是靠基础代码了,1AC0ms无压力。注意整数和小数的分界,还有0的时候。View Code 1 program pku1001(input,output); 2 type 3 number = array[0..100] of integer; 4 var 5 power : integer; 6 s,s1,s2 : ansistring; 7 x,answer : number; 8 n : longint; 9 procedure init;10 begin11 readln(s);12 s1:=copy... 阅读全文
posted @ 2012-04-05 15:22 Codinginging 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 给一个n个数的排列,求其向后k个的排列。这里有一种字典序模拟法。1:找到最靠后的x,使a[x]<a[x+1]2:找到最小的a[y],使a[y]>a[x]3:交换a[x],a[y]4:把序列(x+1..n)翻转。每进行一次上述过程,就向下推了一个排列。View Code 1 program pku1833(input,output); 2 var 3 a : array[0..2000] of longint; 4 n : longint; 5 k : longint; 6 cases : longint; 7 procedure init; 8... 阅读全文
posted @ 2012-04-01 14:41 Codinginging 阅读(184) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页