floyd
每個點有特定的點權(如修復時間和危險值),且詢問還與這玩意有關係的時候,考慮floyd的實質算法
f[k][i][j] 代表經過k個點後i到j的最短路,只要把k按照特定的順序排序即可
樹狀數組
主要是運用了樹狀數組前綴和的性質
有這麼幾道題目
三元組
考慮建一個樹狀數組,把大小離散化後,按照id枚舉每一個點,查找id小數值小,id大數值小的,id大數值大的,然後每一個三元組就是id小數值大的id大數值小的和id打數值大id小數值大的
千秋
用樹狀數組的區間修改單點查詢功能
二分出一個答案,假設這個是最終的答案,然後枚舉每一個數字,如果當前數字滿足條件(即比這個答案小),就花費一定的天數讓這個值變大,並區間修改,如果發現把所有的花都編導滿足條件後大於m天,返回false..剩下都懂!
嫌疑人
這道題也是
DP
千紗
這個是除去一個物品的揹包
可以考慮正反兩遍揹包,然後最後踢出這個點,f[x-1][j] 和 f[x+1][y-j]