摘要:
可能是一个比较劣的做法。 但复杂度是对的。 思路 我们容易发现状态数非常的稀少。 一个比较宽松的上限时 \(3^{13}\) 种状态 由于每个点每走一步会吃掉一个棋子。 所以实际的状态是远远达不到这个上限。 那么我们可以直接设 \(dp_{i,0/1,0/1}\) 为在 \(i\) 状态下,目前是 阅读全文
摘要:
一维积性函数前缀和 前置知识 powerful number 定义:\(\text{powerful number}\) 是没有 \(1\) 次质因子的数,也简称为 \(\text{PN}\)。 结论:\(n\) 以内的 \(\text{PN}\) 个数为 \(O(\sqrt n)\)。 证明: 所 阅读全文
该文被密码保护。 阅读全文
摘要:
好好玩的题。 思路 对于前 \(K\) 小方案问题。 我们可以考虑当前方案对下一个方案的转移。 重点在于转移的最优化与不重不漏。 只有一种种类 假设没有 \(l,r\) 的限制怎么做。 我们不妨把所有价格排序。 发现一种状态转移到另一种状态,无异与将其中已选择的一个物品不选,选择他后面的一个物品。 阅读全文
摘要:
思路 考虑两个人什么时候会相遇。 根据小学的相遇追及问题,两人会相遇的条件为: \[2\times k\times l=t\times (v1+v2) \]\[2\times k\times l=t\times (v1-v2) \]那么对于一个速度 \(v\)。 它可一相遇的次数即为: \[\fra 阅读全文
摘要:
来个乱搞。 思路 考虑分治。 对于最裸的暴力。 我们可以调用 solve(l, r) 进行查询。 假如这个区间的众数的出现次数是区间长度,那么可以直接退出,否则我们可以继续分治。 我们把这个暴力进行加工一下。 我们知道 \(l\sim r\) 的区间众数后。 查询 \(l\sim mid\) 的区间 阅读全文
摘要:
非常好题目。 思路 可以发现限制最严的一定是两个叶子的联通性。 我们不妨把一个叶子向外起到联通性作用的路径称为有用的路径。 也就是这个叶子走这条路径一定可以两步以内到达任意点。 这个路径集合有什么作用呢。 有一个性质:整个集合的路径的交最终会形成一个连通块。 那么我们就可以进行求解方案数。 考虑容斥 阅读全文
摘要:
比较好的莫队题。 思路 考虑使用莫队解决这个问题。 我们对于每个元素,统计 \(b_i=\sum_{j=1}^i [a_j<a_i]\)。 那么我们每一次新加入一个元素产生的贡献为 \(\sum_{j=l}^r [a_j=a_r](b_r-b_j)\)。 发现我们只需要统计 \(\sum_{j=l} 阅读全文
摘要:
非常好题目,使我代码长度起飞。 思路 发现 \(K\) 只有三种取值。 考虑分类讨论。 k=1 容易发现只需要求一个端点是 \(1\) 的最长链。 k=3 考虑这个时候我们将有一个遍历整个树的方案。 考虑递归的处理整个问题。 我们从该节点跳到它一个儿子的儿子。 然后递归处理这个儿子的儿子。 然后再跳 阅读全文