刷题记录——MISTAKES 慢慢更新
截止到:20231020(有时会忘记改日期)。
信友队——CSP-S 2023 复赛模拟赛
T2 忘了取模和二分了,直接爆 longlong 和 TLE 然后 \(0\text{pts}\).
CF1065C Make It Equal
桶桶桶桶桶!!!\(2e5\) 你不用桶难道还要二分的吗?
洛谷 CSP-S 2023 模拟赛
模 \(998244353\) 意义下的乘法一定要开 longlong!!!
要记住:\(998244352\times998244352=996491786299899904\)!
市南集训
T2 哈希算阶乘别忘了取模!!!
frac[i] = frac[i - 1] * P; // WA
frac[i] = frac[i - 1] * P % M; // AC
永远不要相信出题人!哈希取模永远不要相信 \(998244353\) 和 \(19260817\)!永远不要相信自然溢出!永远不要偷懒写一个哈希!无论多水也必须写两个哈希!\(10^9+7\oplus10^9+9\) YYDS!
2023年码谷提高组模拟赛1016
存图,每条边存 \(2\) 遍然后开 \(1\times N\) 的数组 \(\texttt{RE}\)。
\(\texttt{queue}\) 跑 BFS 忘 pop。
ABC324C
双指针跑[一个不同字符的]字符串匹配!不要相信吸氧的 \(\texttt{substr}\)!
删除 \(\text{debug}\) 的时候不要忘记删去 \(\texttt{continue;}\)。
精度要求 \(10^{-9}\),开 \(\text{eps}=\texttt{1e-5}\),要精度不要复杂度 \(\texttt{TLE}\)。
正难则反——问满足条件 \(A\) 的里面有多少满足条件 \(B\) 的,可以等价转换为满足条件 \(B\) 的里面有多少满足条件 \(A\) 的,只需要找数量少或容易实现的做即可,可以枚举或 \(\texttt{...}\)
ABC251D
若干个数,\(+,\vee,\wedge\) 构造数字的,考虑 \(10/2\) 进制。
CF620E
\(\texttt{1<<n}\rightarrow\texttt{1ll<<n}\)!
线段树的易错点:
- 搞清楚转移范围:\([l,r]\Rightarrow[l,\text{mid}]+[\sout{\text{mid}}\text{ mid}+1,r]\);
- 搞清楚 \(\texttt{push}\) 啥,一般来说,\(\texttt{mark}\) 记录这个区间被修改为/加上多少,\(\texttt{push}\) 只能把数据转移到子节点,不覆盖本节点,即
s[k * 2] = s[k * 2 + 1] = mark[k]; mark[k * 2] = mark[k * 2 + 1] = mark[k]; mark[k] = 0;
,因此在函数中调用 \(\texttt{push}\) 也一定在所有条件判断完之后,即if (l > q || r < p) return 0; if (l >= p && r <= q) return s[k]; push(k);
; - 千万不要忘记 \(\texttt{build}\),除非初始值全为 \(0\);
- 要开 \(3\) 倍空间!!!