【组合数学】Critical Mass, UVa580
2016-10-13 15:35
337 查看
刘汝佳书上分析得很好。我就不多写了。
#include<bits/stdc++.h>
using namespace std;
int n;typedef long long LL;
LL f[40],g[40],w[40];
int main()
{
ios::sync_with_stdio(false);
f[0] = f[1] = f[2] = 0;
g[0] = 1;g[1] = 2;g[2] = 4;w[0] = 1;
for(int i=1;i<=30;i++)
w[i]=w[i-1]*2;
for(int i=3;i<=30;i++)
{
f[i] = w[i-3];
for(int j=2;j<=i-2;j++)
f[i]+=g[j-2]*w[i-j-2];
g[i] = w[i]-f[i];
}
while(cin>>n)
{
if(!n)break;
cout<<f
<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n;typedef long long LL;
LL f[40],g[40],w[40];
int main()
{
ios::sync_with_stdio(false);
f[0] = f[1] = f[2] = 0;
g[0] = 1;g[1] = 2;g[2] = 4;w[0] = 1;
for(int i=1;i<=30;i++)
w[i]=w[i-1]*2;
for(int i=3;i<=30;i++)
{
f[i] = w[i-3];
for(int j=2;j<=i-2;j++)
f[i]+=g[j-2]*w[i-j-2];
g[i] = w[i]-f[i];
}
while(cin>>n)
{
if(!n)break;
cout<<f
<<endl;
}
return 0;
}
相关文章推荐
- 例题10-13 UVA - 580 Critical Mass 危险的组合(递推)
- UVA - 580 Critical Mass(dp 数学)
- uva 580 Critical Mass(递推)
- uva 580和hdu 2047 关于连续不能连续重复n个字符的组合的总结
- UVA 19889 组合数学
- UVa 580 Critical Mass
- 动态规划 UVA - 580 Critical Mass(公式法)
- UVA 10375 - Choose and divide(数论)(组合数学)
- UVa 580 (递推) Critical Mass
- uva 10883 - Supermean(组合数学+数值优化)
- UVA 580 Critical Mass
- UVA 12712 Pattern Locker(简单排列组合数学题)
- UVa 11401 - Triangle Counting (组合数学)
- UVaLIve 2889 | LA 2889 | UVa 12050 - Palindrome Numbers (组合数学)
- UVA 580 - Critical Mass(DP)
- UVa 11038 - How Many O's? (组合数学 数位统计)
- uva 11538 组合数学
- UVa 11806 - Cheerleaders (组合数学 容斥原理)
- UVA 11609 (组合数学)
- uva 11609 - Teams(组合数学+快速幂)