随笔分类 -  知识总结 / TRICK

1
摘要:https://codeforces.com/problemset/problem/1920/C 同余的一个性质: 证明很显然,但是想不到这个性质 题意 给你 n 个数,划分 k 段,每段在对 m(m2) 取模之后相等即为一个合法方案,问有多少个合法方案。 断点 // 阅读全文 »
posted @ 2024-09-25 14:06 加固文明幻景 阅读(15) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/contest/1879/problem/D 关键在于互换两个 ​ 的顺序 一般像这样计算所有子区间的式子,如果要优化成接近线性,有一种可行思路是把注意力放在右端点,通过不断移动右端点,在移动的时候利用前面的统计结果算出移动右端点后的结果 阅读全文 »
posted @ 2024-06-15 16:23 加固文明幻景 阅读(26) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/contest/1660/problem/F2 同余分组,树状数组维护逆序对 先承继F1的做法,维护一个前缀和数组,让 s[i] == '+' 为 1,s[i] == '-' 为 1。 那么要满足两个条件: \(pre_r - pre_ 阅读全文 »
posted @ 2024-05-28 20:36 加固文明幻景 阅读(11) 评论(0) 推荐(0) 编辑
摘要:Problem - 1373D - Codeforces 先看出了一个很显然的东西,逆转的子序列的长度必须是偶数。 但之后就想错了,想到双指针和其他方法去求这个最大段。 但我粗暴的通过 ai+1ai 来贪心双指针明显是不对的。 最大子段和 只要把 \(a_{i + 1} - 阅读全文 »
posted @ 2024-03-28 19:03 加固文明幻景 阅读(18) 评论(0) 推荐(0) 编辑
摘要:Problem - D - Codeforces 用记忆化搜索过的,然而DP能快300ms 记忆化搜索 | set模拟 核心思路一致,都是通过定义一个状态,即在第t次到达第now点来去重剪枝 记忆化搜索 int n, m, x; std::vector<std::pair< 阅读全文 »
posted @ 2024-03-13 12:50 加固文明幻景 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Problem - G - Codeforces 思路 一开始写了一个无脑BFS剪枝求最短路,然后顺带更新最小线路数量,被hack了。 应该直接针对问题处理,通过BFS直接求最小线路数量。 这题可以转化成对于一个单点,只有两种选择 走与当前颜色相同的点,答案不变 走与当前颜色不同的点,答案加一 这被 阅读全文 »
posted @ 2024-03-12 21:26 加固文明幻景 阅读(51) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/CF1702E 转化题意 把所有数连边,判断是否为二分图。 染色法 void solve() { #define tests int n; std::cin >> n; std::map<int, std::vector<int>> 阅读全文 »
posted @ 2024-03-12 21:11 加固文明幻景 阅读(10) 评论(0) 推荐(1) 编辑
摘要:Problem - 1730B - Codeforces 贪心解法 ab∣=max(ab,ba) 由绝对值的性质易证。 那么直接把 ti 算到距离中,转换成求最左和最右“坐标”的中间点的简单问题。 //通过把t[i]算到距离中,转换成求最左和最右坐标的中间点的简单情况 v 阅读全文 »
posted @ 2024-03-12 17:32 加固文明幻景 阅读(11) 评论(0) 推荐(0) 编辑
摘要:Problem - B - Codeforces 维护前缀区间mex和后缀区间mex,枚举二者相同的断点 原理 随区间增长,mex 只可能增,不可能减,所以可以用一个变量维护目前的 mex,区间扩大后可以直接沿用较小区间的 mex,再处理增加即可。 维护 \ 阅读全文 »
posted @ 2024-03-10 14:02 加固文明幻景 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Problem - 1676H2 - Codeforces 思路 原问题可以以直接转化成求 ai>=aj(i<j) 的数量。 归并排序 原理很直接,归并排序就是为了减少逆序对的数量,所以直接在操作的时候记录减少的数量即可 排序后的数组无逆序对,归并排序的合并操作中,每次后段首元素被 阅读全文 »
posted @ 2024-03-07 13:39 加固文明幻景 阅读(20) 评论(0) 推荐(0) 编辑
摘要:Problem - C - Codeforces. 思路 首先很显然对 b 数组排序能最小化 b 的花费。 难点在 a 的选择,因为已经对 b 排序,不可能再兼顾 a 的优劣,所以 a 需要类似枚举的技术,这是一个类似搜索最优子集的问题,可以用 \(D 阅读全文 »
posted @ 2024-03-06 11:43 加固文明幻景 阅读(29) 评论(0) 推荐(0) 编辑
摘要:Problem - B - Codeforces 被DP给限制思路了 思路 其实可以枚举前四个硬币的数量,然后通过倍数关系和更优的方案来限制每个硬币的枚举区间,最后再对剩余的值是否是最后一个硬币的倍数做检查,是就根据最小更新答案。 一块钱最多两个,因为三个就可以直接用三块钱代替 三块钱最多一个,因为 阅读全文 »
posted @ 2024-03-02 11:36 加固文明幻景 阅读(20) 评论(0) 推荐(0) 编辑
摘要:Problem - B - Codeforces 思路出来之后,需要计算 l,r 区间的个数。 我想的是计算出 [0,r] 的个数和 [0,l] 的个数,然后相减。 大体上是没问题,但是我的实现麻烦而且有错误。 初始代码 void solve() { ll l, r; cin 阅读全文 »
posted @ 2024-02-01 16:07 加固文明幻景 阅读(12) 评论(0) 推荐(0) 编辑
摘要:基本情况 A、B秒了,C二进制拆位处理短板,卡了很久,D没想出来,甚至二分都没考虑。 C. XOR-distance Problem - C - Codeforces 这题算是给我上了一课, 二进制拆位处理真该好好学学了。 思路 思路很好想,从高位往低位处理: 先找到最高的不同的位 如果是上 \(1 阅读全文 »
posted @ 2024-01-31 16:00 加固文明幻景 阅读(27) 评论(0) 推荐(0) 编辑
摘要:Problem - 1819A - Codeforces 快速计算mex int calcMex(vector<int> v) { sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end()) int n = int(v 阅读全文 »
posted @ 2024-01-25 09:12 加固文明幻景 阅读(27) 评论(0) 推荐(0) 编辑
摘要:Problem - 1875C - Codeforces 本题判断无解的时候要判断该数是否为 2 的 k 次幂,我的做法是预处理出 2 的次幂数表。 看题解发现可以用 lowbit 操作。 lowbit操作 int lowbit(int x) {return x & (-x);} 根据补码原理,该操 阅读全文 »
posted @ 2024-01-22 16:39 加固文明幻景 阅读(11) 评论(0) 推荐(0) 编辑
摘要:Problem - 1878E - Codeforces 这题我想到了个大概,按位与的话结果肯定是递减的,而且要从二进制每一位下手,但是思路只停留在暴力对整个数操作。 当然,利用这个性质,肯定要二分。 拆位思想 比如要计算 1110001 1101110 0100010 我们知道最后结果肯定是留下都 阅读全文 »
posted @ 2024-01-22 15:51 加固文明幻景 阅读(59) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/problemset/problem/1901/C 我发现对于向下取整向上取整的题目(不特指除二),没有一些常见的思路积累。 Description 给定一个长度为 n 的序列 {an}。每次操作你需要选择一个整数 x 并将 阅读全文 »
posted @ 2024-01-21 21:39 加固文明幻景 阅读(28) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/CF1904C 分讨,然后 k=2 的时候肯定要写暴力,但是我的暴力很不优雅。 石山 void solve() { int n, k; cin >> n >> k; vector<ll> a(n + 1); for (in 阅读全文 »
posted @ 2024-01-21 19:08 加固文明幻景 阅读(14) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/CF1729C 思路相对好想,无非是把大小在头尾之间所有元素都走一遍。 但是实现上很有说法。 我的实现 就是把下标和值存到数组,然后按值排序。 找到下标为首、尾的元素排序后的坐标,然后做差。 但这里涉及非常多细节问题 做差得出的数字量 阅读全文 »
posted @ 2024-01-20 15:18 加固文明幻景 阅读(10) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示