leetcode算法题--除数博弈★
原题链接:https://leetcode-cn.com/problems/divisor-game/
1、动态规划
dp[i]表示N=i时,alice先手的胜负
状态转移
//状态转移中,dp[i]表示alice先手的输赢,dp[i-j]则表示alice先手拿走j之后的输赢,也是bob此时先手的输赢
dp[i]=true; if dp[i-j]==false
代码:
bool divisorGame(int N) {vector<bool> dp(N+1,false);if(N==2) return true;//若N=2或3,直接输出A的输赢if(N==3) return false;dp[2]=false;//为了后面的状态转移,这里表示当N=2或3时,bob先手的输赢dp[3]=true;for(int i=4;i<=N;i++){for(int j=1;j<i;j++){if(i%j==0&&!dp[i-j]){dp[i]=true;break;} }}return dp[N];}
2、数学
本质:谁轮到N=2就会赢
如果N为奇数,alice只能选1,bob一直面临偶数的情况,bob稳赢
如果N为偶数,alice只需一直选1,bob一直面临都是奇数的情况,alice稳赢
所以判断N奇偶即可
bool divisorGame(int N) {return N%2==0;
}
leetcode算法题--除数博弈★相关推荐
- LeetCode算法题-Nth Digit(Java实现)
这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...
- LeetCode算法题-Reverse Linked List(Java实现)
这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...
- LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...
- leetcode算法题--零钱兑换
原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...
- leetcode算法题-- 买卖股票的最佳时机
原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...
- leetcode算法题--买卖股票的最佳时机 II
原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 这类股票题目请见leetcode算法题–最佳买卖股票 ...
- leetcode算法题--买卖股票的最佳时机含手续费
原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 这类股票题目请见 ...
- leetcode算法题--完全平方数★
原题链接:https://leetcode-cn.com/problems/perfect-squares/ 相关题目:leetcode算法题–零钱兑换 1.回溯法 就是暴力法,套路就是递归,但是有很 ...
- leetcode算法题--不同的二叉搜索树
原题链接:https://leetcode-cn.com/problems/unique-binary-search-trees/ 相关题目:leetcode算法题--不同的二叉搜索树 II 1.递归 ...
最新文章
- 指定一个开始日期和结束日期,算出中间的日期
- pca降维的基本思想_一文读懂 PCA 降维算法
- 关于Hadoop多用户管理支持客户端远程操作的理论总结
- linux diff(differential) 命令
- javascript的缓动效果
- UNITY 打包时提示sdk tools 或 sdk build tools版本低时可以直接点update 按钮进行更新...
- springboot创建parent_Spring Boot 开篇:快速入门
- 字体编辑器_FontLab 7 ——字体编辑器
- 印刷点阵字体_印刷术如何确定可读性:衬线与无衬线,以及如何组合字体。
- 「镁客早报」蓝色起源完成无人火箭试飞;知名对冲基金做空高通...
- java删除指定目录下文件_Java中循环删除指定目录下的文件
- 20155216 Exp6 信息搜集与漏洞扫描
- 四、物理优化(6)数据库引擎优化顾问
- 用VBS实现公司自动打卡
- 可视化驱动治理:公共交通系统的可视化实践
- 2500亿规模,20%年增长,猎头平台化时代,谁的赢面最大? | 一点财经
- ZipEntry的使用
- 面向对象的系统分析(一)-系统分析方法
- [转] JavaScript 骚操作
- PredRNN++: Towards A Resolution of the Deep-in-Time Dilemma in Spatiotemporal Predictive Learning