
解题报告
文章平均质量分 56
Neil_Lai_
这个作者很懒,什么都没留下…
展开
-
HDU 2544 最短路dijstra算法
#include#include#include#include#define MAX 0x3f3f3f// MAX设置要注意 using namespace std;struct Node{ int time; int from; int to;};int visit[101];int dis[101];typedef vector*Graph;void add_原创 2017-04-29 14:04:02 · 419 阅读 · 0 评论 -
hdu1385
重点是打印路径的方法#include#include#include#include#define MAX 10000#define INF 0X3f3f3f3fusing namespace std;int G[MAX][MAX];int dp[MAX][MAX];int path[MAX][MAX];int tax[MAX];int n;void Floyd()原创 2017-04-29 18:14:48 · 322 阅读 · 0 评论 -
hdu1010 经典的DFS+奇偶剪枝
这题很久以前做的,不过当时没AC - -后来发现是count没有放在代码里面(注意有多组测试数据 - -)DFS注意回溯的话要把访问标记重置。剪枝代码放在DFS两个地方,一个是访问领接点之前,这是对一个点状态剪枝,另外一个是放在访问领接点的代码里,是对多个状态的比较关系剪枝。奇偶剪枝:剩余步数和最小步数的奇偶性相同#includeusing namespace std;#def原创 2017-04-30 13:42:48 · 333 阅读 · 0 评论 -
hdu2844 多重背包+二进制优化
直接用多重背包,超时#include#include#define INF 1000using namespace std;int main(){ int n,m; while (cin >> n >> m, m,n) { int *c= new int[n]; int *w= new int[n]; int *num = new int[n]; for (in原创 2017-04-24 16:29:51 · 374 阅读 · 0 评论 -
HDU2194 二维完全背包
之前还没碰到过二维的,不过和一维方法类似,主要搞清楚每一个物品会导致哪个量变化,会受哪些量限制,限#include#include#define MAX 101using namespace std;int dp[MAX][MAX] ,c[MAX],w[MAX];//dp为j点忍耐值,x次可以获得的最大经验int main(){ int n, m, k, s; while (c原创 2017-04-25 11:08:10 · 372 阅读 · 0 评论 -
HDU1003 最长子序列和 max sum
序列型的动态规划找状态一般考虑起始开始的点。例如这题状态是以i结尾的序列的最长子序列和dp[i]。#include#includeusing namespace std;#define INF 0x3f3f3f3fint dp[100001];int num[100001];int first[100001];int main(){ int m; while (cin >>原创 2017-05-08 16:59:03 · 288 阅读 · 0 评论 -
HDU1087 最简单的lis动态规划
#include#include#define INF 0x3f3f3fusing namespace std;int dp[10001];int num[10001];int main(){ int n; while (cin >> n,n) { for (int i = 1; i <= n; i++) cin >> num[i]; dp[1] = num[1]原创 2017-05-08 18:01:29 · 363 阅读 · 0 评论 -
POJ2299 树状数组+离散化
树状数组主要两个操作,求和,修改#include#includeusing namespace std;#define N 500001int c[N];int n;struct Node{ int val; int pos;};Node node[N];int a[N];int lowbit(int x){ return x&(-x);}int sum(in原创 2017-04-26 11:56:51 · 324 阅读 · 0 评论 -
HDU3791
测试数据没错 找了半天不知道错在哪。。一直WAhttp://acm.hdu.edu.cn/showproblem.php?pid=3791#include#includeusing namespace std;typedef struct treenode{ struct treenode* left; struct treenode* right; int data;原创 2017-04-25 23:04:30 · 417 阅读 · 0 评论