1001
题解
⾸先,要求⽣成的图甚⾄不要求联通,所以通过 与 连边, 与 连边等,容易构造出 鸡⽖的图。难
点在如何让字典序最⼩。
直觉的想法是让与 连的点尽可能多。如果 模 有余数,则直接与 连接。下⾯仅考虑 为 的倍数的情况。
对于⼀个给定图,给每个结点标号,为了让输出的边字典序最⼩,发现度数越多的点,标号越⼩。
为了⽣成⼀个字典序最⼩的图,我们要让结点1的度数尽可能多,相同时要结点 的度尽可能多,以此类推。因
此,⼀个贪⼼的想法是,让 为鸡⽖中⼼点。
的中⼼点分别与 相连,形成鸡⽖。⽽ 为中⼼点的鸡⽖,为了让与1连的点尽可能多,1
需要找 的点相连,2需要找 相连,3需要找 相
连。
最终得到 的度数序列,可以证明不存在⽐该度数序列更优的序列:起码有 个点度数 ,只需要考虑
的点度数能否更⼩,以 为例,其⽬前和 连接,⽽这三个点都已经和
都连接,所以⽆法换成更⼩的点。所以该序列已为最优。
最后,特殊判断 的情况,因为3不形成中⼼点。
1002
简要题意
在⼀张 ⼤⼩的地图⾥(左下⻆为 ,右上⻆为 ),有 个怪物。
对于每个怪物有这样三个属性,价值 ,攻击⼒ ,攻击距离 。
,在进⼊地牢前可以贷款 个⾦币( 为任意正整数)来获得 点⽣命值。主⻆初始出现
在地图的 位置,保证该位置上没有怪物。
主⾓的初始⽣命值为
每回合的开始,主⻆可以进⾏下⾯两个操作中的⼀个操作。
1.离开地牢,获得当前击杀怪物的⾦币并进⾏结算。
2.瞬移到 上与当前位置距离不超过 的 ,并且消灭瞬移起点和终点相连的线
段上的所有怪物。(消灭怪物可以瞬间获得怪物的价值数量的⾦币)这⾥的距离可以⽤曼哈顿距离来理解。
同⾏ 同列
没有怪物的地图内的位置
在每回合结束时,会结算存活的怪物对主⻆造成的伤害。
对于每个怪物⽽⾔,如果主⻆和怪物之间的曼哈顿距离 怪物的攻击距离 ,那么主⻆就会受到 点伤
害。在任意时刻主⻆的⽣命值 ⻆⾊就会死亡,并且 。
⼩于等于
⼩于等于 失去所有获得的⾦币
试问主⻆最多能获得多少⾦币。
( , , , )