随笔分类 - 模拟赛
摘要:2025 暑期模拟赛题目选记 字符替换 是洛谷 P8885 的加强版。 首先考虑字符串本质不同子序列怎么求。考虑 dp。经典的 dp 是设 \(f_i\) 表示以字符 \(i\) 结尾的本质不同子序列的个数。设 \(f_s\) 表示 \(\sum f_i\),那么加入字符 \(c\) 后有 \(f_
阅读全文
摘要:CSP-S 模拟赛 29 T1 \(n\le 18\) 显然是状压 dp。 考虑设状态 \(dp_{i,j}\) 表示状态为 \(i\),最终的 \(a\) 为 \(j\) 时的最大代价及方案数。转移是简单的。 优化是观察到最终的 \(a\in(\max a_i,\max a_i+1)\)。那么这一
阅读全文
摘要:CSP-S 模拟赛 28 T1 签到题。对 \(b\) 分解质因数后便容易求解。 T2 考虑枚举 \(\gcd(S)\) 的取值 \(x\),则 \(\operatorname{lcm}(S)=m-x\)。 那么同时变形 \(\gcd\) 和 \(\operatorname{lcm}\) 变为 \(
阅读全文
摘要:CSP-S 模拟赛 37 T1 口胡题。显然尽量靠近中间更优,且选端点一定不劣,于是依据结论将中点设为所有端点的中位数。 代码: #include <bits/stdc++.h> #define N 300005 #define int long long using namespace std;
阅读全文
摘要:CSP-S 模拟赛 36 T1 由于 \(a_i\le 10^5\),那么考虑枚举这个 \(\gcd\),考虑求 \(f(i)\) 表示答案,那么 \(\operatorname{ans}=\sum i\times f(i)\)。然而式子中有 \(\gcd\),于是考虑求 \(g(i)\) 表示 \
阅读全文
摘要:CSP-S 模拟赛35 T1 其实是傻逼题。常见的套路是枚举右端点,动态维护左端点的贡献。发现右端点移动一位只会对一种颜色有影响,那么考虑线段树维护区间的答案,区间加减每个颜色即时的贡献即可。 代码: #include <bits/stdc++.h> #define N 1000005 #defin
阅读全文
摘要:CSP-S 模拟赛34 T1 考虑对原序列将 \(k\) 的左右分成两个序列。simple 的想法是分别从 \(1\) 开始跑前缀和,每一次总跑到下一个小于它的点,然后依次类推。发现这样做碰到序列最小值之后难以继续。 然而我们发现这样跑点的过程从前往后和从后往前是等价的。这样考虑的原因是发现这样的选
阅读全文
摘要:$Day1$ T1 送分题,分解质因数,分别加入两个桶里,然后随便怎么乱搞比对一下就行。 代码: #include <bits/stdc++.h> #define int long long #define mod 1000000000 using namespace std; int n, m;
阅读全文

浙公网安备 33010602011771号