2021.10.12pm
10.12PM
| 预期 | 实际 | |
|---|---|---|
| A | 100 | 100 |
| B | 100 | 70 |
| C | 50 | 70 |
| S | 250 | 240 |
一定水,肯定菜
A [SCOI2010]传送带 \(\blacktriangle\!\blacktriangledown\)
第一次三分。- 定下一条线段的一个转折点后,由于距离是根号下某些值的平方和,所以是个单峰。
- 而每个左转折点都有唯一一个右转折点与之对应,所以也是个单峰。
- 所以三分套三分。
B [SCOI2010]幸运数字 \(\blacktriangle\!\blacktriangledown\)
-
总共有2046个幸运数。
-
由于是个区间,可以计算两次的前缀和相减。
-
而近似幸运数个数是 \(maxn/lyckynumber\)。
-
但近似幸运数之前会有重叠,所以容斥。
-
这道题容斥得 \(dfs\) ,需要剪枝。
- 从大到小排序,这样大的不会重复访问。
- 预处理去掉出现整倍的情况。
-
判断的时候会出现\(1e10*1e10\) 的情况,把乘换成除就okk了。(double 也行)
C [SCOI2010]股票交易 \(\blacktriangle\!\blacktriangledown\)
- 首先考虑只有 \(70pts\)的\(O(n^3)\)的DP。
\[dp[i][j]=\max(dp[i-w-1][k]+k*bp[i])-i*bp[i](k \le maxp,k \le j+bs[i]\\
dp[i][j]=\max(dp[i-w-1][k]+k*ap[i])-i*ap[i](k \ge 0,k \ge j-as[i])
\]
- 由于 \(\max\) 中的东西与 \(j\) 没关系,所以可以提出来或者同时更新以进行优化。
- 而由于是找某一段区间的最大值,联想到滑动窗口,单调队列优化。 \(over\)

\(\cal {Made} \ {by} \ {YuGe}\)
浙公网安备 33010602011771号