整理日期按学习顺序编排,不代表原始发表时间。实际整理于 2026-10-23。
难度为阅读建议,可从 ACM 学习索引 按阶段阅读。
反悔贪心
文章作者: WTY
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 爱飞鱼的blog!
相关推荐
整理日期:2026-10-10
5157
https://www.acwing.com/problem/content/5157/ 利用贡献思想入门的一道题,对于看起来复杂的问题,我们去考虑每一个元素在每一轮中的贡献,如果这道题不理解了可以去看视频讲解,里面说的非常明晰。 在本题实现过程中需要找到找到数组中的最大数,并且统计有几个同时最大的数,我的实现非常不好,用stl麻烦了,参考一下别人优雅的实现。 123456for (int i = 0; i < n; i ++ ) { int t = ++ cnt[s[i]]; if (t > mx) mx = t, ct = 1; else if (t == mx) ct ++ ; } 上面代码中不断维护最大值以及最大值的数的个数 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include <bits/stdc++.h>using...
整理日期:2026-10-05
Acwing第 131 场周赛 之找最值过程中维护某个性质的方案
https://www.acwing.com/problem/content/5367/ 题目如果只需要输出最大值,我都没有问题。每次需要输出方案的时候,我似乎都需要先统计最大值,再重新扫描一遍找所有能够取得最大值的方案,然后在这些方案中找到最大值。最好的做法应该是在找最大值的过程中就维护题目要求方案的排序关键字,有时候这个关键字不是我们枚举顺序能决定的,我们就需要单独处理。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071// Problem: 奶牛报数// Contest: AcWing// URL: https://www.acwing.com/problem/content/5367/// Memory Limit: 256 MB// Time Limit: 1000 ms// // Powered by CP Editor...
整理日期:2026-08-25
CCF认证——202109-2 贡献的变化——差分维护,前缀和算答案
https://www.acwing.com/problem/content/4010/ http://118.190.20.162/view.page?gpid=T130 脑子一热抱着玩的心态试了一下三分,当然炸了,就当初认识三分了。 正解是考虑p的变化的影响,p变成p+1的时候,答案的值取决于 p属于 相邻递增数对的值域区间 的数量。也可以考虑递减的情况,两种情况只需要考虑一种,对所有数都考虑都考虑那一种就可以了,两种代码都AC了。 分析:如果 a[i]>a[i−1] 意味着当p取到 a[i−1]+1 到 a[i] 之间的值时,非零段+1 使用数组cnt[],cnt[i]...
整理日期:2026-06-14
bitset应用
bitset bitset前身:普通状态压缩的优化 以cf937G为例,对于邻接矩阵的由二维压缩到一维 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include <bits/stdc++.h>using i64 = long long;void solve() { int n; std::cin >> n; std::vector<std::string> g(n), w(n); for (int i = 0; i < n; i++) { std::cin >> g[i] >> w[i]; } std::vector<int> e(n); for (int i = 0; i < n; i++) { for (int...
整理日期:2026-06-13
bitset专题
bitset bitset前身:普通状态压缩的优化 以cf937G为例,对于邻接矩阵的由二维压缩到一维 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include <bits/stdc++.h>using i64 = long long;void solve() { int n; std::cin >> n; std::vector<std::string> g(n), w(n); for (int i = 0; i < n; i++) { std::cin >> g[i] >> w[i]; } std::vector<int> e(n); for (int i = 0; i < n; i++) { for (int...
整理日期:2026-04-12
cdq分治
cdq分治
目录
最新文章
