Loading

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 33 下一页
摘要: 我们充分发扬人类智慧,想为什么题目让你构造方案,肯定是因为判断太简单了,直接猜和奇偶性有关。简单手玩一下,发现 \(n\) 为偶数先手胜,\(n\) 为奇数后手胜,开始构造方案。 观察样例,发现 \(n\) 为偶数时可以 \((i, i + n)\) 一组,显然交互库就无能为力了答案要么是 \(( 阅读全文
posted @ 2025-09-09 19:17 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: https://www.cnblogs.com/zxh923aoao/p/18795676 阅读全文
posted @ 2025-09-09 16:13 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 你需要手玩一下样例,会发现这样一个事情: 所谓的 high 集合会一直窝在序列的末尾,而且会吸 low 集合的血,所以整个序列在 \(n\) 次操作内必然完成排序。 你再仔细思考一下就会知道: 第一次操作 \(n\) 必然在 high 集合里,第二次操作 \(n - 1\) 必然在 high 集合里 阅读全文
posted @ 2025-09-09 15:33 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 比较死板的一个 trick。 首先我们设 \(f_{i, j}\) 为以 \(i\) 为根的子树深度为 \(j\) 的方案数,由于是往底下接一个点,容易做到 \(O(n^2)\) 的复杂度。 但是你想想,假设我们目前想求深度为 \(d\) 的概率为多少,考虑最坏情况下到 \(d\) 的路径一共有 \ 阅读全文
posted @ 2025-09-09 14:27 Alexande 阅读(12) 评论(0) 推荐(0)
摘要: 比较牛的贪心题。 你发现一个性质,假设你选出了一个集合 \(S\),最大观看人数的位置为 \(pos\),那么有如下观察: 假设不把 \(pos\) 办掉,那么最大值一定不会变小。 那么,我们肯定是选择把这种 \(pos\) 给办掉。 比较常规的做法是,初始令 \(S\) 为全集,每次删去最大的数, 阅读全文
posted @ 2025-09-08 19:13 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 一个很好诠释连续段 DP 到底能解决什么样问题的一个题。 首先绝对值肯定要办掉,其中一种方式是从小到大加入数。 考虑形成了若干个连续段,那么转移分为以下三种: 新开连续段 增加某个连续段长度 合并两个连续段 那么,我们现在唯一需要考虑的就是答案如何统计,其实我们可以将差拆开,提前将需要的贡献算出来( 阅读全文
posted @ 2025-09-08 09:07 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 这个题除了最后一步都挺简单的。 首先观察到 \(a_i \le 2 \times 10^5\),所以考虑对值域做事情。 依次从小到大考虑,你注意到一件很关键的事情: 当我插入 \(i + 1\) 这个数的时候,必须要先把序列中 \(i\) 的相邻对全部给消掉,否则 \(i\) 的相邻对就永远不可能消 阅读全文
posted @ 2025-09-06 11:32 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 先把情况化成折线图,发现答案就是每层的组合数加起来,由于我们不关心层数,因此我们按照加入点的个数进行 DP。 考虑从上往下 DP,设 \(f_{i, j, k}\) 为填入 \(i\) 个数字,答案为 \(j\),可以填入数的空隙个数为 \(k\) 的方案数,此时我们不计入两边的空隙,但很明显两边的 阅读全文
posted @ 2025-09-06 09:10 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 来补一步两三年前的题。 首先考虑这么一件事情,我第一步应该怎么操作? 我能得到的信息只有 \(res\) 这一个值,又由于我们需要知道大小关系,所以肯定跟 \(1\) 或者 \(2n\) 交换,你发现跟 \(2n\) 换答案就又乱了,于是你和 \(1\) 换。 此时我们发现一个很优美的事情,下一次答 阅读全文
posted @ 2025-09-05 19:23 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 遇到这种题,我觉得最关键的一步是想答案为啥时的必要充分条件是啥。 首先你得观察到答案只会是 \(0, 1, 2\) 中的一个。 你先这么想,序列里有 \(1, 2, 3\),由于 \(3\) 我们肯定很不好处理,因为其与 \(1, 2, 0\) 有很多个运算结果,我们此时希望把 \(3\) 干掉。于 阅读全文
posted @ 2025-09-05 14:45 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 又是一个结论题。 首先你发现一个事情,将序列前缀和,那么有解的条件就是无论怎么放,都有两个 \(\mod k\) 相等的位置,根据鸽巢原理,当 \(n \ge k + 1\) 时必有解。 实际上,先全放 \(1\),然后每隔 \(k\) 个多放 \(k\) 个就是最坏的情况了,具体可以手玩一下,感觉 阅读全文
posted @ 2025-09-04 19:47 Alexande 阅读(16) 评论(0) 推荐(0)
摘要: 这种统计方案数的题就是 DP 了。 考虑取到最小值需要满足什么条件,更具体的,你想一想,如果有相邻的 \(h_i, h_{i + 1}\),那么用交换一下贡献相减,会发现选更大的那个是更优的,这从直觉上也说得过去。 因此,肯定相邻两个,选更大的,我们设 \(f_{i, j}\) 为前 \(i\) 棵 阅读全文
posted @ 2025-09-04 19:08 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 非常好的期望概率题。 首先枚举根,根据期望的线性性,答案即为每对逆序对期望出现次数之和。 我们发现,两个点谁先到谁后到只与它们到 \(lca\) 处的距离有关,我们先处理出 \(f_{i, j}\) 表示第一个数走了 \(i\) 步,第二个数走了 \(j\) 步的概率,然后最后全部相加除以 \(n\ 阅读全文
posted @ 2025-09-04 16:05 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: Round 1 调配 我们设 \(f_{i, j, k}\) 为到 \(i\) 总和为 \(j\) 且选的个数为 \(k\) 的方案数,显然背包转移,然后最后算答案算个平均值即可。 运输 我的赛时想法是在 dijkstra 维护 DP 数组 \(f_{i, j}\) 表示到了 \(i\),最小边权为 阅读全文
posted @ 2025-09-03 16:48 Alexande 阅读(35) 评论(0) 推荐(0)
摘要: 首先树上差分,将链上问题转化为两点异或。 发现不为 \(0\) 的相同值肯定成对异或最优,这样就变成了值不超过 \(15\) 且互不相同的数,每次要你选择两个数,异或上一个值。 然后如果 \(k\) 个异或为 \(0\) 的元素可以直接消成 \(0\)(少一次操作),否则直接做就是 \(k\) 次。 阅读全文
posted @ 2025-09-02 20:06 Alexande 阅读(12) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 33 下一页