2020.8.4
P1450 [HAOI2008]硬币购物
考察:背包dp,容斥原理
主要是一个dp容斥的思想:
用背包处理无数量限制的方案值,减去某些硬币超出数量限制的方案值。
减去不合规范方案的方法:
直接将总的钱数减去(该硬币数+1)*该硬币价值进行dp,确保该硬币超出限制。
最后套一下容斥原理的公式即可。
P1438 无聊的数列
考察:线段树,差分
区间求和,区间修改,自然想到线段树,以等差数列的方式修改,自然想到用相邻两数之差(即差分的思想)进行建树,查询时即为1-i的区间和。
几乎是个线段树差分的模板题。
P2279 [HNOI2003]消防局的设立
考察:树形dp
看到树,看到求最小值,自然想到树形dp.
树形dp就是从子孙的状态向父亲的状态推,根据题意,两个消防局之间可以至多空4个点,因此想到设状态为子树中离自己最近的消防局的距离,从1-4不同的状态转移到父节点。
树形dp的准板子题
P1463 [POI2002][HAOI2007]反素数
考察:搜索
题意即为1-N区间内找约数最多的数
看到N的范围,这里用质数筛,用约数公式,用dp都不好使
想到每个数分解成质因数的数量是log级别的
于是筛出1-20之间的素数,暴力枚举每个质数的个数,用约数个数公式比较计算。
一种全新的计算约数个数的思维。
P1490