1mszs补了CHI题,lincong补了BDGJ题。
考场上感觉是个组合数学,但是推了好久式子也没推出来,浪费了好多时间。结束之后,发现这题要用到没学过的知识——杜教筛,也算涨了一波姿势。
其中,(带记忆化的)杜教筛的代码如下:
ll dj(ll x)
{
if(x<=maxp) return s[x];
if(d[x]) return d[x];
ll ans=x*(x+1)/2;
for(ll i=2,j;i<=x;i=j+1)
{
j=x/(x/i);
ans-=(j-i+1)*dj(x/i);
}
return d[x]=ans;
}
容斥原理,考虑对L型计数,式子很长,就不在这里放了。
推式子++。
一个比较麻烦的LCA,要求的式子被拆成了很多项,分别计算即可。
比较简单的思维题,看懂题意暴力即可。
计算几何,求多边形面积,分割成一个个三角形分别求即可。由于精度问题,需要用long long存储答案,最后再特判奇偶即可。
update:注意处理多组数据,因为这点WA了一天的lincong如是说。
set暴力维护两个操作即可。