01 2017 档案
摘要:Description \(n\)个国家一共有\(m\)个收集器,每次会在一个范围内落下\(a_i\)个物品,每个国家有收集目标,问每个国家至少多少次可以收集完.\(n,m,k \leqslant 3\times 10^5\) Solution 整体二分. 二分答案的同时将询问分类,分成小于等于\(
阅读全文
摘要:Description \(n\)个顶点,\(k\)个点,问有多少三角剖分方案满足任意一个三角内都有偶数个点,\(n \leqslant 6\times 10^2,k\leqslant 2\times 10^4\). Solution 极角排序+DP. 枚举顶点,然后将点按照与这个点形成向量的极角排
阅读全文
摘要:Description 在长度为 \(n\)的序列中选出一个子序列,满足任意长度为 \(m\) 的子串中出现的数字不超过 \(k\) 个,求最大价值 \(n \leqslant 10^3, m,k\leqslant 10^2\). Solution 费用流. 费用流建模的一个思路,任意 \(m\)
阅读全文
摘要:Description 给出一堆点,问有多少包含原点的三角形,\(n\leqslant 10^5\). Sol 极角排序. 首先按极角大小排一下序,我先按象限排再计算一下叉积也相当于极角排序了...其实主要是我不太会用cmath里的atan什么的... 然后每次维护一个半平面,他和这些半平面中的点形
阅读全文
摘要:Description 求一个序列能够成的三角形个数.\(n \leqslant 10^5,a_i \leqslant 10^5\) Sol FFT. 我们可以用FFT求出任意两个形成的组合,不过要减去重复的. 我先算的是排列,最后除6变成组合. 然后考虑将第三条边加入,这时候只需要减去所有小于等于
阅读全文
摘要:Description 问所有三/二/一元组可能形成的组合. Sol FFT. 利用生成函数直接FFT一下,然后就是计算,计算的时候简单的容斥一下. 任意三个-3*两个相同的+2*全部相同的+任意两个-两个相同的+任意一个. Code
阅读全文
摘要:Description 一个ab串,问有多少回文子序列,字母和位置都对称,并且不连续. Sol FFT+Manacher. 不连续只需要减去连续的就可以了,连续的可以直接Manacher算出来. 其他全部对称的回文子序列就可以用生成函数那样FFT搞出来,把ab分开考虑就行. 有挺多细节的...包括下
阅读全文
摘要:Description 求 \(E_i=\sum _{j=0}^{i-1} \frac {q_j} {(i-j)^2}-\sum _{j=i+1}^{n-1} \frac{q_j} {(i-j)^2}\) Sol FFT. 我们可以发现他是一个卷积的形式,每次从\(i^2\) 卷到 \((n-i-1
阅读全文
摘要:Description 一棵树,支持三种操作,修改点权,修改颜色,问所有与他路径上颜色相同的点的最大权,包含这两个点. Sol LCT. 用LCT来维护重边,对于每个节点在建一个set用来维护轻边,这样Link和Cut是时候就非常好操作了,直接Access一下,Splay一下,直接删掉就可以了. 因
阅读全文
摘要:Description 问一棵树上前 \(k\) 大路径的边权. Sol 边分治. 非常感谢数据没有菊花图. 为了写写边分治试试然后就开了这道题. 边分治非常好想,选一条重边,分成两部分,然后分别求最大值,对每个重边建一个堆维护一下,全局堆里存答案. rebuild好像写的有问题啊qwq...疯狂R
阅读全文

浙公网安备 33010602011771号