解题思路:因为对于完全背包的状态转移方程f[v]=max(f[v],f[v-c[i]]+w[i])已经记录了所有背包组成的方案,只不过通常问的是求最大值,现在要求方案总数即为 f[v]=sum(f[v],f[v-c[i]+w[i]]),Problem Description在一个国家仅有1分,2分,...
分类:
其他好文 时间:
2014-12-07 08:59:43
阅读次数:
275
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1042
刚开始搞容斥原理,还很有点吃力,我太弱了。。。
首先用被类似于背包的DP进行预处理,假设每种硬币个数无限制,求出f[i]=凑出面值i的方案总数。
但是实际上题目中每种硬币个数是有限制的,设四种硬币分别是a、b、c、d,则凑出面值S的方案中超出限制的方案数=a超出限制的方...
分类:
其他好文 时间:
2014-12-04 23:20:29
阅读次数:
234
最近做模拟题看到一些好的题及题解。升格思想:核电站问题 一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数输入:输入文件只一行,两个正整数N,M(13,那么还需要a[...
分类:
其他好文 时间:
2014-10-31 19:07:07
阅读次数:
166
这题说的是 有n 层每层 有两个门 每个门 可以到达上一层的两个门,然后求从a 层到达b 层的方案总数, 不能后退, 在同一层中不能从第一个门到达另一层我们只要我们可以对于每个 区间内 有dp[o][2][2] , 表示 在这个区间中 从区间起始到达区间末尾 的两个门分别设 a1,a2, b1,b2...
分类:
其他好文 时间:
2014-10-19 18:26:45
阅读次数:
309
【题目简介】
现存在一堆面值为 V1、V2、V3 … 个单位的硬币,一共有多少种找钱方法可以找出总值为 T 个单位的零钱?最少需要多少张钱币?在最少钱币数目找钱的条件下,每种钱币使用的次数是多少?假设这一堆面值分别为 1,2,3 元,需要找出总值 T 为 4 元的零钱。很明显,一共有4中找钱方法:1 + 1 + 1 + 1, 2 + 2, 1 + 3, 2 + 2 + 1 + 1;最少需要两张钱币,可能为 3 + 1或者2 + 2.当存在多种情况时,只需要输出其中一种。...
分类:
其他好文 时间:
2014-10-18 14:04:40
阅读次数:
218
Trie图的简单应用。这题关键是想出递推式。令d(i)表示从字符i开始的字符串,d(i)=sum{d(i+len(x))},x是s[i...L]的前缀。然后把所有可分解成的单词构造成一颗Trie树,再让母串在上面跑,d[0]即是方案总数。
#include
#include
#include
#include
#define mod 20071027
#define M 400005
using...
分类:
其他好文 时间:
2014-09-26 20:24:47
阅读次数:
179
这题说的是给了一个长的字符串长度最大300000,又给了4000个单词 单词的长度不超过100.计算这个字符串能组成多少种不同单词的组合,求出方案总数。dp[i]以第i个字符为开始的字符串能有多少种的组成方案,这样每次去比较肯定是会超时的,然后可以用Trie树去优化,这样最多枚举100位种比4000...
分类:
其他好文 时间:
2014-09-10 17:42:10
阅读次数:
243
先选人,再从这些人里选一个队长,方案总数:C(i,1)*C(n,i)(其中i从1到n)的总和。这个公式显然不能在时限内暴力算出来,需要变形和推导出更简单的来。用到组合数里面这个公式:C(n,k)*C(k,r)=C(n,r)*C(n-r,k-r)(其中r#include#include#include...
分类:
其他好文 时间:
2014-08-30 01:16:18
阅读次数:
239
题目描述一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数输入格式输入文件只一行,两个正整数N,M( 1m时,f[i]=2*f[i-1]-f[i-m-1];//这是....
分类:
其他好文 时间:
2014-06-22 23:34:48
阅读次数:
296