Blocking Elements

这道题目打得我很郁闷。。为啥考试的时候明明想到算法了,只要在想深一点就可以解决问题了,但却没有这么做呢?

看到求最小最大,想到二分,然后没有什么好的判断方法,又想到了DP

\(f[i]\)表示前\(i\)个数,选择第\(i\)个数到第一种序列里面,满足题意的第一种序列的最小值,有很明显的转移

最后的求\(n+1\)的操作太妙了,记住

update 2024.7.8

重新做一遍,还是想到了二分和DP,却不知道怎么判断。。。

因为在DP的时候,太关注两个部分了(选出来的第一部分和第二部分都想要不超过\(s\)),这里就告诉我们,可以将其中一个部分当做限制条件

update 2024.8.28

重新做一遍,做出来了;但是设的是\(f[i]\)表示前\(i\)个数满足题目条件的第一个值的最小值,也就是第\(i\)个数可以选也可以不选;仍然可以做

像这种在满足一个条件的前提下去做题,可以记住(因为两个条件不好同时满足,所以在满足一个条件的前提下去最优化另一个条件)

posted @ 2024-02-20 23:33  最爱丁珰  阅读(6)  评论(0)    收藏  举报