07 2021 档案
摘要:CSDN同步 原题链接 我们先解决弱化版,即 P1090 ,对于 \(n \leq 10^5\) 的数据,如何解决? 很明显我们可以采取贪心,对于 \(a \leq b \leq c\),我们应先将 \(a,b\) 先合并,再与 \(c\) 合并。具体证明: 先并 \(a,b\):\((a+b)+(
阅读全文
摘要:CSDN同步 原题链接 这题做法还算比较明显,\(500\) 的数据范围也暗示了做法。 考虑直接二分所求答案,在 \(\mathcal{O}(n^2)\) 的时间内进行验证。如何验证 \(x\) 的合法性? 可以逐行操作。比如先考虑把第一行分成 \(\geq x\) 的 \(b\) 块。如果不可以,
阅读全文
摘要:CSDN同步 原题链接 板子题。 考虑深搜,确定每个点的时间戳(即搜索顺序的编号吧)\(\operatorname{dfn}\),然后记录 \(\operatorname{size}\) 表示子树大小。为方便进一步叙述,\(\operatorname{Tree}\) 表示子树集。 时间戳的性质,其中
阅读全文
摘要:CSDN同步 默认大家已经会反演。 考虑一道题目: 求 \(\sum_{i=1}^n \mu^2(i)\),其中 \(n \leq 10^{14}\). 没办法操作,考虑感性理解。 求的是 \(1-n\) 中无平方因子数的个数。对于每个素数 \(p1\),因删去 \(\lfloor \frac{n}
阅读全文
摘要:CSDN同步 时间: \(2021.7.26\) \(8:30 - 13:30\). \(2021.7.28\) \(8:30 - 13:30\). 前言(\(Day 0\)) 暑假一直在坚持编程,但是我知道一件事:就算编了整个暑假,也很难回到之前的巅峰水平,因为知识点的遗忘特别特别快。语文背书的上
阅读全文
摘要:CSDN同步 原题链接 朴素动态规划。 用 \(f_{i,j}\) 表示前 \(i\) 种 蚂蚁选了 \(j\) 种 的方案数。类似背包。 首先不考虑个数限制, \(f_{i,j} = f_{i-1,j} + f_{i,j-1}\). 这样完成了多重背包的效果(就是 \(f_i\) 的那一行在不断滚
阅读全文
摘要:CSDN同步 原题链接 多重背包板子。具体可以参考 再谈单调队列优化 & 背包九讲. 这里再仔细讲一下二进制拆分的具体做法。 假设你有 \(7\) 个价值为 \(v_i\),重量为 \(w_i\) 的物体。现在考虑把多重背包变成 \(01\) 背包。如果我们把 \(1\) 个这样的物体看做第一组,\
阅读全文
摘要:CSDN同步 原题链接 首先声明:\(\text{POJ}\) 数据出错,搞成了“一开始在 \(1\) 或 \(2\) 棵树都可以”,导致错误。事实上本题解可以通过。 听说还有一维 \(\text{dp}\) 的啊,相当厉害,可我只会三维的。 考虑令 \(f_{i,j,1/2}\) 表示第 \(i\
阅读全文
摘要:CSDN同步 原题链接 这题有点套路。我一开始的想法是用 \(f_{n,i}\) 表示最大幂次最多为 \(2^i\) 表示 \(n\) 的方案数。然后发现 \(\mathcal{O}(1)\) 转不了。于是废了。 考虑用 \(f_i\) 表示 \(i\) 的答案数。分类讨论。 \(i\) 为奇数时,
阅读全文
摘要:CSDN同步 原题链接 考虑枚举所有情况:最多 \(10 ! = 3.6 \times 10^6\) 种情况。考虑用 \(\mathcal{O}(n)\) 的时间计算出一个长度为 \(n\) 的序列按照此规则合并后的答案。这样不超过 \(3.6 \times 10^7\) 计算可以通过。 \(n=2
阅读全文
摘要:CSDN同步 原题链接 题目不难。 肯定考虑宽搜。 首先搞定一个事实:一个格子不会重复走。如果可以重复走,则必然有可以替代它的不重复走的不劣的方案。很明显:如果你走到一个格子又 可以不 走回来,那就有了替代方案;如果你走到一个格子又 不得不 走回来,那就不走这 \(2\) 步,也有了替代方案。因此,
阅读全文
摘要:CSDN同步 原题链接 其实这题不难。考虑直接搜索所有情况,最多有 \(4^{10} = 1048576\) 种可能的走法,因此深搜即可简单解决问题。注意到需要数组的变化,因此,如果要用宽搜的话很可能记录状态不方便(直接内存炸掉?),深搜传数组是个很好的选择。 注意几个点: 如果某个方向第一个就是个
阅读全文

浙公网安备 33010602011771号