考试套路整理

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]

原文地址:https://www.cnblogs.com/lyt020321/p/11846525.html