随笔分类 -  杂题乱刷

摘要:upd: 哎哎哎,原来的题解没怎么写证明被叉了 /yun 所以我来补下证明。 upd2: 修改代码,增加代码可读性。 题目链接 P10678 『STA - R6』月 解题思路 时间复杂度优于官解的做法。 首先我们观察到一个性质就是 \(\sum a_i = 2 \times (n - 1)\),因为 阅读全文
posted @ 2024-07-02 16:51 wangmarui 阅读(28) 评论(0) 推荐(0)
摘要:题目链接 AT_abc360_d (luogu) AT_abc360_d (atcoder) 解题思路 一个性质是,往左边走的蚂蚁无论怎么样都追不到左边的蚂蚁,而往右边走的蚂蚁无论怎么样都追不上右边的蚂蚁。 因此我们考虑将蚂蚁分为往左往右走的两堆。 发现对于每个蚂蚁都能走过一段区间,因此直接二分将右 阅读全文
posted @ 2024-07-02 16:49 wangmarui 阅读(61) 评论(0) 推荐(0)
摘要:题目链接 CF1987D World is Mine 提示 Alice 的策略是固定的。 考虑用动态规划解决问题。 解题思路 我们发现,Alice 的最优策略一定是每次取当前能取的美味值最小的蛋糕,而 Bob 的策略难以使用贪心维护。 于是我们考虑用动态规划来考虑 Bob 的策略。 我们发现,Bob 阅读全文
posted @ 2024-07-01 02:26 wangmarui 阅读(85) 评论(0) 推荐(0)
摘要:原题大赛。 一句话做法:取当前最优的比取当前劣的要更优。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 阅读全文
posted @ 2024-06-23 02:05 wangmarui 阅读(33) 评论(0) 推荐(0)
摘要:一个思想。 先计算出 \(a_i + b_j\) 的前 \(k\) 个,然后直接和这个和加上 \(c_k\) 再取前 \(k\) 个就行了。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不 阅读全文
posted @ 2024-06-23 01:43 wangmarui 阅读(38) 评论(0) 推荐(0)
摘要:状压板子。 \(dp_{i,j}\) 表示考虑到第 \(i\) 为状态为 \(j\) 的方案数。 时间复杂度 \(O(n \times 2^k)\)。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 阅读全文
posted @ 2024-06-23 01:31 wangmarui 阅读(28) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.15(补) 链接 (luogu) 链接 (atcoder) abc 最水的 G 了吧。 你发现,你最后肯定全在在同一个点上不动,而且你一定可以在 \(n \times m\) 回合内走到这个点,因此我们直接 \(dp_{i,x,y}\) 表示走 \(i\) 步到 \((x 阅读全文
posted @ 2024-06-16 22:49 wangmarui 阅读(35) 评论(0) 推荐(0)
摘要:代码训练 2024.6.16. 二分并查集板子。 链接 直接上代码。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Pr 阅读全文
posted @ 2024-06-16 00:29 wangmarui 阅读(24) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.14. bfs 板子题。 链接 (luogu) 链接 (atcoder) 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 阅读全文
posted @ 2024-06-14 22:52 wangmarui 阅读(27) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.13. 题目链接 CF1985F (CF) CF1985F (luogu) 解题思路 由于一个回合可以用所有无冷却的技能,因此我们对于技能肯定是能用就用的。 进而推出答案具有单调性。 直接二分答案即可,注意二分边界问题,这里我开了 __int128 来避免这个问题。 参考 阅读全文
posted @ 2024-06-13 23:22 wangmarui 阅读(59) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.10.(补) 链接 (luogu) 链接 (atcoder) 数位 dp 板子题。 dfs(last,sum,_1) 剩下未搜的数位数,当前非零数位数,目前是否取满。 这里采用记搜的写法。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是 阅读全文
posted @ 2024-06-11 23:25 wangmarui 阅读(18) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.11. 链接 (luogu) 链接 (atcoder) 分层图板子。 结束。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rati 阅读全文
posted @ 2024-06-11 23:10 wangmarui 阅读(20) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.9. 链接 greedy。 从高往低枚举二进制位,check 方式显然。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外 阅读全文
posted @ 2024-06-10 02:12 wangmarui 阅读(21) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.8. 题目链接 链接 (atcoder) 链接 (luogu) 解题思路 数据结构板子题。 设 \(ans_i = a_i \times b_i\)(\(a_i\) 和 \(b_i\) 是此时的 \(a_i,b_i\))。 设 \(f1(i,j)\) 表示 \(a_i + 阅读全文
posted @ 2024-06-08 23:06 wangmarui 阅读(27) 评论(0) 推荐(0)
摘要:代码康复训练 2024.6.7 无所谓,随便贪。 直接取前 \(x\) 大的红苹果,前 \(y\) 大的绿苹果和和所有无色苹果合起来取最大的 \(x + y\) 个苹果的值加起来即可。 容易证明一定合法。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是 阅读全文
posted @ 2024-06-07 22:41 wangmarui 阅读(24) 评论(0) 推荐(0)
摘要:代码恢复训练 2024.6.7. 题目链接 CF1979C (codeforces) CF1979C (luogu) 解题思路 我们发现,如果答案序列的和小于等于 \(x\) 时是合法的,那么容易得出答案序列的和小于等于 \(x + 1\) 时也是合法的。 因此我们发现答案序列的和的合法性是具有单调 阅读全文
posted @ 2024-06-07 22:23 wangmarui 阅读(28) 评论(0) 推荐(0)
摘要:代码康复训练 2024.6.6. 链接 并查集板子。 直接看代码。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Pro 阅读全文
posted @ 2024-06-06 22:18 wangmarui 阅读(17) 评论(0) 推荐(0)
摘要:代码恢复 2024.6.5。 链接 很简单。 直接找循环节就行了。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! 阅读全文
posted @ 2024-06-05 22:14 wangmarui 阅读(37) 评论(0) 推荐(0)
摘要:链接 没啥好说的,直接看代码吧。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 算法: 思路: */ 阅读全文
posted @ 2024-06-01 19:54 wangmarui 阅读(17) 评论(0) 推荐(0)
摘要:链接 (Link) 一个好题。 就是说,你直接先求出这个数列的异或和,然后发现之后就可以两两匹配,如果无法匹配就默认这个数为 \(0\),然后做完了。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 阅读全文
posted @ 2024-05-31 13:01 wangmarui 阅读(21) 评论(0) 推荐(0)