划分型博弈型dp
划分型动态规划:
513. Perfect Squares
https://www.lintcode.com/problem/perfect-squares/description?_from=ladder&&fromId=16
public class Solution {
/**
* @param n: a positive integer
* @return: An integer
*/
public int numSquares(int n) {
// write your code here
if (n==0){
return 0;
}
int[] f = new int[n+1];
for(int i=1;i<=n;i++){
f[i] = Integer.MAX_VALUE;
for(int j=1;j*j<=i;j++){
f[i]= Math.min(f[i-j*j]+1,f[i]);
}
}
return f[n];
}
}
108. Palindrome Partitioning
https://www.lintcode.com/problem/palindrome-partitioning-ii/description?_from=ladder&&fromId=16
public class Solution {
/**
* @param s: A string
* @return: An integer
*/
public int minCut(String ss) {
// write your code here
if(ss==null || ss.length()==0){
return 0;
}
char[] s = ss.toCharArray();
int[] f = new int[s.length+1];
boolean[][] isPalin = calcPalin(s);
for(int i=1;i<=s.length;i++){
f[i]= Integer.MAX_VALUE;
for(int j=0;j<i;++j){
if(isPalin[j][i-1]){
f[i]= Math.min(f[i],f[j] +1);
}
}
}
return f[s.length]-1;
}
private boolean[][] calcPalin(char[] s){
int n = s.length;
boolean [][] isPalin = new boolean[n][n];
for(int mid =0;mid<n;mid++){
int i = mid;
int j = mid;
while(i>=0 && j<n && s[i]==s[j]){
isPalin[i][j]= true;
--i;
++j;
}
i= mid;
j= mid+1;
while(i>=0 && j<n && s[i]==s[j]){
isPalin[i][j]= true;
--i;
++j;
}
}
return isPalin;
}
}
博弈型动态规划:
394. Coins in a Line
public class Solution {
/**
* @param n: An integer
* @return: A boolean which equals to true if the first player will win
*/
public boolean firstWillWin(int n) {
// write your code here
if(n==0) return false;
if(n==2 || n==1) return true;
boolean[] f = new boolean[n+1];
f[1]=f[2]=true;
f[0]=false;
for(int i=2;i<=n;i++){
f[i] = !f[i-1]||!f[i-2];
}
return f[n];
}
}
划分型博弈型dp的更多相关文章
- [深度学习]实现一个博弈型的AI,从五子棋开始(1)
好久没有写过博客了,多久,大概8年???最近重新把写作这事儿捡起来……最近在折腾AI,写个AI相关的给团队的小伙伴们看吧. 搞了这么多年的机器学习,从分类到聚类,从朴素贝叶斯到SVM,从神经网络到深度 ...
- [深度学习]实现一个博弈型的AI,从五子棋开始(2)
嗯,今天接着来搞五子棋,从五子棋开始给小伙伴们聊AI. 昨天晚上我们已经实现了一个五子棋的逻辑部分,其实讲道理,有个规则在,可以开始搞AI了,但是考虑到不够直观,我们还是顺带先把五子棋的UI也先搞出来 ...
- Uva 10891 经典博弈区间DP
经典博弈区间DP 题目链接:https://uva.onlinejudge.org/external/108/p10891.pdf 题意: 给定n个数字,A和B可以从这串数字的两端任意选数字,一次只能 ...
- hdu 4778 Gems Fight! 博弈+状态dp+搜索
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4102743.html 题目链接:hdu 4778 Gems Fight! 博弈+状态dp+搜 ...
- sqlmap Bool型&延时型 检测策略分析
目录 sqlmap Bool型&延时型 检测策略分析 0x00 预备-queryPage() 0x01 bool型检测策略 判断依据 quick_ratio() 案例 0x02 延时型 判断依 ...
- Swift4 基本数据类型(范围型, Stride型, 数组, 字符串, 哈希表)
创建: 2018/02/28 完成: 2018/03/04 更新: 2018/05/03 给主要标题加上英语, 方便页内搜索 [任务表]TODO 范围型(Range)与Stride型 与范围运算符相 ...
- [深度学习]实现一个博弈型的AI,从五子棋开始
好久没有写过博客了,多久,大概8年???最近重新把写作这事儿捡起来……最近在折腾AI,写个AI相关的给团队的小伙伴们看吧. 搞了这么多年的机器学习,从分类到聚类,从朴素贝叶斯到SVM,从神经网络到深度 ...
- AGC017D Game on Tree(树型博弈)
题目大意: 给出一棵n个结点的树,以1为根,每次可以切掉除1外的任意一棵子树,最后不能切的话就为负,问是先手必胜还是后手必胜. 题解: 首先我们考虑利用SG函数解决这个问题 如果1结点有多个子节点,那 ...
- MongoDB和Redis-NoSQL数据库-文档型-内存型
1NoSQL简述 CAP(Consistency,Availabiity,Partitiontolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时 ...
随机推荐
- Classification and Prediction
# coding: utf-8 # In[128]: get_ipython().magic(u'matplotlib inline') import pandas as pd from pandas ...
- 卡2-SLAM
---恢复内容开始--- 1.下载 首先需要从github上Git以下两个包: git clonehttps://github.com/ros-perception/open_karto(开源的kar ...
- Claims Based Authentication and Token Based Authentication和WIF
基于声明的认证方式,其最大特性是可传递(一方面是由授信的Issuer,即claims持有方,发送到你的应用上,注意信任是单向的.例如QQ集成登录,登录成功后,QQ会向你的应用发送claims.另一方面 ...
- (转)ASP.NET MVC4+EasyUI+EntityFrameWork权限管理系统——数据库的设计(一)
原文地址:http://www.cnblogs.com/cmsdn/p/3371576.html 快一年没写博客了,这段时间感觉好迷茫,写点博客,记录一下自己的成长过程,希望对大家也有帮助 先上图 一 ...
- 编写高质量代码改善C#程序的157个建议——建议57:实现ISerializable的子类型应负责父类的序列化
建议57:实现ISerializable的子类型应负责父类的序列化 我们将要实现的继承自ISerializable的类型Employee有一个父类Person,假设Person没有实现序列化,而现在子 ...
- 编写高质量代码改善C#程序的157个建议——建议56:使用继承ISerializable接口更灵活地控制序列化过程
建议56:使用继承ISerializable接口更灵活地控制序列化过程 接口ISerializable的意义在于,如果特性Serializable,以及与其像配套的OnDeserializedAttr ...
- wpf path语法
http://www.cnblogs.com/HQFZ/p/4452548.html WPF系列 Path表示语法详解(Path之Data属性语法)
- ToastUtils
public class ToastUtils { private static String TAG="ToastUtils"; private static Toast toa ...
- 深入理解python中可迭代对象,迭代器,生成器
英文原文出处:Iterables vs. Iterators vs. Generators 在python学习中,通常会陷入对以下几个相关概念之间的确切差异的困惑中: a container(容器) ...
- android 优秀图表库之MPAndroidChart
MPAndroidChart 1.在项目当中很多时候要对数据进行分析就要用到图表,在gitHub上有很多优秀的图表开源库,这里就简单介绍一下MPAndroidChart. 他可以实现图表的拖动,3D, ...