随笔分类 - 洛谷
摘要:题目链接 【MX-X8-T3】「TAOI-3」地地爱打卡 (*1700) 解题思路 真不难吧,只是一个简单分讨,注意到这是一个无向图,因此我们特判以下几种情况: 若 \(s,t\) 不在一个连通块中,则点 \(s\) 一定不能到达点 \(t\),输出 expand,这个部分可以简单使用并查集维护。
阅读全文
摘要:题目链接 P11267 【MX-S5-T1】王国边缘 解题思路 先考虑对于 \(1 \sim n\) 中的每一个点往后跳 \(1\) 次会跳的距离。 那么为什么只用处理 \(1 \sim n\) 这些点而不去处理其余的点往后跳的距离呢? 我们可以发现,由于字符串是无线循环的,所以对于位置模 \(n\
阅读全文
摘要:upd: 哎哎哎,原来的题解没怎么写证明被叉了 /yun 所以我来补下证明。 upd2: 修改代码,增加代码可读性。 题目链接 P10678 『STA - R6』月 解题思路 时间复杂度优于官解的做法。 首先我们观察到一个性质就是 \(\sum a_i = 2 \times (n - 1)\),因为
阅读全文
摘要:原题大赛。 一句话做法:取当前最优的比取当前劣的要更优。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem:
阅读全文
摘要:代码训练 2024.6.16. 二分并查集板子。 链接 直接上代码。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Pr
阅读全文
摘要:代码恢复训练 2024.6.9. 链接 greedy。 从高往低枚举二进制位,check 方式显然。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外
阅读全文
摘要:链接 没啥好说的,直接看代码吧。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 算法: 思路: */
阅读全文
摘要:链接 (Link) 一个好题。 就是说,你直接先求出这个数列的异或和,然后发现之后就可以两两匹配,如果无法匹配就默认这个数为 \(0\),然后做完了。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf
阅读全文
摘要:链接 发现这东西就很根号分治。 考虑两种情况: \(k \le 1000\),这部分直接用前缀和维护然后暴力做,时间复杂度 \(O(kq)\)。 \(k > 1000\),此时 \(n \le 500\),这部分直接预处理答案,时间复杂度 \(O(n^2 k)\)。 两个时间复杂度均正确,因此可以通
阅读全文
摘要:题目链接 P10467 [CCC 2007] Snowflake Snow Snowflakes 解题思路 字符串哈希板子题。 思路就是我们给每个数列的所有排列都哈希一个值,然后判断是否有不同的数列的哈希值相同,如果有,就输出 Twin snowflakes found.,否则就输出 No two
阅读全文
摘要:题目链接 P10468 兔子与兔子 解题思路 字符串哈希板子题。 思路就是我们给字符串的每一个前缀和后缀都用一种特定的方式使其变为一个值,比如取一个乘数和模数,可以证明这样出错的概率极低。 参考代码 这里使用自然溢出三哈希。 #include<bits/stdc++.h> using namespa
阅读全文
摘要:典题。 发现问题可以变为枚举 \(i\),求出两两数 \(gcd\) 为 \(i\) 的个数,但是这样还是 \(O(n^2)\) 的。 然后可以将两边同时除以 \(i\),原式变为 暴力筛复杂度是 \(O(n\log_2(n))\) 的,加个前缀和时间复杂度为 \(O(n)\)。 点击查看代码 /*
阅读全文
摘要:先上 AC 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits/stdc++.h> using namespace std; #define map unordered_m
阅读全文
摘要:链接 套路题。 最小值: 排序后直接分讨即可。 最大值: 排序后枚举开头为 \(a_1\),\(a_n\) 的情况后双指针贪心即可。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #includ
阅读全文
摘要:题目链接 P8866 [NOIP2022] 喵了个喵 解题思路 这种题放在 T2 还是把总得分设为四道题目的得分的异或值吧。 调了一个下午。 测试点 \(1 \sim 3\): 一个显然的结论,每个栈最多有两个数字的时候最优。 我们可以留下一格栈作为辅助栈,用来消除用,其他栈随便放,容易发现,一个元
阅读全文
摘要:链接 下位蓝。 题目可以用尺取法 + 区间加的方式来做。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits/stdc++.h> using namespace std
阅读全文
摘要:题目链接 最典的状压 dp 了。 直接枚举每个状态然后用 01 背包的方式做即可。 时间复杂度 \(O(n2^m)\)。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits
阅读全文

浙公网安备 33010602011771号