NOI2019 Day1

就准备这样面对你的 NOI 吗?

问题:

  • 对拍,极限数据,构造数据。不要老觉得过了大洋里就可以万事大吉跑路了。
  • 自己觉得写不完的东西,一定不要上来就写。
  • 读题。读题。读题。实在改不了就每题都先写个暴力验证题意。
  • 学会放题。一个题实在想不明白就退而求其次。保持冷静。
  • 尽量一遍写对。

分数:\(55 + 0 + 0=0\),原因如上。

题解:

T1

考虑按时间顺序 dp。将边按开始时间加入,设 \(f_i\) 为经过第 \(i\) 条边的最小花费,转移是一个斜率优化的形式。

T2

尝试转化题中条件,猜出来几个零星的必要条件,但是并没有什么用。那么直接考虑序列的生成过程。

考虑最值分治,最大值钦定为最右端的那个,设 \(f_{l,r,k}\) 表示 \([l,r]\) 最大值为 \(k\) 的方案数,转移 \(f_{l,r,k}=\sum_{p} f(l,p-1,k)\times f(p+1,r,k-1)[\mathrm{区间 [l,p-1],[p+1,r] 均合法}]\)

注意到 \(p\) 只在区间中点附近有 \(\mathcal O(1)\) 种有效取值,猜想有用的区间并不会太多,打个暴力发现就 \(2500\) 个左右。

然后考虑优化,这样的 dp 贡献形式是经典的,可以使用拉格朗日插值优化。分段 \(\mathcal O(n)\) 插值即可做到 \(\mathcal O(Sn^2)\),但是有点卡不过去。

为啥是 0 分?因为我向右走的条件读错了,写了 7k 代码调不出来,打暴力发现还不对,睡一觉起来发现读错题了,删了几个无用分讨就过了 /qd。

T3

模拟费用流,我觉得我讲不明白,cmd 写的很好。

posted @ 2024-06-20 20:16  ImALAS  阅读(6)  评论(0编辑  收藏  举报