2014浙江省赛题。 简单递推。f[i]表示加入第 i 个数字之后答案的新增加量。即以 i 位置作为区间的结尾对答案作出的贡献。 那么很容易得到,f[i]=f[i-1]+a[i]*(i-pre[a[i]]),pre[a[i]]表示a[i]上一次出现的位置。 然后把f[1]到f[n]加起来就是答案了。
分类:
其他好文 时间:
2016-02-22 23:25:36
阅读次数:
202
2015浙江省赛B题。我用了枚举+二分。。时间复杂度o(64*n),1900ms跑过的。应该有更好的方法。 #include<cstdio> #include<cstring> #include<cmath> #include<string> #include<vector> #include<qu
分类:
其他好文 时间:
2016-02-22 20:45:26
阅读次数:
257
最近在看一些整体二分,cdq分治的东西,感觉有点刷三观,又想起前几个礼拜做的浙江省赛的一道数论题,发现代码里面的精妙之处好像略有几分cdq分治的思想,然后再细看代码,发现里面还有一些NTT的东西,所以下面留个网址改日再看看。。ZOJ3874:http://acm.hust.edu.cn/vjudge...
分类:
其他好文 时间:
2015-05-14 00:44:08
阅读次数:
116
ZOJ 3872 :Beauty of Array
对于每个数,计算这个数被累加的次数。找到这个数左边这个数出现的地方,在这之间的所有数的数量*这个数后面的数的数量,即为这个数被计算的次数
#include
#include
typedef long long ll;
int a[1000005],post[1000005];
int main(){
#ifndef ONLINE_J...
分类:
其他好文 时间:
2015-05-11 16:12:58
阅读次数:
138
每年省赛必有的一道模拟题,描述都是非常的长,题目都是蛮好写的...sigh... 比赛的时候没有写出这道题目 :(题意:首先输入4个数,n,q,p,c代表有n个队伍,q个服务器,每支队伍的初始分数p,还有c次操作对于每次操作,首先输入一个k,代表k次攻击每次攻击有三个数,a,b,c,代表a通过c服务...
分类:
其他好文 时间:
2015-05-07 16:27:30
阅读次数:
127
Team Formation
题意:在n个队伍种选择两个队伍,使 满足 (i.e. A ⊕ B > max{A,
B}). n
分析: 首先对每个队员的the skill level 做处理,用二进制表示时记录1出现的位置,用数组bit【】保存;
遍历元素,在二进制中出现0的位置时,bit数组中此处为1的二进制就可以存进来,计算所有和即可。
# in...
分类:
其他好文 时间:
2015-05-06 17:40:42
阅读次数:
127
给定a,b,c,d, 满足bc>ad, 求使得cn?d?abn?最小的最小的n.数据规模:1≤a,b,c,d≤1018令y=?abx?,x=?bya?, 原问题等价于求cx?dy的最小值,ax≥by,x≥1,y≥0.分两种情况考虑1.a≥b令k=?ab?,y≥kx,c>ad/b≥kd令a′=a?kb...
分类:
其他好文 时间:
2015-05-06 14:52:26
阅读次数:
189
As a university advocating self-learning and work-rest balance, Marjar University has so many days of rest, including holidays and weekends. Each weekend, which consists of Saturday and
Sunday, is a...
分类:
其他好文 时间:
2015-04-26 12:31:14
阅读次数:
201
Edward, a poor copy typist, is a user of the Dvorak Layout. But now he has only a QWERTY Keyboard with a broken Caps Lock key, so Edward
never presses the broken Caps Lock key. Luckily, all the othe...
分类:
其他好文 时间:
2015-04-26 12:29:03
阅读次数:
159