4.11考场随笔
\(dp\)场?
考场随笔
\(T1\)
\(O(n^3)\)的\(dp\)很好给出,直接枚举两个序列上一个位置是什么就好了
感觉贡献不能这么直接算,过于麻烦
考虑我们我们当前点做贡献的话,能不能类似刷表转移
那么我们\(dp[i]\)表示,貌似不行,这个前面保证,也不行
考虑最后的贡献,一个点最多做两次贡献
然后最后总共做贡献次数是\(n\)次
一个点给自己做贡献的条件是,比前面的大
一个点给后面点做贡献的条件是,比后面大
排序?
然后一个个放进去,较为显然,一个点只会对前面的,排名在他前后最近的做贡献,但是显然\(dp\)转移不能转移这个
或许不是\(dp,\)我们对于这个点必须要知道上一个是谁,才能统计,那么瓶颈还是在枚举上一个状态,但是排序之后
等等,我一开始的\(n^3\)貌似有一维度是确定的,那么其实是\(n^2\)那么直接转成\(dp[i]\)表示目前第一组最后一个是\(i\),那么另一个必然是\(i-1,\)那么就可以\(n^2\)转移了,大胆猜测有决策单调性
貌似读错题了
最后必然是单调递增的,那么寄了
还是排序,比较显然,一个值肯定是前面的最大值
另一个值不确定,那么枚举,那么可以枚举第一组的状态
我们强制让第一组一直选最大的肯定不劣?然后我们枚举第二维目前上一个的值就好了
那么每个点只有两个决策,放到第一个或者不放到第一个就好了
直接用最大值更新显然不优,那么还是枚举上一个最大值在哪里选的
可以得到\(40pts,\)弃掉,不会满分
\(T2\)
时间不够写不出来了
但是大体思路应该是对的
\(dp[i][j]\)表示目前已经确定前\(i\)个位置,我们前\(j\)个位置相等的方案数,具体转移没来的及想
貌似不是,应该是个多维度\(dp\)的样子,不是很清楚.............
寄,还有十分钟,摆烂。。
\(T3\)
首先\(24pts\)是可以\(n^3\)的
\(dp[i][j][k]\)表示目前处理到两人前\(i\)个,上一个一个人选了\(j\),另一个人选了\(k\)的最小代价
然后枚举这一个选哪个\(?\)貌似并不是\(n^3,\)是\(n^4\)
首先我们要满足上面的每一个必须对下面的每一个对应时候上面必须小于下面
套路?
这个限制确实可以压进状态里面吧,那么我们现在有两个维度
但是又想想,贪心的想要最小,还是猜结论?
只能保留一个维度
那么考虑枚举第二维选或不选,然后枚举上一个维度选到哪里压进状态
\(O(n^2),52pts?\)
貌似很好写的样子...
不对,我还得记录选了几个\(dp[i][k]\)复杂度\(O(n^3)\)跑不满,\(24 pts\)
感觉想优化一个\(n\)需要\(wqs\),感觉很麻烦,貌似不是很麻烦,可以优化到\(n^2logn\)
那么正解应该就是加一个决策单调性了\(...\)
写不出来...
性质\(A\)的话,应该是扫一下,观察到底是直接选当前\(B\)和\(A\)比较优秀,还是往后选比较优秀,大概只需要把最小的\(k\)个挑出来就好了,hhh
\(32pts,get\)
下了场,我是\(sbsbsbsbbsb,T3\)原题没看出来,我讲的模拟费用流自己不会了,我还写了这道题。。。。。\(wosbsbbsbbsbsb\)