摘要:
题意:有一个天平。有N个砝码。重量分别是A1...AN。问重量【1..S】中有多少种重量是无法利用这个天平和这些砝码称出来的。S是N个砝码的重量总和。思路:对于每一个砝码来说,有三种:不放,放左盘,放右盘。额,,母函数和DP其实核心一样,,,,看代码,,代码:int n;int aa[105];bo... 阅读全文
posted @ 2015-02-01 23:09
fish7
阅读(221)
评论(0)
推荐(0)
摘要:
题意:假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26。那么,对于给定的字母,可以找到多少价值>N; while(N--){ memset(a,0,sizeof(a)); a[0]=1; ... 阅读全文
posted @ 2015-02-01 20:27
fish7
阅读(193)
评论(0)
推荐(0)
摘要:
题意:硬币有三种值:1,2,5。各自的数量分别是n1,n2,n5。问无法凑出的最小币值是多少。思路:用背包DP好解。不过俺用母函数做。其实二者的思路在本质上是一样的,,,,看代码,,代码:int n1,n2,n5;bool a[8005], b[8005];int main(){ while(... 阅读全文
posted @ 2015-02-01 20:20
fish7
阅读(110)
评论(0)
推荐(0)
摘要:
题意: N=a[1]+a[2]+a[3]+...+a[m];a[i]>0,1>N){ memset(a,0,sizeof(a)); a[0]=1; memset(b,0,sizeof(b)); for(int i=1;i<=N;++i){ for(i... 阅读全文
posted @ 2015-02-01 15:42
fish7
阅读(129)
评论(0)
推荐(0)
摘要:
题意:给N和M。输出1,2,...,N的第M大全排列。思路:将M逆康托,求出a1,a2,...aN。看代码。代码:int const MAXM=10000;int fac[15];int ans[1005];int kk;int n,m;vector pq;int main(){ int cn... 阅读全文
posted @ 2015-02-01 14:52
fish7
阅读(111)
评论(0)
推荐(0)
摘要:
康托展开 康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C... 阅读全文
posted @ 2015-02-01 14:26
fish7
阅读(186)
评论(0)
推荐(0)
浙公网安备 33010602011771号