xindoo

xindoo

Leetcode 62. Unique Paths & 63. Unique Paths II

好久没刷题了,今天来俩道简单题。 Leetcode 62. Unique Paths Leetcode 63. Unique Paths IIA robot is located at the top-left corner of a m x n grid (marked ‘Start’ in ...

2017-02-25 15:31:35

阅读数 438

评论数 0

Leetcode 467. Unique Substrings in Wraparound String

题目链接:Unique Substrings in Wraparound String Consider the string s to be the infinite wraparound string of “abcdefghijklmnopqrstuvwxyz”, so s will lo...

2016-12-10 19:22:18

阅读数 582

评论数 0

Leetcode 368. Largest Divisible Subset思路及详解

题目链接:368. Largest Divisible SubsetGiven a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of elements in thi...

2016-11-05 17:58:18

阅读数 615

评论数 0

Leetcode 53.Maximum Subarray

题目链接:53.Maximum Subarray Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, giv...

2016-08-07 16:41:09

阅读数 472

评论数 0

Leetcode 377. Combination Sum IV

题目链接:Combination Sum IV Given an integer array with all positive numbers and no duplicates, find the number of possible combinations that add up to a...

2016-07-27 20:44:39

阅读数 921

评论数 0

light oj 1159 - Batman LCS

学过简单动态规划的人应该对最长公共子序列的问题很熟悉了,这道题只不过多加了一条字符串变成三条了,还记得,只要把状态变成三维的即可。 //http://lightoj.com/volume_showproblem.php?problem=1159 //2013-08-15-09.50 #inclu...

2013-08-15 15:20:54

阅读数 936

评论数 0

hdoj 3555 BOMB(数位dp)

//hdoj 3555 //2013-06-27-16.53 #include #include __int64 dp[21][3], n; int len, bit[21]; //dp[i][0] 长度为i 包含49的个数 //dp[i][1] 长度为i没有49但以9开头的 //dp[i]...

2013-06-27 17:00:18

阅读数 637

评论数 0

hdoj 2089 不要62

这题数据量相对比较小,可以暴力打表解决。不过我这里用数位dp  刚开始学数位dp,参考了别人的代码。 //2013-06-27-15.30 #include #include int dp[7][3]; //dp[i][0] 表示不存在不吉利的数字 //dp[i][1] 表示不存在不吉利的...

2013-06-27 15:42:58

阅读数 1071

评论数 0

poj 1164 放苹果

http://poj.org/problem?id=1664          这题可以用递归的方式做,想给第一个盘子里放上苹果从(0到m),然后给第二个放上,为了保证每次产生的放法是不同的,第二个里面放置的苹果不能从0开始,否则就会产生相同的放法,然后同理第三第四个盘子。。。。 还有一个问题,...

2013-06-27 14:49:53

阅读数 875

评论数 0

poj 1050 To the Max(最大子矩阵之和)

http://poj.org/problem?id=1050        我们已经知道求最大子段和的dp算法 参考 here  也可参考编程之美有关最大子矩阵和部分。       然后将这个扩大到二维就是这道题。顺便说一下,有时候不要把问题想复杂了,有些问题只能靠暴力求解,而这道题是暴力加算...

2013-06-26 10:33:56

阅读数 896

评论数 0

100个经典的动态规划方程

1.资源问题1-----机器分配问题 F[I,j] = max(f[i-1,k]+w[i,j-k])   2.资源问题2------01背包问题 F[I,j] = max(f[i-1,j-v]+w,f[i-1,j]);   3.线性动态规划1-----朴素最长非降子序列 F = m...

2013-06-03 10:19:20

阅读数 2766

评论数 0

poj 1159 Palindrome(最长公共子串)

大概题意就是求最少添加多少个字符可以把长度为N的字符串编程回文串。 则需要最少需要补充的字母数 = 原序列S的长度 —  S和S'的最长公共子串长度 S'为原串的逆串。 关于求最长公共子串, 用到的是动态规划 伪代码如下 if( i ==0 || j == 0 ) { ...

2013-05-30 20:08:51

阅读数 580

评论数 0

uva 10891 game of sum

题目链接 详细请参考刘汝佳《算法竞赛入门经典训练指南》 p67 //2013-05-01-20.40 //uva 10891 #include #include #include using namespace std; const int maxn = 105; bool vis[m...

2013-05-27 20:56:18

阅读数 715

评论数 0

hdoj 1176免费馅饼(dp)

题目链接 //2013-05-17-21.08 #include #include #include using namespace std; const int maxn = 100004; int dp[maxn][12]; int main() { int n, ...

2013-05-17 21:06:42

阅读数 483

评论数 0

poj 1185 炮兵阵地 (状态压缩dp)

题目链接      如果你是刚刚开始做状态压缩dp,我建议你先看看 poj 3254 Corn Fields 这是一道比这一题更简单,更容易入门的题目。     还有在代码中我用了一个很巧妙的方法求一个数二进制数中1的个数  具体请看我博客中  x& (x - 1)==0 这篇文章...

2013-05-08 20:16:00

阅读数 761

评论数 0

poj 3254 Corn Fields (状态压缩dp)

题目链接 题意:Farmer John 放牧cow,有些草地上的草是不能吃的,用0表示,然后规定两头牛不能相邻放牧。问你有多少种放牧方法。       状态压缩dp其实就是用二进制来表示所有的状态,比如这题, 我们在某一行可以这样取0 1 0 1 1 0 1,用1代表取了,0代表没...

2013-05-07 20:21:17

阅读数 820

评论数 0

light oj 1005 - Rooks(组合数学)

题目链接 题意:在一个n*n的棋盘上放m个车,使得各个车之间不相互攻击。有多少种放法? 组合数学解法    现在n行中选出m行,C(n,m),再在n列中选出m列随便放A(n,m),答案为C(n,m)*A(n,m)。 #include #include typedef __...

2013-05-06 20:28:59

阅读数 1403

评论数 1

poj 2479 Maximum sum(求最大子段和的延伸)

题目链接 题意:        题目的大概意思是把数组分成不交两段,分别求出两段的最大子段和s1和s2,然后求出最大的s1+s2。不知道最大子段和的点这  here 思路:       看完最大连续子段和 的 dp算法 这个很容易理解,我用dplift[i]保存第1到第i个之间...

2013-05-01 17:47:07

阅读数 2987

评论数 0

求最大连续子段和 的 dp算法

问题描述:      有n个数(以下都视为整数,浮点的也一样),每个数有正有负,现在要在n个数中选取相邻的一段,使其和最大,输出最大的和。 问题分析:     对于这样的问题,我们可以直接用暴力,一个双重循环,虽说可以,但也没有更高明的方法?  我们再分析这个问题,如果我们知道了...

2013-05-01 17:32:21

阅读数 1992

评论数 0

hdoj 1028/poj 2704 Pascal's Travels(记忆化搜索||dp)

题目链接 题意        有个小球,只能向右边或下边滚动,而且它下一步滚动的步数是它在当前点上的数字,如果是0表示进入一个死胡同。求它从左上角到右下角到路径数目。 注意, 题目给了提示了,要用64位的整数。 记忆化搜索方法 #include #include #define ...

2013-04-29 14:24:39

阅读数 866

评论数 0

提示
确定要删除当前文章?
取消 删除