摘要:
"Link" 不难发现扩展完之后,所有的点构成了若干个不相交的表格状的图形。 对于每条边,它有一些出现的时间区间。 因此我们线段树分治,利用并查集维护答案。 注意到需要撤销,因此必须使用不带路径压缩的按秩合并。 阅读全文
摘要:
"Link" 首先显然是先抽卡,抽到一定时间之后直接全买保底。 假如在某个时刻,剩下$j$个物品,总价值为$k$。 此时进行抽卡直到抽中了一个未买到的物品,就相当于花$(\frac nj 1)\frac x2$的钱买一个$\frac kj$的物品。 我们可以依此判断在一个局面下应该抽卡还是买保底。 阅读全文
摘要:
"Link" 维护块内极差/最大值$mx$,以及各个数出现的首地址(不一定是第一个),其它的用并查集并过去。 对于修改,分为边角和整块考虑。 边角的话我们把边角所在的块暴力修改并重构,单次复杂度是$O(\sqrt n)$的。 整块的话我们有两个暴力做法: 一是把$\ge x$的数$k$暴力并到$k 阅读全文
该文被密码保护。 阅读全文
摘要:
"Link" 莫队二次离线。 对于$[l,r]$与$[1,i]$的贡献,考虑对每个$x\in[l,r]$,单独计算$x$与$[1,i]$的贡献。 把贡献拆成$b,c$两部分,其中$b_x$表示$[1,i]$的中$a_x$的因数的个数,$c_x$表示$[1,i]$中$a_x$的倍数的个数。 $c$非常 阅读全文
摘要:
"Link" 简化题意: 给定正整数$n,k,m$,求有多少个满足下列条件的长度为$k$的序列$\{a\}$: $1.\forall1\le i include const int P=1000000007; int read(){int x;scanf("%d",&x);return x;} vo 阅读全文