题意:给出一个 n (1 #include #include #include #include #define lll __int64using namespace std;#define N 5007const lll INF = (1LL<<60);lll dp[2][N];lll a[N],...
分类:
其他好文 时间:
2014-07-24 22:36:13
阅读次数:
249
这题开始的时候犯了和做--调皮的小明的时候 一样的错误 去dfs了 果断TLE啊然后想起来 就dp去做...还有一些别的做法 有人用递推 或者 母函数做的 其实递推的话 还是和dp有点像的还有一种 记忆化搜索的方法 太流弊了我把它都贴出来好了 1 /* 2 #include 3 #include ....
分类:
其他好文 时间:
2014-07-24 22:35:02
阅读次数:
222
排序DP(相当于最长不下降子序列)如果把一块砖块的所有6种摆放方式转化为6种不同的砖块;即相当于有6n种砖块,然后按照一个方向从大到小排序;再依次检查每一块与其下面的所有砖块是否满足摆放条件;将每一块砖块放到塔中能够获得的最大高度记录到数组height[N]中;则该数组中的最大值就是该题的解了; #...
分类:
其他好文 时间:
2014-07-24 21:55:12
阅读次数:
181
A nudnik photographer大意:对1到N这些数进行排列,1必须要在最左边,相邻的两个数之间的差值不能超过2,问有多少种排列的方法。思路:对座位进行DP,当第一个是1,第二个是2的时候,组合为dp[i-1];当第一个是1,第二个是3的时候,第三个也确定了是2,组合为dp[i-3];还有...
分类:
其他好文 时间:
2014-07-24 21:52:32
阅读次数:
177
题意:给你一个集合,问你集合里面删多少个数字才满足最大值小于等于最小值的两倍解题思路:hs+dp解题代码: 1 // File Name: 253b.cpp 2 // Author: darkdream 3 // Created Time: 2014年07月24日 星期四 16时24分14秒 4 ....
分类:
其他好文 时间:
2014-07-24 21:39:22
阅读次数:
200
不懂得见算法背包问题详解
代码如下:
#include
struct node
{
int cost;
double wei;
} a[10004];
double min(double a,double b)
{ return a>b? b:a;}
int main()
{
int i,j,n,m;
double dp[10004];
whil...
分类:
其他好文 时间:
2014-07-24 17:44:25
阅读次数:
235
求连续子序列的最大和为毛简单的入门DP没有思路啊。。学习下别人的解法,理解起来倒还是很容易的。 1 //#define LOCAL 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const in...
分类:
其他好文 时间:
2014-07-24 14:46:15
阅读次数:
206
这道题是我们去西安邀请赛的最后一道题。当时是我做的,因为之前刚刚做了一道轮廓线DP,对于状态压缩还比较熟悉,所以当时1A了这道题,才拿到了铜牌。但是,当我今天再来做这道题的时候,却发现我不会了。。。不是因为不会表示状态,而是不会转移了。后来明白了,状态是最后变化的。 要先是节点变化,用现在的状态更新...
分类:
其他好文 时间:
2014-07-24 12:18:15
阅读次数:
260
题目地址:Check the difficulty of problems题目大意: 在编程比赛中有M个题,T支队伍。要求冠军团队至少做出N道题。 求每对至少做出一道题的同时冠军队至少做出N道题的概率。解题思路: 概率+DP。首先做的是将题目求的概率转化成:每队均至少做一题的概率P1 减去 每...
分类:
其他好文 时间:
2014-07-24 12:16:05
阅读次数:
234
Milliard Vasya's Function
大意:
求1到10^9之间的数中,各数位和为s的数的个数。
思路:
dp[i][j]表示位数是i的数字各个位之和为j的数的个数(1
先DP出1到9 位数上各位之和的个数,(dp[i][j] = dp[i-1][j]+sum(dp[i-1][j-1], dp[i-1][j-2]......., dp[i-1][...
分类:
其他好文 时间:
2014-07-24 11:35:52
阅读次数:
255