HDU 2068 RPG的错排
来源:互联网 发布:淘宝点击率是什么意思 编辑:程序博客网 时间:2024/06/03 06:33
错排简单点说就是给n个节点它们原来的位置为i,
然后让你把它们从新排列使得它们都不在它们原来的位置上。
错排递归公式:f(i) = (i - 1) * (f(i - 1) + f(i - 2)); i >= 4 (f(0) = 0, f(1) = 0, f(2) = 1, f(3) = 2);
而本题的解法是:组合 + 错排
由于要猜对一半以上,就是那从n个人中取出小于等于n / 2的人进行错排
因为最后要求的答案是能够通过的所有解,所以只要累加0 -> n / 2的所有错排数
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<iostream>#define clear(n,m) memset(n,m,sizeof(n))using namespace std;__int64 C(int n, int m){ if (m > n / 2) m = n - m; __int64 u = 1, d = 1; for (int i = 1;i <= m;i++) { u *= (n - i + 1); d *= i; } return u / d;}int main(){ int n, d[14] = { 1,0,1 }; for (int i = 3;i < 14;i++) { d[i] = (i - 1)*(d[i - 1] + d[i - 2]); } while (cin >> n && n) { __int64 res = 0; for (int i = 0;i <= n / 2;i++) { res += C(n, n - i)*d[i]; } cout << res << endl; } return 0;}
0 0
- HDU 2068 RPG的错排
- (hdu 2068)RPG的错排
- hdu 2068 RPG的错排
- HDU 2068 RPG的错排
- HDU 2068 RPG的错排
- HDU 2068 RPG的错排
- HDU 2068 RPG的错排
- hdu 2068 RPG的错排
- HDU 2068 RPG的错排
- hdu---2068RPG的错排
- hdu 2068 RPG的错排
- HDU--2068—RPG的错排
- HDU 2068 RPG的错排
- HDU 2068 RPG的错排 【排列组合】
- HDU 2068:RPG的错排【排列组合】
- hdu 2068 RPG的错排
- hdu 2068 RPG的错排
- hdu 2068 RPG的错排
- 常用排序算法总结
- aspcms标签大全
- axios全攻略
- Angular vs React 最全面深入对比
- uva Biggest Number UVA
- HDU 2068 RPG的错排
- ubuntu python with opencv
- MyBatis传入多个参数的问题
- 综合应用题:投票程序(知识点:对象,数组,循环,流,工具类的应用)
- UGUI学习手记-CanvasUpdateRegistry
- 西加云杉700E设备AAA认证之移动设备的上下线操作
- AS Android开发 错误集锦
- 如何查看Android系统的版本是User模式还是Eng模式
- 机器学习基本算法(逻辑回归)