某种特殊的解题方法
一次遇见两个同种思路的解题小技巧...
[ABC266G] Yet Another RGB Sequence
Solution
先分别取出
这里需要注意一个坑点,在插入
[ARC050B] 花束
Solution
首先这道题可以考虑二分答案,思考一下,如果
同样的,我们运用技巧,发现题目中无论做哪一种花束都至少需要用到
其余题目
[ABC140F] Many Slimes
前言
考场上想出解法,细节没有到位...
原来还有
Solution
看数据范围,一眼算出大概是$ O(n \times 2^n)$,小小思考一波,发现题目只与数的大小有关,所以先离散化,设离散化后的数量为
我们可以尝试枚举第
接着考虑枚举数的大小
[ABC283E] Don‘t Isolate Elements
前言
考场上一直想
Solution
考虑 dp,因为每一行的改变只会对上下两行影响,所以我们尝试设
[ABC148F] Playing Tag on Tree
Solution
解题思路也是非常值得学习的,开始分析吧!
很容易转换题意为小A追小T,小A和小T均以最优策略时小A的最小追逐路径;
以后遇到此类题,可以先以追的人为根建树(小A),否则会把题目变得更加麻烦,有时还需要分类讨论。
有多种解法,百解不离其宗,讲我用的吧,我这里用 LCA 维护树上距离,由于小T的最优策略就是跑到叶子节点,然后反复横跳,所以使叶子节点离小A的距离越远越好;
同时要判断小A是否可以提前阻拦小T,怎么判断呢,可以把其转化为求小A和小T哪个更先到某个叶子节点即可。
这里有个需要注意的点,就是最后到底计算到的步数是否要
P1417 烹调方案
Solution
可以发现,如果没有
那为什么排序呢,而不能像平常一样做呢?
平常做01背包的题时,由于
但是这道题中,如果你先讨论了
后记
- 总而言之,对于背包中价值会变时,需要先注意和考虑排序!!!