摘要:
题目不说了,可以用线段树或者单调队列,下面附上代码。线段树:#include #include #include /*AC线段树每个节点存储对应区间的最大值、最小值,然后直接查询即可。6594MS。*/using namespace std;const int maxn=1000005;const int INF=0x3f3f3f3f;int minans[maxn],maxans[maxn];int small,bigger;int n,k;struct Node{ int maxv,minv;}tree[maxn>1; build(rt>1; if(rmid) ... 阅读全文
posted @ 2013-10-29 22:06
辰曦~文若
阅读(219)
评论(0)
推荐(0)
摘要:
题目:给出n,求gcd(1,2)+gcd(1,3)+gcd(2,3)+gcd(1,4)+gcd(2,4)+gcd(3,4)+...+gcd(1,n)+gcd(2,n)+...+gcd(n-1,n) 此题和UVA 11426 一样,不过n的范围只有20000,但是最多有20000组数据。 当初我直接照搬UVA11426,结果超时,因为没有预处理所有的结果(那题n最多4000005,但最多只有100组数据),该题数据太多了额。。。思路:令sum(n)=gcd(1,n)+gcd(2,n)+...+gcd(n-1,n),则所求结果ans(n)=sum(2)+sum(3)+...+sum(n) 只需求. 阅读全文
posted @ 2013-10-29 09:32
辰曦~文若
阅读(586)
评论(0)
推荐(0)

浙公网安备 33010602011771号