- 博客(4)
- 收藏
- 关注
原创 hdu 1327 Definite Values--map
/* 题意:a有确定的值 其他的是随机值 通过运算,那些变量是确定的值 map 的应用 */ //#pragma warning(disable: 4786)//加上这句可以屏蔽长标示符带来的警告 #include #include #include #include using namespace std; mapm; map::iterator it; void pro(string s,st
2012-11-05 16:31:39 893
原创 hdu 1569 方格取数(2)--最大点权独立集-->最大流
/* 二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。 二分图最小点权覆盖 从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。 建模: 原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t,将s和x集合中的点
2012-11-05 13:51:09 686
原创 hdu 2955 Robberies--01背包
/* 题目大意:有一个小偷要偷银行的钱,可是他偷没家银行总是有一定的概率被抓,现在给了你一个概率P,只要他被抓的概率乘积不大与P,他就是安全的。 问你在他安全的情况下,他最多可以偷多少钱。 做这道题是,错误的认为题目所给的浮点型的数据都是精确到小数点后两位,然后把概率放大100倍,转换成为熟悉的01背包。。faint。。经测试题目的数据可能达到0.00001,甚至比0.00001还小,,所以
2012-11-02 18:01:06 785
原创 hdu 3998 Sequence --最长上升子序列+最大流
/* 题意:给出一个序列,问该序列的最长上升子序列的长度是多少,以及相同长度的,组成元素完全不同的最长上升子序列的个数。 思路:第一问用O(n^2)的dp求解,第二问就是最多不相交路径了。 设最长上升子序列的长度为k,第一问解决后,dp数组中保存的是以这个数结尾的最长上升子序列的长度,于是把每个数拆成两个点i和i’,中间连容量为1的边,表示每个数只能选一次, dp值为1的与源点连边,dp值为k的
2012-11-01 21:14:45 752
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人