摘要: 仍然是预处理sum[i]表示前i个数的和,只枚举右端点r问题就转换成了在sum[r-k..r-1]中找一个最小值。那么我们维护一个元素单调递增的队列每次处理完一个r后把队尾所有不小于sum[r]的元素删掉后把sum[r]放进队尾。那么每次只用把队头中元素在原数组中的下标代码如下:#i... 阅读全文
posted @ 2017-06-05 20:40 BEYang_Z 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 先将1~n所有非素数除1外的最小公因数求出来 最后循环求出加上每一个i的除1外的最小公约数,如果为0,则加本身代码如下:var n,i,j:longint; ans:int64; w:array[2..10000000] of longint;begin readln(n)... 阅读全文
posted @ 2017-06-05 20:30 BEYang_Z 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 这题,只有一种情况才可以加,就是c[i]c[j] 那么定义一个sum1和sum2为1和0分别出现多少次 每次循环开始s1+sum1,s2+sum2 如果为0,则ans+s1,sum1+1 如果为1,则ans+s2,sum2+1代码如下:var n,i,x:longin... 阅读全文
posted @ 2017-06-05 20:24 BEYang_Z 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 其实,题意简单化就是叫你求最大的一个数 直接枚举代码如下:var max,a,i,n:longint;begin max:=0; readln(n); for i:=1 to n do begin read(a); if a>max then ... 阅读全文
posted @ 2017-06-05 20:15 BEYang_Z 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Description对于自然数1..n的一个排列A[1..N] 可以划分为若干个单调递增序列。每个单调递增序列由连续元素A[st..ed]组成,且满足以下条件: 1 A[ed+1]; 例如:排列1 2 4 5 6 3 9 10 7 8 可划分为3个单调递增序列 1 2 3 ... 阅读全文
posted @ 2017-06-05 20:08 BEYang_Z 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 80%:做不出100%,先来个80分水法 首先将x,y之间有边的记录两个,存在a数组里,一个是x,y,另一个是y,x 然后将这个a数组排序,将a[i,1]按升序排序。 Then 就可以求出每一个点与多少个点有边,求出每一个点的"子点"的区间,用l和r数组存 ... 阅读全文
posted @ 2017-06-05 20:02 BEYang_Z 阅读(173) 评论(0) 推荐(0) 编辑
摘要: f[i,j*k]:=f[i,j*k]+f[i-1,j]; 设f[i,j]表示前i个,当那一位数字为j*k的时候的最大好序列个数代码如下:const maxn=2000; p=1000000007;var f:array [1..maxn,1... 阅读全文
posted @ 2017-06-05 19:49 BEYang_Z 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 这题就是求一个区间[l..r],那开始将l=-10000 r=10000 每次输入一次判断,如果为”N”,那么就将符号反转,如 >→= >=→ 那么符号处理好后, ①如果为”>”或”>=”,那么如果当x大于l且小于或等于r,则l=x ... 阅读全文
posted @ 2017-06-05 19:42 BEYang_Z 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 其实,这题很水 我们每次pos到一个”bear”,就将其前后多余的相乘,就得出包含这个”bear”的单词数。 为了避免重复计算,我们每次做完一个”bear”,就delete掉代码如下:var x:ansistring; i,ans:longint;begin an... 阅读全文
posted @ 2017-06-05 19:31 BEYang_Z 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 其实这题就是将第二个时间-第一个时间,小于0的补全就A了代码如下:var x,y,k:string; l1,l2,x1,x2,x3,y1,y2,y3:longint;begin readln(x); readln(y); l1:=pos(':',x); l2:=po... 阅读全文
posted @ 2017-06-05 19:23 BEYang_Z 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 方法① 数据1k then begin o:=1; break; end; if o=0 then inc(l); end; write(l);end.方法②代码:var n,k,x,g,f:int64... 阅读全文
posted @ 2017-06-05 19:16 BEYang_Z 阅读(151) 评论(0) 推荐(0) 编辑