bzoj4563 [Haoi2016]放棋子
来源:互联网 发布:淘宝手机能开店吗 编辑:程序博客网 时间:2024/05/12 03:40
题目
感性认知,其实每行障碍的位置无所谓,不妨让它们在主对角线上,这样,就全错排就好了。
公式:f[i]=(i-1)*(f[i-1]+f[i-2]),f[1]=0,f[2]=1.
高精度。
//全错排 f[1]=0,f[2]=1,f[i]=(i-1)(f[i-1]+f[i-2])#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<ctime>#include<algorithm>#include<iomanip>#include<vector>#include<stack>#include<queue>#include<map>#include<set>#include<bitset>using namespace std;#define MAXN 2010#define MAXM 1010#define ll long long#define INF 1000000000#define MOD 1000000007#define eps 1e-8struct bn { int x[MAXN]; int n; bn() { memset(x,0,sizeof(x)); n=0; } friend bn operator +(bn &x,bn &y) { bn z; int i; z.n=max(x.n,y.n); for(i=1; i<=z.n; i++) { z.x[i]+=x.x[i]+y.x[i]; z.x[i+1]+=z.x[i]/10; z.x[i]%=10; } while(z.x[z.n+1]) { z.n++; z.x[z.n+1]+=z.x[z.n]/10; z.x[z.n]%=10; } return z; } friend bn operator *(bn &x,int y) { bn z; int i; z.n=x.n; for(i=1; i<=z.n; i++) { z.x[i]+=x.x[i]*y; z.x[i+1]+=z.x[i]/10; z.x[i]%=10; } while(z.x[z.n+1]) { z.n++; z.x[z.n+1]+=z.x[z.n]/10; z.x[z.n]%=10; } return z; }};int n;bn f[210];int main() { int i; scanf("%d",&n); f[0].n=1; f[1].n=1; f[0].x[1]=1; f[1].x[1]=0; for(i=2; i<=n; i++) { f[i]=(f[i-1]+f[i-2]); f[i]=f[i]*(i-1); } for(i=f[n].n; i; i--) { printf("%d",int(f[n].x[i])); } printf("\n"); return 0;}
阅读全文
0 0
- BZOJ4563 [Haoi2016]放棋子
- bzoj4563【HAOI2016】放棋子
- BZOJ4563 [Haoi2016]放棋子
- bzoj4563 [Haoi2016]放棋子
- bzoj4563: [Haoi2016]放棋子
- 【bzoj4563】【HAOI2016】【放棋子】【高精度】
- [BZOJ4563][Haoi2016]放棋子 错排公式+高精度
- bzoj4563放棋子
- 4563: [Haoi2016]放棋子
- P3182 [HAOI2016]放棋子
- BZOJ 4563: [Haoi2016]放棋子
- BZOJ 4563: [Haoi2016]放棋子
- bzoj 4563: [Haoi2016]放棋子 动态规划
- 【BZOJ】4563 [Haoi2016]放棋子 递推+高精
- [BZOJ]4563: [Haoi2016]放棋子 容斥+高精度
- BZOJ 4563 [Haoi2016]放棋子 错排公式+高精度
- 放棋子
- 放棋子
- java控制台输出一个等腰三角形
- Django blog
- 图灵测试是什么?
- 抓包工具FIDDLER安装图解,抓取App的数据请求及数据返回
- 基础练习 BASIC-24 龟兔赛跑预测
- bzoj4563 [Haoi2016]放棋子
- HDU
- Android开发—简单的图片浏览器
- 常见排序算法
- java控制台输出一个菱形
- 基础练习 BASIC-25 回形取数
- 详解composer的自动加载机制
- python学习笔记--二维矩阵的转置
- SQL