@yang12138
2018-11-13T13:29:43.000000Z
字数 678
阅读 966
未分类
E: 的快乐炉石
把操作倒过来看,就是要把变成,法术等价于是偶数时使用,使缩小一半,法术等价于是奇数时使用,使减再除.
显然如果当前是奇数,用法术,如果是偶数就用法术,可以直接调用这样的递归函数计算:
int cal(int n){
return cal(n/2)+1;
}
时间复杂度
F: 的激烈炉石
注意到单张火球术最高伤害是,最多使用次就变成了,变成之后就再也不会变少,所以前次操作暴力计算每个数开根号之后的结果,之后的操作可以直接输出.
时间复杂度
G: 的妹子
显然
在给定的数据范围内答案最大是,用型计算组合数即可.
使用递推式可以计算组合数.
时间复杂度
H: 的随机炉石
首先可以意识到随从的存在是不影响结果的,直接忽略掉随从的存在。
一张炎爆术造成点伤害,对于剩余血量为的英雄来说,最多能承受次炎爆术.
考虑动态规划,令表示我方能承受次打击,对方能承受次打击时我方的胜率。
初始状态是
转移方程是,其中
时间复杂度