划分型博弈型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)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时 ...
随机推荐
- jQuery对象与DOM对象及互相转化
<p id=‘’hello”></p> 普通处理,通过标准JavaScript处理: var p = document.getElementById('hello'); p.i ...
- Sql语句摘要
1.分批更新数据库 declare @x intset @x=1 while(@x<=51) begin begin tran update UserFavorite set UserFavor ...
- Jmeter接口测试-基于nodejs的to do list项目说明
一.了解测试项目 我们的测试项目叫做smile_task,简称sm_task.这是一个基于nodejs超简单的todo list. 它的主要流程就是:输入标题描述---点击创建一个任务---编辑修改任 ...
- 自定义UINavigationBar的背景【转】
from:http://cocoa.venj.me/blog/custom-navbar-background/ 为了让我们的应用程序更加美观,我们往往希望对iPhone自带的控件进行一点自定义.比如 ...
- JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(7):装配SpringBean·依赖注入装配
一.依赖注入的三种方式 在实际环境中实现IoC容器的方式主要分为两大类,一类是依赖查找,依赖查找是通过资源定位,把对应的资源查找回来.另一类则是依赖注入.一般而言,依赖注入可分为3中方式: ...
- wpf控件开发基础
wpf控件开发基础(3) -属性系统(2) http://www.cnblogs.com/Clingingboy/archive/2010/02/01/1661370.html 这个有必要看看 wpf ...
- 凑算式——第七届蓝桥杯C语言B组(省赛)第三题
原创 凑算式 B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中A~I代表1~9的数字,不同的 ...
- PostBack
PostBack 字面意义 Post提交 Back回来. 提交回来. 1. AutoPostBack 服务器控件需要设置 AutoPostBack="true" 后才会提交服务器. ...
- Hexo基本使用
1. 简述 Hexo是一个基于Node.js的博客系统,常用于搭建在GitHub上. 其本质其实是一个基于Node.js的内嵌webserver的程序,可以通过一些命令根据markdown生成静态页面 ...
- opencv3.3.1+vs2015+c++实现直接在图像上画掩码,保存掩码图片
左键红右键蓝,保存为k #include "opencv2\imgproc\imgproc.hpp" // Gaussian Blur #include "opencv2 ...