codeforces #309 div2
来源:互联网 发布:知止阅读出题 编辑:程序博客网 时间:2024/05/29 09:32
显然是个数学题,对于第
可以视为将第
另外
显然也是个数学题,每个置换环用最大表示法表示,而置换环又按从小到大排列。
所以只会出现长度为
令
这样我们就可以知道后面的序列还有多少种方案可行,
令
#include <cstdio>#include <cstdlib>#include <iostream>#include <algorithm>const int maxn = 1005, Mod = 1e9+7;int n, c[maxn], tot, max;int g[maxn][maxn];long long ans = 1;int main(){#ifndef ONLINE_JUDGE freopen("C.in","r",stdin); freopen("C.out","w",stdout);#endif std::cin >> n; for(int i = 1; i <= n; i++) { std::cin >> c[i], tot += c[i]; max = std::max(max, c[i]); } for(int i = 0; i <= tot; i++) g[i][0] = 1; for(int i = 1; i <= tot; i++) for(int j = 1; j < max; j++) g[i][j] = (g[i-1][j-1]+g[i-1][j])%Mod; for(int i = 1, sum = 0; i <= n; i++) { sum += c[i]; ans *= g[sum-1][c[i]-1]; ans %= Mod; } std::cout << ans;#ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout);#endif return 0; }
#include<cstdio>#include<cstdlib>#include<ctime>#include<cmath>#include<cstring>#include<map>#include<string>#include<stack>#include<queue>#include<utility>#include<iostream>#include<algorithm>const int maxn = 55;long long f[maxn];int n; long long k;int main(){#ifndef ONLINE_JUDGE freopen("D.in","r",stdin); freopen("D.out","w",stdout);#endif std::cin >> n >> k; f[1] = f[2] = 1; for(int i = 3; i <= n; i++) f[i] = f[i-1] + f[i-2]; for(int i = 1; i <= n; i++) { if(k > f[n-i+1] && i < n) { k -= f[n-i+1]; std::cout << i+1 << ' '; std::cout << i++ << ' '; } else std::cout << i << ' '; }#ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout);#endif return 0;}
0 0
- Codeforces Round 309 div2
- Codeforces #309(div2)
- Codeforces #309(div2)
- codeforces #309 div2
- codeforces #78 div2 C
- codeforces 83div2
- 【codeforces #91 div2】
- codeforces 105 div2 A
- codeforces 105 div2 B
- CodeForces #120 DIV2
- Codeforces---125--div2--总结
- Codeforces-127-div2
- codeforces-div2-128
- codeforces-div2-134
- Codeforces 135 div2
- codeforces 137 div2
- Codeforces #137 div2
- Codeforces #49 div2
- Ubuntu系统日志配置 /var/log/messages
- C++的字符串分割函数
- 线程 return NULL 和 pthread_exit(NULL)
- leetcode 011-013
- STL map使用方法详解
- codeforces #309 div2
- 拆掉思维里的墙——有感
- 黑马程序员--c语言数据类型总结
- Objective-C 快速入门--基础(一)
- PHPUnit安装及入门(Unix或者Linux下)
- 摧毁自己
- C++/VC++ 命名及其他规范
- 大型网站架构体系的演变
- JFrame 与 Frame 的区别之一