上一页 1 ··· 12 13 14 15 16
摘要: 题意:给一串数C[1..n],对于每次询问[i,j],给出C[i..j]中有多少个数出现过两次。与上一题BZOJ 1878做法相似,只需将Pre[i]+1..i改为Pre[Pre[i]]+1..Pre[i]。BZOJ 1878题解:http://hi.baidu.com/8361101/item/0... 阅读全文
posted @ 2014-07-04 21:38 NanoApe 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题意:给一串数C[1..n],对于每次询问[i,j],给出C[i..j]中有多少个不同的数。此题可用离线做法。先对每个询问排序,并求出Pre[1..n](Pre[i]表示C[1..i-1]中与C[i]相同且离C[i]最近的数的下标,如没有则为0)然后建一个树状数组Tree,i依次取值为1..n。先把... 阅读全文
posted @ 2014-07-04 21:34 NanoApe 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 线段树。支持区间加、区间乘、区间查询和。标记下移还有取模要注意。varn,p,q,i,s,t:longint;a:int64;num,n1,n2,n3:array[0..500000] of int64;procedure build(o,l,r:longint);var m,i:longint;b... 阅读全文
posted @ 2014-07-01 12:49 NanoApe 阅读(128) 评论(0) 推荐(0) 编辑
摘要: DP+斜率优化就不再多说了。。。还是基础的斜率优化。。。varn,i,s,t,a,b,c,xa,xb,xc:longint;num,dp,xl,sum,s2:array[0..1000005] of int64;beginread(n,xa,xb,xc);for i:=1 to n do read(... 阅读全文
posted @ 2014-07-01 11:48 NanoApe 阅读(97) 评论(0) 推荐(0) 编辑
摘要: DP+斜率优化DP方程为dp[i]:=max(dp[j]+sum[i]-sum[j]+i-j-1)(j ((dp[b]-dp[a]+sum[b]*sum[b]-sum[a]*sum[a])/(sum[b]-sum[a])) then begin xl[s]:=0;inc(s); end ... 阅读全文
posted @ 2014-07-01 11:46 NanoApe 阅读(132) 评论(0) 推荐(0) 编辑
摘要: DP+斜率优化。DP方程为dp[i]:=max(dp[j]+(p[k]*(x[i]-x[k]))+c[i]) (js do if (y[i]-y[dd[t]])/(x[i]-x[dd[t]])<(y[dd[t]]-y[dd[t-1]])/(x[dd[t]]-x[dd[t-1]]) then b... 阅读全文
posted @ 2014-07-01 11:44 NanoApe 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 做一棵线段树,支持区间查询最大值和单点修改。先开一个能容纳200000个数的线段树,初始化全部数为0。查询的时候只需要找max(m-l+1,m),其中m是此时数列的长度。添加的时候就直接修改第m+1个数,然后m++。varn,d,t,i,a,m:longint;c:char;num:array[1.... 阅读全文
posted @ 2014-07-01 11:41 NanoApe 阅读(95) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16
AmazingCounters.com