模拟64

$T1.trade$

  一眼上去是个很简单的dp,发现不能优化,感觉是个贪心,但是不会,然后就死了。

  实际上这是个非常基础的反悔贪心,在每一个点被考虑时,如果在这里卖有收益,那么直接取出还没被卖的最便宜的,累加答案,但是后面有可能有更优的决策,就是在另一个点卖出可能更优,那样的话当前点应该被重新加入堆,直接在当前扔进去就行了。

  然后再给每一个点扔进去一个,表示买入,就没了。

$T2.sum$

  考试的时候死在了这道题上,本来想好好推式子,然后就死了,三道题都只打了暴力。

  组合数可以在上下两排之间互推,于是直接莫队就没了。

  主要是我始终不认为这是个数据结构题,一直在非常sb地推式子,关键是,我还没想到上下可以递推。。。。

$T3.building$

  第一问,差分的前缀和的前缀和,没了。

  第二问,虽然这不是棵树,但是仍然可以用联通块数经典的点数-边数,只不过若一条边两个点已经在同一个联通块,直接不考虑这条边贡献就行了。

  好像类似的问题在LCT做过,但是考试的时候就是想不到。

猜你喜欢

转载自www.cnblogs.com/hzoi-cbx/p/11636226.html