CSP-S模拟赛5 总结
CSP-S模拟赛5 总结
bobo 给所有题都换了个皮。。。
这场 T1 拉大分,要敢于想正解啊!
T1 十年之约 (\(30pts\))
赛时
荣获全场最低昏。。。
打了个 30 \(O(n\sqrt n)\) 就滚了,想到了两种能过的做法但都不敢打。。。
正解
太简单了讲粗略点、
注意到 \(f\) 到四十几就飞出 \(10^{16}\) 了。
于是考虑预处理出 \(\text{lcm}\) 前缀,查询时小小容斥一下即可。
T2 可爱三小只(\(60pts\))
赛时
把所有部分分都吃干净了,大众操作。
正解
考虑:
- 操作顺序可以随便挑
- 对于减少一整行,对于列的最优操作无关,因为全都减了就相当于全没减。
于是预处理出减 \(i\) 次行/列的操作,枚举减了几次行/列即可。
T3 蛋蛋塌了(\(50pts\))
赛时
吃了两挡后懒的打线段树,态度堪忧。
正解
拆贡献,显然有:
\[ans=\sum_{i=1}^n\sum^n_{j=i+1}\frac{p_ip_j}{2^{j-i+1}}
\]
然后这就是两档的思路了。
考虑用线段树维护即可。
T4 西安行(\(30pts\))
赛时
大众50->小众30
正解
考虑设 \(dp_i\) 表到了 \(i\) 并在这里分隔的答案,有:
\[dp_i=\sum^{i-1}_{j=0}dp_j(i-j)^2
\]
然后拆开后矩阵优化即可。

浙公网安备 33010602011771号