上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页
摘要: Description 有一些任务,需要用到一些机器,可以买可以租,问最大获利. Solution 网络流. 最大权闭合子图模型. 建图很简单就是S->机器,机器->任务,任务->T. 如果没有租用的话,中间的是INF,不会割掉,加上租用就把容量变成租用的价格即可. 这样求出来的割就是最小损失了,用 阅读全文
posted @ 2017-02-11 21:55 北北北北屿 阅读(172) 评论(0) 推荐(0) 编辑
摘要: Description \(n\)个国家一共有\(m\)个收集器,每次会在一个范围内落下\(a_i\)个物品,每个国家有收集目标,问每个国家至少多少次可以收集完.\(n,m,k \leqslant 3\times 10^5\) Solution 整体二分. 二分答案的同时将询问分类,分成小于等于\( 阅读全文
posted @ 2017-01-21 20:47 北北北北屿 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Description \(n\)个顶点,\(k\)个点,问有多少三角剖分方案满足任意一个三角内都有偶数个点,\(n \leqslant 6\times 10^2,k\leqslant 2\times 10^4\). Solution 极角排序+DP. 枚举顶点,然后将点按照与这个点形成向量的极角排 阅读全文
posted @ 2017-01-20 20:54 北北北北屿 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Description 在长度为 \(n\)的序列中选出一个子序列,满足任意长度为 \(m\) 的子串中出现的数字不超过 \(k\) 个,求最大价值 \(n \leqslant 10^3, m,k\leqslant 10^2\). Solution 费用流. 费用流建模的一个思路,任意 \(m\) 阅读全文
posted @ 2017-01-20 20:41 北北北北屿 阅读(150) 评论(0) 推荐(0) 编辑
摘要: Description 给出一堆点,问有多少包含原点的三角形,\(n\leqslant 10^5\). Sol 极角排序. 首先按极角大小排一下序,我先按象限排再计算一下叉积也相当于极角排序了...其实主要是我不太会用cmath里的atan什么的... 然后每次维护一个半平面,他和这些半平面中的点形 阅读全文
posted @ 2017-01-12 08:50 北北北北屿 阅读(205) 评论(0) 推荐(0) 编辑
摘要: Description 求一个序列能够成的三角形个数.\(n \leqslant 10^5,a_i \leqslant 10^5\) Sol FFT. 我们可以用FFT求出任意两个形成的组合,不过要减去重复的. 我先算的是排列,最后除6变成组合. 然后考虑将第三条边加入,这时候只需要减去所有小于等于 阅读全文
posted @ 2017-01-11 17:03 北北北北屿 阅读(142) 评论(0) 推荐(0) 编辑
摘要: Description 问所有三/二/一元组可能形成的组合. Sol FFT. 利用生成函数直接FFT一下,然后就是计算,计算的时候简单的容斥一下. 任意三个-3*两个相同的+2*全部相同的+任意两个-两个相同的+任意一个. Code 阅读全文
posted @ 2017-01-06 07:06 北北北北屿 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Description 一个ab串,问有多少回文子序列,字母和位置都对称,并且不连续. Sol FFT+Manacher. 不连续只需要减去连续的就可以了,连续的可以直接Manacher算出来. 其他全部对称的回文子序列就可以用生成函数那样FFT搞出来,把ab分开考虑就行. 有挺多细节的...包括下 阅读全文
posted @ 2017-01-05 11:06 北北北北屿 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2017-01-03 09:33 北北北北屿 阅读(122) 评论(0) 推荐(0) 编辑
摘要: Description 一棵树,支持三种操作,修改点权,修改颜色,问所有与他路径上颜色相同的点的最大权,包含这两个点. Sol LCT. 用LCT来维护重边,对于每个节点在建一个set用来维护轻边,这样Link和Cut是时候就非常好操作了,直接Access一下,Splay一下,直接删掉就可以了. 因 阅读全文
posted @ 2017-01-03 09:27 北北北北屿 阅读(199) 评论(0) 推荐(0) 编辑
摘要: Description 问一棵树上前 \(k\) 大路径的边权. Sol 边分治. 非常感谢数据没有菊花图. 为了写写边分治试试然后就开了这道题. 边分治非常好想,选一条重边,分成两部分,然后分别求最大值,对每个重边建一个堆维护一下,全局堆里存答案. rebuild好像写的有问题啊qwq...疯狂R 阅读全文
posted @ 2017-01-01 11:11 北北北北屿 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Description 一棵树,支持两个操作,修改一个点的颜色,问树上最远的两个白点距离. Sol 动态点分治. 动态点分治就是将每个重心连接起来,形成一个跟线段树类似的结构,当然它不是二叉的... 这样的树一共有 \(logn\) 层,每个节点维护一些信息. s1[] 所有子节点到该节点的父重心, 阅读全文
posted @ 2016-12-28 16:57 北北北北屿 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Description 一棵树,问至少有 \(k\) 个黑点的路径最大异或和. Sol 点分治. 用点分治找重心控制树高就不说了,主要是对答案的统计的地方. 将所有路径按点的个数排序. 可以发现当左端点递增的时候右端点单调递减,时刻满足Trie树里的所有元素都是合法的即可,不断把右端点丢进去,用左端 阅读全文
posted @ 2016-12-24 14:49 北北北北屿 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Description 有些黑点,问你选择不超过 \(k\) 个黑点的路径,路径权值最大是多少. Sol 点分治. 这是qzc的论文题,不过我感觉他的翻译好强啊...我还是选择了自己去看题目... 点分治每次至少分一半,所以层数不超过过 \(logn\) 每次分治只考虑过根节点的情况. 我们想想如何 阅读全文
posted @ 2016-12-23 21:41 北北北北屿 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Description 在某时刻加入或删除一个点,问每个时刻的集合中能异或出来的最大值是多少. Sol 线段树+按时间分治+线性基. 按时间分治可以用 \(logn\) 的时间来换取不进行删除的操作. 把一个数字的存在时间挂在线段树的区间上,不超过 \(logn\) 个区间,所以总和不超过 \(nl 阅读全文
posted @ 2016-12-23 21:29 北北北北屿 阅读(286) 评论(0) 推荐(0) 编辑
摘要: Description 在一个图上,在两个点间连一条边,问这两个点最早在什么时候联通. Sol 并查集+启发式合并. 按秩合并的并查集...我也不知道什么是按秩合并,反正就跟启发式合并差不多,合并的时候将小的往大的里和,因为每次增长都是小集合倍数的两倍以上,所以层数不超过 \(log n\) 然后连 阅读全文
posted @ 2016-12-23 21:22 北北北北屿 阅读(198) 评论(0) 推荐(0) 编辑
摘要: Description 每次可以任取数字,使用最优策略让差最大. Sol DP. 一开始我写了个单调队列贪心,然后狂WA不止... 正着做有后效性,因为前面的决策无法保证在后面是最优秀的,但如果倒这做就没有后效性了..感觉倒着做这种想法总是容易忽略,它对前面的影响应该多考虑一下. 然后DP就可以了. 阅读全文
posted @ 2016-12-23 21:17 北北北北屿 阅读(216) 评论(0) 推荐(0) 编辑
摘要: Description 从一个点到达与他距离第 \(k\) 小的点,问从每个点跳 \(m\) 次到达那个点. Sol 队列+倍增. 保持队列里的元素个数为 \(k\) ,从前往后扫不难发现左右端点都是单调的. 求跳 \(m\) 次就是倍增了,滚一下数组. Code 阅读全文
posted @ 2016-12-23 21:12 北北北北屿 阅读(432) 评论(0) 推荐(0) 编辑
摘要: Description 求一个最长的序列,最大值最小值之差不超过 \(k\) . Sol 单调队列. 一个队列直接上就行.. Code 阅读全文
posted @ 2016-12-23 21:09 北北北北屿 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Description 每次可以将大于 \(k\) 的一个数 \(-1\), 在左边或右边的数 \(+1\) ,问最大能得到多长的序列每个数都大于等于 \(k\) . Sol 单调栈. 这道题好神啊qwq...思路++ 首先如果一段序列满足 \(\sum_{i=l}^ri \geqslant k(r 阅读全文
posted @ 2016-12-23 21:06 北北北北屿 阅读(165) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页