自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 zoj 3640 Help Me Escape (概率dp)

题意: 吸血鬼被困在山洞中 这里有n条出去的路mei

2014-08-13 17:14:03 746

原创 Sgu 495 Kids and Prizes (概率dp)

题意:n个盒子每个盒子里装一个li

2014-08-09 11:12:15 565

原创 codeforces 148 D. Bag of mice(概率dp)

概率dp入门题题意:龙和公主zhuo

2014-08-06 20:47:26 519

原创 hdu 2167 Pebbles (状态压缩dp)

题意:给你个n*n的矩阵让你随便

2014-08-06 15:01:41 421

原创 hdu 4539 郑厂长系列故事——排兵布阵 (状态压缩dp)

题目链接:点击打开链接#include#includeint dp[110][200][200];// dp[i][j][k] 存第i行 状态为state[j] 上一行状态为state[k] 所能安排士兵的最大值int num[200];// 存合法状态对应的士兵数int state[200]; // 存行内不冲突的合法状态int map[110];// 用二进制按行存图int

2014-08-06 09:58:12 416

原创 hdu 1565 方格取数(1) (状态压缩dp)

题目链接:点击打开链接#include#includeint dp[25][20000];//存第i层 取第j种状态能得到的最大值int num[20000];//存合法状态int map[25][25];//存矩阵int limit;//枚举上界void init(int n)//初始化{ memset(dp,0,sizeof(dp)); int i,

2014-08-04 12:58:50 416

原创 hdu 1074 Doing Homework (状态压缩 dp)

题意:老师给你布置一堆作业

2014-08-02 20:05:22 413

原创 light oj 1068(数位dp)

题意:求[l,r]之间能被k整除 且各位数字

2014-07-28 10:31:25 459

原创 poj 3252 Round Numbers(数位dp)

题目链接:点击打开链接

2014-07-28 09:51:38 390

原创 codeforces (数位dp 记忆化搜索)

题意:枚举[a,b]之间的beautiful数

2014-07-26 17:17:16 610

原创 light oj 1032 - Fast Bit Calculations(数位dp 记忆化搜索解法)

题意:问[0,n]之间所有数用二进制bao

2014-07-25 15:45:18 460

原创 LightOJ 1140 How Many Zeroes?(数位dp 记忆化搜索方法)

题意:给你m,n问[m,n]之间所有数字包含多少个lon

2014-07-25 14:42:21 547

原创 hdu 3709(数位dp 记忆化搜索)

平衡数题目链接:

2014-07-24 10:10:00 464

原创 uestc 250 (数位dp 记忆化搜索解法)

题目链接:点击打开链接

2014-07-23 17:03:19 527

原创 map容器的用法

来源百度文库

2014-07-23 15:52:21 626

原创 hdu 4864

题目链接:点击打开链接//先考虑时间在考虑优先级#include#include#include#includeusing namespace std;struct node{ int x,y;}a[110000],b[110000];//a存机器 b存任务int comp(const void *a,const void *b){ struct n

2014-07-23 15:46:21 453

原创 hdu 3652(数位dp 记忆化搜索方法)

题目链接:点击打开链接

2014-07-22 11:13:27 620

原创 hdu3555(数位dp记忆化搜索)

#include#include__int64 dp[25][3];//dp[pos][pre] pos记录位数 pre记录前缀状态0表示前缀不包含49且pos+1不是4 1表示前缀不包含49且pos+1位是4 2表示前缀包含49int digit[25];//存数的各位上的数字int l;//存数的位数__int64 dfs(int pos,int pre,i

2014-07-09 16:22:15 486

原创 hdu2089

很水的一道题但我还是要发出来  yi

2014-07-07 18:07:01 477

原创 nyoj 61 传纸条(一)(双线程)

题目链接:点击打开链接

2014-05-22 16:11:09 485

原创 nyoj 括号匹配(二)(区间dp)

题目链接:点击打开链接

2014-05-20 17:15:39 649

原创 Post office (区间dp 记忆化搜索) http://acm.zzuli.edu.cn/problem.php?id=1468

从中间向两边推进dp[x-1][y+1]=dp[x][y]+dist[y]-dist[x];//#include#includeint dp[1100][1100];int dist[1100];int n;void init(){ int i; memset(dp,-1,sizeof(dp)); for(i=1;i<=n;

2014-05-16 10:42:15 2755

原创 nyoj 832合并游戏(状态压缩+记忆化搜索)

题目链接点击打开链接

2014-05-09 19:48:28 626

原创 Fzu 2113 Jason的特殊爱好 (数位dp)

#include#include__int64 dp[20][20];//dp[i][j]表示第i位前有j个1这种状态1的总数int num[20];//存每位数字__int64 a,b;__int64 dfs(int pos,int n,int flag)//pos表示位数  n表示pos位前有多少个1 flag为1表示当前位以前的位上的数与num[]

2014-05-09 10:20:34 826

原创 nyoj 1030 Yougth's Game[Ⅲ](区间dp 博弈组合题)

//区间dp和简单博弈组合#include#includeint dp[1100][1100][2];//dp[i][j][1]表示在区间[i,j]先取数的人在所有数都被取完时得到的最优情况  dp[i][j][0]后取数的人在所有数都被取完时得到的最优情况int n;int a[1100];int min(int a,int b){return a

2014-05-08 21:41:46 656

原创 poj 1948(背包)

//思路是看大神的//把三角型的一边当成一维费用 另一边当做另一维费用 //第三边可以通过sum-第一边-第二边得到//每一根棒子作为一个物品 棒子的长度作为物品的费用//所有棒子长度和的一半作为背包的大小 因为三角形任意一条边长不可能超过总长的一半#include#include#include#define N 1700/2i

2014-05-06 16:01:09 451

原创 hdu 1401(深搜)

//四个点一起搜//标记四个状态 用八维数组标记//每搜一个状态需要标记24种状态#include#includeint map[10][10];int ans[10][10];char  dist[8][8][8][8][8][8][8][8];int dir[4][2]={1,0, 0,1, -1,0, 0,-1};int f;i

2014-05-06 09:13:57 517

原创 Hdu 2196 Computer(树形dp)

//树形dp//深搜两次 第一次随便找个节点当做根节点深搜一次记录每个分支的价值 和各个节点的答案//第二次深搜 更新子节点与父节点之间的分支的价值// 根据子节点所连分支的所有价值更新子节点的答案#include#include#define N 11000#define debug 0int dp[2*N];//存答案int vis[2*N]

2014-05-01 11:21:24 419

原创 hdu 1520 Anniversary party(树形dp)

//树形dp入门第一题// 题意: 给一棵树每个节点都有权值 子节点和父节点不能同时取 问能取得权值之和最大是多少 看似有向边其实为无向边////从任意一个节点x dfs到叶节点 并计算叶节点的值 然后边回溯边dp 求当前节点的最优状态 当回溯到x时整棵树的最优解就得到了//dp[x][0]表示不取节点x得到的最优解 dp[x][1]表示取节点x 当取该节点时 就不能取它的父节点(

2014-04-29 15:41:26 450

转载 ACM的你伤不起!!!

劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!! 还没有习题答案啊,学完了你特么都不知道

2014-04-28 15:22:14 489

原创 hdu 2606 Renovation Problem hdu 2606

//看了冰学长的思路才明白// 当n>=3时可以全部由2x2的方砖镶嵌得到//eg:// 用 [**]   表示//      [**]   一块2x2的方砖// n=15 时//[**][**][**][**][**][**][**] *//[**][**][**][**][**][**][**] *//* [**][**][**][**][**][**][**]

2014-04-28 15:10:10 681

原创 hdu 2686 Matrix (多线程dp)

//多线程dp   看起来就是记忆化搜索//两条路一起来个dfs()//dp[x1][y1][x2][y2] 记录两个点的坐标#include#include#define N 50#define max(a,b) ((a)>(b))?(a):(b);int mat[N][N];int dp[N][N][N][N],n;int d

