POJ 3628 Bookshelf 2 (01背包)
题意:就是给出n和b,然后给出n个数,用这n个数中的某些,求出一个和,这个和是>=b的最小值,输出最小值与b的差。...
分类:
其他好文 时间:
2014-08-01 00:09:50
阅读次数:
249
题目大意:给你n个数字,然后分成两份,前边的一份里面的元素进行异或,后面的一份里面的元素进行与。分的时候按照给的先后数序取数,后面的里面的所有的元素的下标一定比前面的大。问你有多上种放元素的方法可以使得前面异或的值和后面与的值相等。
dp[x][y] 表示走到第x步,得到y这个数字一共有多少种方法。
但是需要注意这里得分一下,不能直接用dp数组存种数,你需要分一下从上一层过来的次数,和这一层自...
分类:
其他好文 时间:
2014-08-01 00:08:20
阅读次数:
400
HDU 4901 The Romantic Hero
题目链接
题意:给定一个序列,要求找一个分界点,然后左边选一些数异或和,和右边选一些数且和相等,问有几种方法
思路:dp,从左往右和从右往左dp,求出异或和且的个数,然后找一个分界点,使得一边必须在分界点上,一边随意,然后根据乘法原理和加法原理计算
代码:
#include
#include
typedef ...
分类:
其他好文 时间:
2014-08-01 00:00:10
阅读次数:
363
一个农民有n行m列的地方,每个格子用1代表可以种草地,而0不可以。放牛只能在有草地的,但是相邻的草地不能同时放牛, 问总共有多少种方法。...
分类:
编程语言 时间:
2014-07-31 23:57:50
阅读次数:
608
题目链接:hdu 4901 The Romantic Hero
题目大意:给定一个序列,要求选出两个集合,S和T,要求S中选中的元素的下标都要小于T中元素的下标。并且说S中元素的亦或和要等于T中元素取且的和。
解题思路:dp, 思路很好想,就是细节比较恶心。
#include
#include
#include
using namespace std;
typedef __i...
分类:
其他好文 时间:
2014-07-31 23:53:40
阅读次数:
300
dp[i][j][s]表示第i个人,在前j个问题解决了s个问题dp[i][j][s]=dp[i][j-1][s-1]*p[i][j]+dp[i][j-1][s]*(1-p[i][j]); 1 #include 2 #include 3 #include 4 #include 5 #include 6...
分类:
其他好文 时间:
2014-07-31 23:51:10
阅读次数:
290
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1911分析:首先可以的到裸的方程f[i]=max{f[j]+a*(Si-Sj)^2+b*(Si-Sj)+c} 0f[y]+a*(Si-Sy)^2+c整理一下:(f[x]+a*Sx^2)-(f[y]...
一个简单的dp,比赛的时候太坚信自己的小聪明没用二维数组一直WA到死;#include#include#define maxn 1009#define mod 1000000007using namespace std;int num[maxn];long long ci[maxn][1026],a...
分类:
其他好文 时间:
2014-07-31 23:41:00
阅读次数:
216
计算出每个人得到礼物的概率,然后加起来即可 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 double dp[101010]; 7 int main(){ 8 int n,m; 9 while...
分类:
其他好文 时间:
2014-07-31 23:37:20
阅读次数:
298
哎,最近都在做图论,没有练DP,现在一遇到DP就不会了= =因为有合并这个操作,所以只要是首位相同的字符串肯定是能够构成good串的,那么只要统计在奇数位上出现的0,1的个数和偶数位数,随便递推一下就出来了#include #include #include #include #include #i...
分类:
其他好文 时间:
2014-07-31 23:34:50
阅读次数:
241