首先每个洞至少造成 3 点伤害,并且73点生命值会饿死,77点生命值会饿死,那么答案一定在73-77之间,并且是 3 的倍数,只有 75 满足条件
B、烦人的依赖
拓扑排序,首先使用map或者直接sort对软件名进行排序,按照从小到大的顺序编号,然后使用优先队列,每次取出编号小的即可
C、异或生成树
树形dp,从叶子节点开始,暴力枚举叶子节点对父节点的所有可行情况,枚举完就更新父节点,复杂度
E、无敌阿姨
按题意模拟,注意 (PS:阿姨在没有取得被子之前上楼不消耗体力。),所以阿姨是一定能取走所有被子的
G、校车
校车上最大人数是任何时刻在车上的人数的最大值,所以先将站点离散化,然后求一个最大前缀和即可。
H、中位因数
求 ,其中 是 的所有因子的中位数
可以发现,对于一个数字 ,小于等于 的因子数量一定等于 大于等于
所以我们只要求出了小于等于 的最大因子,那么大于等于 的最小的因子也得到了(直接相除)
所以我们考虑埃氏筛法,在每次标记合数的时候,记录 的小于等于 的最大因子即可
最后跑一个前缀和即可
代码: