自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sepNINE的专栏

As brief as possible

  • 博客(11)
  • 收藏
  • 关注

原创 poj 1170 Shopping Offers 完全背包

题意:给在商店里要买的商品的种类,数量,价格,和一些组合购买选项(如同时买2个a,1个b,只要x元),求最小花费。分析:因为要买的商品种类数b是变量(b代码://poj 1170//sep9#include using namespace std;int b,c,k,p,s;int dp[8][8][8][8][8];int tot_idx[8];int idx[

2015-09-29 16:42:17 443

原创 poj 3276 Face The Right Way 翻转问题的灵活处理

题意:给一个0,1序列,每次连续翻转k个,求翻转m次将序列全置0的最优二元组(k,m)。分析:题意说是要优先优化m,但不一定要优先枚举m,可以先枚举k再在内循环中处理。这题关键是把独立关系转化为依赖关系,每位与前面一样为0,不一样为1。这样翻转一位i时,只需改变i+k,不用改变i,i+1,i+2,i+k-1。代码://poj 3276//sep9//n^2#include

2015-09-28 17:51:31 427

原创 poj 1404 I-Keyboard dp输出方案

//poj 1404//sep9#includeusing namespace std;int k,l;int frequency[128];int cost[128][128],price[128][128],idx[128][128];char keys[128],letters[128];void ini(){ memset(price,0x40,sizeof(pric

2015-09-27 23:13:36 703

原创 poj 3280 Cheapest Palindrome 区间dp

题意:给添加和删除每个字符的代价,求将一个字符串变成回文串的最小代价。分析:区间dp,采用了备忘录方法。代码://poj 3280//sep9#includeusing namespace std;const int maxN=2048;int n,m;int dp[maxN][maxN];char s[maxN];int add_cost[256],del_c

2015-09-27 14:45:32 432

原创 poj 1782 Run Length Encoding 自动机处理字符串

题意:给一个字符串,要将它按规则转化为新字符串,规则有1)重复的比如aaaa转化为4a,如果重复次数超过9分开处理。2)不重复的片段在两端加1输出,如234输出1234,如果不重复片段中有1则加1个1输出,如2134输出1211341。分析:用自动机处理比较简单,自动机是一种能规范分支讨论的方法,而且自动机能帮助构建逻辑且代码简洁不易出错。代码://poj 1782//sep

2015-09-20 20:12:54 925

原创 poj 1784 Huffman's Greed 动态规划四边形加速求最优二叉搜索树

题意:给二叉搜索树的内部节点p1,p2...pn和外部节点q0,q1,..qn,求一棵比较数期望最小的二叉搜索树,输出期望。分析:n^3的动态规划很容易想到,方程满足四边形优化的条件,可优化的n^2.代码(n^3)://poj 1784//sep9#include using namespace std;const int maxN=256;int dp[maxN][

2015-09-20 06:12:49 1570

原创 poj 1185 炮兵阵地 状态压缩dp

题意:良心中文题不赘述了。分析:状态压缩dp,每行的状态和前两行有关。代码://poj 1185//sep9#include using namespace std;int n,m;char g[128][16];int row_state[128][128];int dp[128][64][64];bool check(int row,int st){ f

2015-09-17 14:16:22 543

原创 poj 1192 最优连通子集 树的孩子兄弟表示法+简单树型dp

题意:poj的良心中文题,不赘述了。分析:难点是想到能把题中的最优单连通子集问题转化为求树的最大权子树问题,之后我用的是孩子兄弟表示,当然在建树的时候直接dp也行。树的最大权子树感觉是最简单的树型dp了。代码://poj 1192//sep9#include #include #include using namespace std;const int maxN=1

2015-09-14 10:35:59 947

原创 poj 2157 Maze 枚举排列+dfs搜迷宫

题意:给一个迷宫,求是否可从S走到G,迷宫中有门课钥匙,要获得相应种类的所有钥匙才能打开该种门(比如获得所有a才能打开A)。分析:枚举打开门的顺序,搜路径即可。代码://poj 2157//sep9#include#includeusing namespace std;const int maxN=32;char maze[maxN][maxN];char g[m

2015-09-11 17:27:48 1102

原创 poj 2049 Finding Nemo 建图技巧型最短路

题意:给一个由墙和门组成的迷宫,求从原点到目标点最少要经过多少道门。分析:有人用bfs来,结果写的是介于bfs和最短路中间不伦不类的算法。。这题边权为0或1,用bfs求最短路靠谱么??bfs是只能求边权恒定的最短路,这题用bfs过的是因为把bfs写成了spfa(spfa本来就是一种优化的bfs算法),bfs是什么?搜索,搜索的含义是搜到一个状态以后就不会再经过这个状态了,故在bfs里对

2015-09-10 19:38:16 701

原创 poj 2096 Collecting Bugs 概率dp

代码://poj 2096//sep9#include #include using namespace std;double E[1005][1005];int main(){ int n,s; while(scanf("%d%d",&n,&s)==2){ for(int i=0;i<=n+1;++i) for(int j=0;j<=s+1;++j)

2015-09-09 23:57:27 451

空空如也

空空如也

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

TA关注的人

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