模拟64
$T1.trade$
一眼上去是个很简单的dp,发现不能优化,感觉是个贪心,但是不会,然后就死了。
实际上这是个非常基础的反悔贪心,在每一个点被考虑时,如果在这里卖有收益,那么直接取出还没被卖的最便宜的,累加答案,但是后面有可能有更优的决策,就是在另一个点卖出可能更优,那样的话当前点应该被重新加入堆,直接在当前扔进去就行了。
然后再给每一个点扔进去一个,表示买入,就没了。
$T2.sum$
考试的时候死在了这道题上,本来想好好推式子,然后就死了,三道题都只打了暴力。
组合数可以在上下两排之间互推,于是直接莫队就没了。
主要是我始终不认为这是个数据结构题,一直在非常sb地推式子,关键是,我还没想到上下可以递推。。。。
$T3.building$
第一问,差分的前缀和的前缀和,没了。
第二问,虽然这不是棵树,但是仍然可以用联通块数经典的点数-边数,只不过若一条边两个点已经在同一个联通块,直接不考虑这条边贡献就行了。
好像类似的问题在LCT做过,但是考试的时候就是想不到。