摘要: 连接http://acm.hdu.edu.cn/showproblem.php?pid=2546这道题一开始我想错了以为是贪心。。。当时看到这道题的思路就是首先要-5然后用DP最后用看剩下来谁最大就买谁~后来实在不知道应该怎么处理,终不能用VIS来跟踪标记把= =。。。然后觉得思路错了, 应该是吧最大的那个菜留到最后再买~View Code 1 #include <stdio.h> 2 #include <string.h> 3 /*int cmp(const void *a,const void *b) 4 { 5 return a-b; 6 }*/ 7 int ma 阅读全文
posted @ 2012-08-14 21:55 某某。 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 地址连接:http://acm.hdu.edu.cn/showproblem.php?pid=2955Roy 去抢N个银行,去抢第j个银行时能得到Mj的钱,被抓的概率为Pj。问在被抓的概率不大于P时能抢到的最多的钱是多少。这道题一开始我以为用P去当背包容量,但是P是double型,所以制定不行= =。。然后没大有思路。。。后来看到网上的思路就是逆向思维,将钱的总数当做背包容量~于是转成以所有银行的总资产为背包容量V。。求最大的逃跑概率。。也就是我们一个都不偷的时候我们逃跑的概率为1,每当我们偷了一个我们都要*(1-p[i])我们成功逃跑的概率状态转移方程:dp[j] = max ( dp[j] 阅读全文
posted @ 2012-08-14 21:51 某某。 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目连接:http://poj.org/problem?id=3211大意就是 一个人洗衣服,然后找他媳妇帮忙。有n种颜色的衣服,和m件衣服,每件衣服的颜色和洗出来的时间都会给出来。再洗的时候两个人不能同时洗一件衣服,但是可以洗两件衣服,但是不同种颜色的衣服不能同时洗~让你求所需要的最少时间。这样我们就可以知道,这道题就是对每一种颜色的衣服所需要的时间进行dP就OK了,对每一种颜色的衣服DP就相当于给你几个正数让你把他分的尽量平均,也就是把和加起来然后除以2作为背包容量~代码:#include <stdio.h>#include <string.h>struct nod 阅读全文
posted @ 2012-08-14 00:10 某某。 阅读(419) 评论(0) 推荐(0) 编辑