标签:ref bsp 暴力 vector problem .com tar codeforce map
https://codeforces.com/gym/101864
题目并不难
考虑新加入的线段和之前线段有交的个数
总数-不交的,不交的:右端点在[l,r]左边,左端点在[l,r]右边的。
维护4个平衡树查询即可
记得pushup。。。。。
记得空格。。。。
记得节点是:N+Q的
考虑变化之后带来的影响。
看左右之前有无即可。
map维护
前k个有?
定义前k个0表示有,1表示没有,后N-K个同理。
这样开始都是0,特判即可。
法一:
pollard-rho质因数分解
每个数该质因子最小是ai,个数总和是bi
a,b,c是无序三元组
可以大力容斥消除影响
或者DP,记录集合划分也就是贝尔数。
最后根据集合划分的情况配上系数
法二:
更好的方法。
直接Pi/gcd/gcd/gcd=sum求多少种三个数乘积等于sum且这三个数互质
每个质因子指数必然有一个是0
三个数都相同可以特判掉。
随便选择的:$D=\Pi 3*x $3是0有三个位置,x是0+x,...x-1,1共x种方案
不能直接除以6,两个数相同的情况只会被统计两次
两个数相同?
00x,或者当x是偶数,0,x/2,x/2
所以x是偶数时候额外*=2
最后ans=(D-3*E)/6+E
枚举lcp,方案数可以DP预处理
大于k就变成long long表示
每次Y是正数,就是值域分散,
fhq前缀后缀+即可。
Y是负数,值域合并
Y是负数影响总变化只有N次,暴力插入删除。
开vector,双指针
右指针到了r加入所有r开始的区间,左指针到了l减去所有l结尾的区间
标签:ref bsp 暴力 vector problem .com tar codeforce map
原文地址:https://www.cnblogs.com/Miracevin/p/10849363.html