亲爱的绿帽子算法。
【关于裸题】
我还是那么喜欢把变量名打反(luoguP2055假期的宿舍)。
话说用输出查错是很舒服的。
尽快学会和熟练对拍啊!
【关于建模】
特点便是 ,不管是左部点还是右部点,都必须是一一对应(对应不了就不连了)的关系——也就是“宁可绿帽戴尽,也要从一而终”。
部点可以抽象化。
例如luoguP1640连续攻击游戏,看到题目很容易去想把一个装备的2个属性分别放到左部点和右部点去。但是如果把图一画就会发现,这样子的话,节点们完全不像是个二分图的样子。那么该怎么建模呢?|+_+|让我们来看一下有哪些一一对应的关系。
1.1个装备只能对应1种伤害值
2.1种伤害值只能使用一次
真棒!所以不妨把伤害值设作左部点,装备编号设作右部点。由于模板统计的是左部点的量,而题目问的是最多伤害次数,所以把伤害值设作左部点是OK的(其实都差不多啦,左边有连线的点数不就等于右边有连线的点数吗)。
这样子的左部点有一些抽象,但是是非常好用的,明显是正解啦。
【关于常错】
1.这次把定义的MAXN和MAXM打反了
2.加边时一时激动,把add(a,i);add(b,i);打成了add(a,b);
3.用二维数组已经存不下了,但是用链表存图依然是那么优秀