![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 55
始之无
这个作者很懒,什么都没留下…
展开
-
hdu1087 Super Jumping! Jumping! Jumping!
解题思路:最大递增序列,动态规划 状态转移方程:d[i] = max(d[j]+a[i]) (0a[j]) AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,sizeof(p)) const int maxn = 101原创 2013-06-15 23:10:43 · 436 阅读 · 0 评论 -
hdu2059 龟兔赛跑
解题思路:动态规划 状态转移方程: d[i] = max(d[k] + TT) (0 TT : k点充电,从k到i点距离时间 总共n+2点,n个充电站+起点+终点 AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,si原创 2013-06-17 23:59:51 · 478 阅读 · 0 评论 -
hdu1789 Doing Homework again
解题思路:动态规划 || 贪心 太水了,没想到贪心。。。还不会写贪心版。。。。动态规划的马马虎虎过。。。可能有漏洞 状态转移方程: d[i][j] = max(d[i-1][j], d[i-1][j-1]+b[i], d[i][j-1]) 条件:先按时间排序,少的在前,如果相同,罚的,大的在前 i : 第几个科目 j : 天数 b[] :罚的数量 AC代码: #i原创 2013-06-18 00:08:31 · 473 阅读 · 0 评论 -
hdu2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
解题思路:多重背包 AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,sizeof(p)) const int maxn = 100010 ; int n, m, C; int d[110]; void zeroOnePa原创 2013-06-16 23:34:11 · 514 阅读 · 0 评论 -
hdu1114 Piggy-Bank
解题思路:完全背包 注意要初始 d[0] = 0 AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,sizeof(p)) const int maxn = 10010 ; int n, m, C; int d[maxn原创 2013-06-16 23:32:23 · 461 阅读 · 0 评论 -
hdu1422 重温世界杯
解题思路:动态规划 先预处理:对于每一个城市,生活费-花费,得到一个数。 接着就是求最大连续子序列和(这题是统计个数),这就算是经典问题吧。 状态转移方程: d[i] = d[i-1]+a[i] >= 0 ? d[i-1]+a[i] : 0 AC代码: #include #include #include #include #include using names原创 2013-06-16 23:29:10 · 700 阅读 · 0 评论 -
hdu1864 最大报销额
解题思路:0/1背包 把实数转成整数,背包只适用整数,*100即可 可以报销的票,要么选,要么不选,且只能选一次。 不可报销的票:票价>1000,A、B、C类单项>600,注意,一张票可能A类出现不止一次。 0/1背包关键代码: for (int i=1; i=a[i]; --j) d[j] = max(d[j], d[j-a[i]]+a[i]); AC代码:原创 2013-06-15 23:29:06 · 404 阅读 · 0 评论 -
hdu2571 命运
解题思路:动态规划,从左上到右下 状态转移方程: d[i][j] = max(d[i-1][j], d[i][j-1], d[i][k]) + a[i][j] (k AC代码: #include #include #include #include #include using namespace std; #define clr(p,v) memset(p,v,s原创 2013-06-15 23:16:36 · 423 阅读 · 0 评论 -
hdu1176 免费馅饼
解题思路:动态规划 可以看成倒的塔,这个地方转换过来就快了,状态转移方程: d[i][j] = max(d[i+1][j-1], d[i+1][j], d[i+1][j-1]) 最后答案是d[0][6] AC代码: #include #include #include #include #include using namespace std; #define clr原创 2013-06-15 23:21:57 · 399 阅读 · 0 评论 -
Codeforces Round #209 (Div. 2)思路
A. Table 简单题。 #include #include #include #include using namespace std; int main() { int n, m, ans; scanf("%d%d", &n, &m); int x; ans = n*m; for (int i=1; i<=n; ++i) fo原创 2013-11-28 19:28:36 · 464 阅读 · 0 评论