2014-04-28 08:14:54 473

原创 hdu 3555(数位dp)

//数位dp很有用要好好掌握#include#include__int64 dp[30][10][k];//dp[i][j][k]表示i位首位为j(k==1 表示包含49 k=0 表示不包含49)的数有多少个void  build(){__int64 i,j,k;memset(dp,0,sizeof(dp));dp[0][0][0]=1;

2014-04-16 12:54:27 392

转载 HDU 4283 You Are the One(区间dp)

//区间dp的用法真是灵活//这个题 想了很长时间 还是错了//下面的思路是参照大牛ZeroClock的// 思路: 栈有一个重要的性质就是 假设共有[1,n]元素 如果第一个元素第k个出栈则 元素2到k比第一个元素先出栈 元素k+1到n比第一个元素后出栈// 那么[1,n]就被分成了[2,k] [k+1,n]两个区间这样就可以用区间dp的三重循环的去做了//第一重循环i表示区

2014-03-08 17:01:04 494

转载 ZOJ Problem Set - 3469(区间dp)

//首先声明 本题思路代码都是抄袭大牛ZeroClock的//思路: 例如  1 2 X 4 5// 那么要给1 送饭必须先经过2 就是说必须先给内围的客人送饭 // 那么dp的区间就要从中间往两边慢慢推进 则dp[i][j][0]表示服务员送完i到j这个区间的客户的饭停留在左边 所有客户不满意度的最小和//                                

2014-03-05 15:01:14 586

原创 poj 1651(区间dp)

//很简单的区间dp//dp现在还不扎实 看了别人的思路才写出来的//思路: dp[i][j]表示i到j区间以最优方式取出中间的值后所得的最小值//假设k为i到j最后一次取出的卡片则 dp[i][j]=dp[i][k]+dp[k][j]+a[i]*a[k]*a[j]; #include#include#define N 110in

2014-02-28 19:04:10 532

原创 USTC 1276(矩阵dp 二维化一维)

//自己想出来的方法 队友说是矩阵dp 那就这样叫吧//思路: 选一个宽度 和起始列对应的下标 取出对应的区域 求出取出区域内 的子矩阵的最大和 与当前最大和比较// 当取遍所有子矩阵的时候当前最大和 就是 此矩阵所有子矩阵的 最大和//eg:1 1 1 1 //    2 2 2 2//    3 3 3 3//    1 1 1 1//如果 l=2

2014-02-24 18:39:32 714

原创 366C - Dima and Salad(0-1 背包)

//0-1背包 比赛的时候想到c[i]=a[i]-b[i]*k的转化了 但是没想到用DP//转化后就是一列数c[]  取其中的任意几个 让它们的和为0 并且所对应的a[]的和最大值//c[i]的和的范围是-10000到10000//dp[i][j]表示从前i个数中任意挑出几个数 和为j的状态的所对应a[]的和的最大值//则dp[n][0]就是从n个数中选出任意个它们的和为0 所对应

2013-11-26 22:03:42 634

原创 149D - Coloring Brackets(区间DP 记忆化搜索)

//区间DP 记忆化搜索//虽然没做过记忆化搜索的题  也不知道什么是记忆化搜索//但见网上大神们都这样说 我也是看他们的思路那就这样叫吧//记忆化搜索 应该就是每搜到一种状态就把这种状态存起来 以后再用的时候就不用再去搜了//dp[i][j][c1][c2]表示i到j区间第i个括号染色为c1,第j个括号染色为c2的所有符合要求的情况数#include

2013-11-26 13:21:27 589

转载 区间DP

区间dp总结篇前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增、公共子序列写了个总结。反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报告都看不明白,而到了现在,遇到区间dp之类的题目,我不至于没有任何方向,慢慢的推导,有些题目没有自己想象的那么难,还是可以推导出转移方程的,有些题目,在自己推导过后,

2013-11-24 17:39:17 612

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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