上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 66 下一页
摘要: 代码如下:#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>#define MAXN 1000005using namespace std;int M, N, seq[MAXN];int pre[MAXN], cur[MAXN];int DP(){ int Max; memset(pre, 0, sizeof (pre)); memset(cur, 0, si 阅读全文
posted @ 2012-05-08 17:21 沐阳 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 简单完全背包。代码如下:#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>#include <algorithm>#define MAXN 500#define INF 0x3ffffffusing namespace std;int E, F, N, W, dp[10005];struct Node{ int p, w; }e[MAXN+5];void c_bag(int x){ for (int 阅读全文
posted @ 2012-05-03 19:50 沐阳 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>#define MAXN 105using namespace std;int N, M, p[MAXN], v[MAXN], num[MAXN], dp[MAXN];int zo_bag(int v, int p){ for (int i = N; i >= p; --i) { dp[i] = max(dp[i], dp[i-p]+v); }}int c_bag(int x){ int 阅读全文
posted @ 2012-05-02 22:27 沐阳 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题意就不多说了,刚开始还在用搜索来写,定了两个方向,标记去重,各种,然后就TLE了。正解就是枚举行方向的量,再控制列方向的量,使得行和列上的偏移量不超过规定的步数即可,在没有每一次memset的情况下,注意在枚举的时候去掉自己这个点。代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#define MOD 10000#define MAXN 105using namespace std;int G[MAXN][MAXN], n, m;int dp[MAXN][MAXN];inline int 阅读全文
posted @ 2012-05-02 21:55 沐阳 阅读(324) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1789题义是给定一个作业序列,求如何分配使得得到的分数最多。设 dp[i][j] 代表截止到第i个作业,第j天所能够完成的最多分数。dp方程为:if (1<= j <= e[i].time) dp[i][j] = max(dp[i-1][j], d[i-1][j-1]+e[i].score);if (e[i].time+1 <= j <= Last) dp[i][j] = max(dp[i-1][j], dp[i][j-1]);代码如下:#include <cstdlib> 阅读全文
posted @ 2012-05-02 19:55 沐阳 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 题目意思很好懂。暴力的想法是在已知的丑数中选出最小的,保存之,然后乘以2,3,5,7保存起来,这里要注意去重。不得不说其英文输出很坑爹。代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <queue>#include <map>#include <iostream>#define MAXN 5850using namespace std;int n, a[4] = {2, 3, 5 ,7};long long ans[MAXN]; prio 阅读全文
posted @ 2012-05-02 17:28 沐阳 阅读(294) 评论(0) 推荐(1) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1421 题义是给定N个物品,从中选取K对,每取一对的花费是两个物品重量之差的平方。求最后采用何种策略才能使得总的花销最少。 该问题的限制条件是取K对以及物品的个数,因此在不优化的情况下,我们使用dp[i][j]来表示在前i见物品中选取j对的最少花费。那么就有动态转移方程: dp[i][j] = min(dp[i-1][j], dp[i-2][j-1]+(w[i]-w[i-1])*(w[i]-w[i-1])); 代码如下:#include <cstdlib>#include <cstring& 阅读全文
posted @ 2012-05-02 14:36 沐阳 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 给定一个N*M的01矩阵,在可以交换列的情况下,求出最大的全1的子矩阵。 代码如下:#include <cstring>#include <cstdio>#include <cstdlib>#include <algorithm>#define MAXN 1005using namespace std;int N, M, high[MAXN], temp[MAXN];char G[MAXN][MAXN];int deal(){ int Max = 0; memcpy(temp, high, sizeof (high)); sort(temp+1, 阅读全文
posted @ 2012-05-01 20:09 沐阳 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 这次武汉之行可以说是跌宕起伏,此行中的各种苦逼与欢乐尽在我的接下来的流水账的所写。 时间到4月25号,买回程的火车票,我们的火车票经历了 “订票-改签-退票-订票-取消订单-订票-取消订单-订票-改签” 的漫长过程,现在安全的回到了株洲了。 由于是晚上坐的火车,4月28号上午睡了一上午。下午,开幕式+热身赛,乘坐校车去了比赛地点,心中不禁感叹武汉大学真是体贴啊。可是等到热身赛结束,天下起了大雨,没有伞,教练在酒店呢,不能马上赶过来,于是小白就带头冲出去了,作为一个集体怎么能让他一人单个人先离开呢,没有办法,就只有一起走了。跑走到酒店,鞋子衣服裤子都湿了。回到房间,洗了个头,吹了吹鞋子。... 阅读全文
posted @ 2012-05-01 01:00 沐阳 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 对于每一个点由其上一步的结点传递过来,存在最优子结构,即对于正确路径的上的任意一点将都是最优的,并且存在最优子结构。保留最优值的时候注意方法,不然TLE。代码如下:#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>#define MAXN 200000using namespace std;int N, M, dp[MAXN+5], G[MAXN+5], mm[MAXN+5];inline int max(in 阅读全文
posted @ 2012-04-23 21:14 沐阳 阅读(220) 评论(0) 推荐(0) 编辑
上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 66 下一页