MDeath-Kid

- M I T & Y
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  规划问题

整数规划,线性规划,动态规划,非线性规划
摘要:第一次按位DP,按位DP主要是求在一区间上满足某种或几种关系的数字有多少个。记得我从4月份的浙大月赛碰到第一个这样的题后,碰到了好多次,可都不会啊,现在终于会了这个DP。HDU 3555这个多校的赛大概是很多人第一次的按位DP,我也是,理解按位DP用了一天+晚上的时间,虽然比赛的时候还A出来两个比较水的按位DP,但自己的思路狠不清晰,狠让我震惊的就算这个题的discuss,那位童鞋太萌了!!~我为了理解按位DP到底是怎么运行的,我自己手动算了两张纸,而且是两边啊啊啊啊啊,因为不懂啊,知道那个状态设计,但是不知的实现起来怎么就那么的费劲啊啊啊,最后终于理解了,觉得用HDU那位童鞋的代码做模板了, 阅读全文

posted @ 2011-08-08 19:07 MDeath-Kid 阅读(725) 评论(0) 推荐(0)

摘要:HOJ 2500 1 #define FOPEN freopen("/media/3CBCB387BCB33A6A/1.txt","r",stdin); 2 #define MAXN 203 3 int n; 4 short dp[MAXN][2]; 5 6 struct str_hash { 7 size_t operator () (conststring& str) const { 8 unsigned long __h =0; 9 for(size_t i =0;i<str.size(); i++)10 __h =5* __h +s 阅读全文

posted @ 2011-08-08 18:45 MDeath-Kid 阅读(313) 评论(0) 推荐(0)

摘要:HOJ 2798 1 #define MAXN 1000000 2 #define N 12 3 #define M 1<<(16) 4 int n,all,m; 5 int ans,sum; 6 7 int dp[M][N]; 8 char mat[N][N]; 9 map<string,int> mp;10 map<string,int>::iterator p;11 inline int fun(int x,int y) {12 int xln = strlen(mat[x]);13 int yln = strlen(mat[y]);14 for(in 阅读全文

posted @ 2011-08-08 18:23 MDeath-Kid 阅读(3133) 评论(2) 推荐(3)

摘要:POJ 2823#define MAXN 1000003int a[MAXN];int n,m;struct node { int num,t;}q[MAXN];int head,rear;void add(int num,int i) { while(head <= rear && q[rear].num <= num) rear--; rear++; q[rear].num = num; q[rear].t = i;}void addmin(int num,int i) { while(head <= rear && q[rear].num 阅读全文

posted @ 2011-08-08 17:29 MDeath-Kid 阅读(337) 评论(0) 推荐(1)

摘要:代码/*2011-05-17 19:26:31 Accepted 3258 C++ 230 1168 MDK */#include<iostream>#include<stdio.h>#include <stdlib.h>#include <string.h>#define MAXN 50005using namespace std;typedef struct bone{ int valu; int volu; double bili; bool type;}bone;bone ben[MAXN];int cmp(const void *a,c 阅读全文

posted @ 2011-05-17 19:47 MDeath-Kid 阅读(250) 评论(0) 推荐(0)