摘要: 多重背包就是完全背包的一个特例 最容易的思想就是转化为01背包去遍历书写 杭电2191 #include<stdio.h> #include<string.h>int max(int x,int y){ if(x>y) return x; else return y;}int main(){ int 阅读全文
posted @ 2016-03-28 12:49 猪突猛进!!! 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 不多说先贴上代码#include<stdio.h>void qsort(int a[],int start,int end){ int i,j,key; i=start; j=end; if(i>=j) return; key=a[i]; while(i<j) { if(a[j]>=key) j-- 阅读全文
posted @ 2016-03-27 21:44 猪突猛进!!! 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 首先 队列的基本用法 头文件 #include<queue> priority_queue < int/string/struct> q// q为队列的名字 基本操作 q.push() 入队 (入队可以将整个结构体中的数据直接入队,后面的pop,top 都是如此) q.top() 返回队首元素 q. 阅读全文
posted @ 2016-03-26 21:22 猪突猛进!!! 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 2046 比如2046中 f(n-2)*1而不是*2 2046中的f(n)就可以分为f(n-1) f(n-2)两种情况 因为之后的情况就是这两种情况的组合 而1143不可以 因为只有的n-6 n-8......都有属于自己的特解 所以不能只用f(n-2) f(n-4)来作为一个子状态 阅读全文
posted @ 2016-03-23 17:17 猪突猛进!!! 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 头文件 #include<stack> stack<int> s; stack<char> s;//定义一个名字为s 的存int char的stack 基本指令 s.pop() 栈顶出栈。。 s.push(x) x入栈(无返回值的函数) s.top() 访问栈顶元素 s.empty() 判断栈是否为 阅读全文
posted @ 2016-03-22 20:23 猪突猛进!!! 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 前面学习了结构体以及高效率的sort(虽然现在还不是很清楚sort的原理 只知道是快速排序) ps(5182)试了下水 那么 两者就要结合起来了 当题目中有多条件排序的时候 结构体排序的优势就体现出来了。。。。 比如 杭电的1236 排序的话 是先按分数降序排序 如果分数大小相同 则按序号升序排序也 阅读全文
posted @ 2016-03-18 21:12 猪突猛进!!! 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 很早就开始写高精度的加法了 今天来总结一下吧首先 我用的是字符数组处理的方法 先用字符数组输入 在逆序转入int型的数组 然后进位计算就好了 需要注意的几个细节 1.记得每次循环都需要初始化 #include<stdio.h>#include<string.h> int max(int x,int 阅读全文
posted @ 2016-03-13 21:13 猪突猛进!!! 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 昨天晚上加今天半早上。。。 终于ac了 两个注意点 一个是关于某年某月某日换算为这年的N天的问题 定义两个数组 一个用来存放闰年的 一个用来存放平年的。。。。。 这样处理起来就不用怕出差错了。。用二维字符数组来代替switch 每一个“,,,”表示每行中的字符串 这样方便一点最后贴上代码 纪念我的逝 阅读全文
posted @ 2016-03-13 11:23 猪突猛进!!! 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 通过不断的去模拟代码的运行 对背包问题有了更深的理解 sum[i][j]=max(sum[i-1][j],sum[i-1][j-x[i]]+v[i]); 实际上就是数据的不断更新过程 在上一子问题的基础上 对该子问题每个空间大小能放的最多价值进行更新 然后使用于下一个子问题 由于每个子问题都是最优解 阅读全文
posted @ 2016-03-09 22:52 猪突猛进!!! 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 对一个二维数组c[i][j] i表示放入背包中物体的个数 j表示目前剩余空间量 c表示目前的最大价值 (w[],v[]分别表示每个物品的重量 价值) 基本的动态规划问题 用一个二维数组进行动态填表动态规划的核心是将一个问题分解成若干个子问题 并对子问题进行当前状态的最优解的问题对01背包问题每个子问 阅读全文
posted @ 2016-03-09 17:53 猪突猛进!!! 阅读(402) 评论(0) 推荐(0) 编辑