【第十场】
D:Han Xin and His Troops(中国剩余定理 or 构造)
H:Stammering Chemists(签到题)
题解:根据每个点所拥有的边的数目可以区分直接三种,然后根据拥有三条边的点的邻点所拥有的边只有一条的数目是1还是2区分剩下的两种。
【第九场】
A:The power of Fibonacci(中国剩余定理)
E:All men are brothers(并查集+组合数学)
【第八场】
B:Beauty Values
题解:枚举每个数字,求原序列有多少个子区间包含至少一个该数字,最后把答案累加起来即可。
ll ans=0;
for(int i=1;i<=n;i++){
int x; scanf("%d",&x);
ans+=1ll*(i-last[x])*(n-i+1);
last[x]=i;
}
printf("%lld\n",ans);
G:Gemstones
题解:用栈存储元素,每次比较当前是否有连续三个相同的元素,如果有就删除,最后输出栈的大小。
【第七场】
A:String (暴力水题)
题解:暴力+贪心。从左到右依次取出最长的01串判断是否为完美串,是的话更新下一次判断开始位置,不是的话长度减一继续判断。
B:Irreducible Polynomial
题解:数学。原题poj2126。
D:Number (傻逼题)
题解:如果n小于给定的p的位数那么输出T_T,否则输出p+(n-p的位数)个0即可。
E:Find the median(离散化区间+树状数组+二分)
J:A+B problem (傻逼签到题)
题解:按题意模拟即可。
【第六场】
A:Garbage Classification
题意:按题意模拟即可。
【第五场】
【第四场】
【第三场】
【第二场】
H:Second Large Rectangle(前缀和+思维)