[笔记乱写]贪心进阶

1.大力排序

92B 数对:任意排序任意选取 $\rightarrow$ 限定顺序任意选取 $\rightarrow$ dp

以两个元组为例,考虑所有情况的最优决策,并将规律转化为一类排序方式。

exB X国的军队:可以把题意反过来,攻占一个需要$b[i]-a[i]$个士兵,且会得到$a[i]$个士兵。又因为$\sum a[]$一定,所以按$b[i]-a[i]$排序即可。

95B 格式化:考虑特殊情况,如果格式化后容量总是增大的,那么显然应该按格式化前容量从小到大排序。那么对于相反的情况,同上题一样逆向考虑,进行$rev-reformat$,不难看出此时应该按格式化后容量从大到小排序。所以分组考虑即可。

74A 梦境:把区间按右端点排序,用set维护点,每次选能选的最靠左的那个。显然这样能使区间利用率最大。

 

总结:考虑最优性、考虑可行性、逆向过程、利用率最大化、从特殊到一般、规律转化。

2.带反悔

64A trade:数据范围较小可以dp解决。如果贪心地考虑进行到某一天的状态,假设今天有单价为b的货物,且之前有单价为a$(a<b)$的货物,那么显然应该买a卖b。但这样只是对于当前情况的最优决策,之后可能出现与a配对结果更优的货物,所以需要带反悔。

 

 这里的巧妙之处在于把反悔过程直接嫁接到之前的决策上,而不用找到之前的决策点。

posted @ 2019-10-31 14:25  Rorschach_XR  阅读(216)  评论(1编辑  收藏  举报
//雪花飘落效果