Peng Lv

毋意,毋必,毋固,毋我。 言必行,行必果。

导航

2010年4月10日 #

C++/STL Bitset (转)

摘要: 最近用的bitset比较多,位运算在存储状态、模拟行动、搜索很多方面有着非常巨大的优势,所以特意转了一篇bitset的基本用法。==========================================================构造函数bitset<n> b;b有n位,每位都为0.参数n可以为一个表达式.如bitset<5> b0;则"b0"为"00000"... 阅读全文

posted @ 2010-04-10 10:54 Lvpengms 阅读(12560) 评论(0) 推荐(1) 编辑

POJ 3652 Persistent Bits (模拟)

摘要: 没什么好说的,就是用位运算模拟就可以了。其中用mask来记录每个位是否被改变,没被改变的为1.[代码] 阅读全文

posted @ 2010-04-10 10:47 Lvpengms 阅读(292) 评论(0) 推荐(0) 编辑

POJ 3230 Travel (DP)

摘要: 题意:有n个城市,一个人从i到j城市时,可以得到income[j]的财富,需要消耗cost[i][j]的财富,也可以选择不动,也就是呆在i城市,那么可以得到income[i]的财富,需要消耗cost[i][i]的财富,但每个城市的incom[]是随天数变化的,求出m天内这个人能获得的最大的财富值。思路:很明显的dp,用dp[m][i]记录第m天,在第i个城市时所能获得的最大财富值,有一个地方需要注... 阅读全文

posted @ 2010-04-10 09:41 Lvpengms 阅读(480) 评论(0) 推荐(0) 编辑

POJ 3132 Sum of Different Primes (DP)

摘要: 题意:给定n和k,要求找出k个互不相同的素数,使其和==n,求这样的组合有多少中思路:因为素数互不相同,自然想到了0-1背包,可是怎么背包却想了很久,因为多了一个限制:k,那么必须用两维数组来做,用dp[M][K]表示在组成M时,K个素数互不相同的情况,于是可以用0-1背包来对每个prime进行dp:  dp[m][k] = dp[m][k] + dp[m-prime[i]][k-1]; //注意... 阅读全文

posted @ 2010-04-10 09:36 Lvpengms 阅读(658) 评论(1) 推荐(0) 编辑