WZK打雪仗

jzoj 1997

题目大意:

在一个环上有n*2个点,问有多少种连法可以用n条线连接成n对点

输入样例

5

输出样例

42

解释:

一种可行的方案如下:

数据范围

对于30%数据: n<=30。
对于100%数据: n<=100。

解题思路:

这题其实很像,把一个图分割成多块的分割法,我们每一次分割后,看放在两边的点分别有多少对,这就很像Catalan数,我们设f[i]f[i]f[i]为iii个点的分割法的种数,然后可以推出一下方程:
{f[0]=1f[1]=1f[i]=∑j=0i−1f[j]∗f[i−1−j]\left\{\begin{matrix}f[0]=1\\ f[1]=1\\ f[i]=\sum_{j=0}^{i-1}f[j]*f[i-1-j]\end{matrix}\right.⎩⎨⎧​f[0]=1f[1]=1f[i]=∑j=0i−1​f[j]∗f[i−1−j]​
其次是因为答案很大所以要高精

代码:

#include<cstdio>
using namespace std;
typedef long long ll;
ll n,k,s[15],f[150][15];
void gjc(ll x,ll y)//高精乘
{for (int i=1;i<=10;++i)for (int j=1;j<=10;++j){s[i+j-1]+=f[x][i]*f[y][j];s[i+j]+=s[i+j-1]/1000000000;s[i+j-1]%=1000000000;}
}
void gjj(ll x)//高精加
{for (int i=1;i<=10;++i){f[x][i]+=s[i];f[x][i+1]+=f[x][i]/1000000000;f[x][i]%=1000000000;s[i]=0;}
}
int main()
{scanf("%lld",&n);f[0][1]=1;f[1][1]=1;for (int i=2;i<=n;++i)for (int j=0;j<i;++j)//DP{gjc(j,i-j-1);gjj(i);}int k=10;while(!f[n][k]&&k>0) --k;//压位高精输出printf("%lld",f[n][k]);for (int i=k-1;i>0;--i)printf("%0*lld",9,f[n][i]);return 0;
}

【DP】【高精】WZK打雪仗(jzoj 1997)相关推荐

  1. 【luogu1018】 乘积最大 [区间dp+高精][noip2000]

    P1018 乘积最大 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大. DP+高精 #include<bits/stdc++ ...

  2. 【区间DP+高精】codevs1166 矩阵取数游戏题解

    转自: [ametake版权所有]http://blog.csdn.net/ametake欢迎来看 http://blog.csdn.net/ametake/article/details/47664 ...

  3. 【日常学习】【区间DP+高精】codevs1166 矩阵取数游戏题解

    题目来自NOIP2007TG3 如果在考场上我现在已经歇菜了吧 今天一整天的时间全部投在这道题上,收获不小. 先上题目 题目描述 Description [问题描述] 帅帅经常跟同学玩一个矩阵取数游戏 ...

  4. P2159 [SHOI2009]舞会(DP高精)

    P2159 [SHOI2009]舞会(DP&高精) n=200n=200n=200,考虑n3n^3n3的dpdpdp,但是本题没有模数,所以要高精度,且高精常数巨大,所以考虑n2n^2n2 的 ...

  5. 【每日DP】day 10、P1005 矩阵取数游戏【区间DP+高精(python)】难度⭐⭐⭐★

    P1005 矩阵取数游戏 输入 2 3 1 2 3 3 4 2 输出 82 说明/提示 NOIP 2007 提高第三题. 数据范围: 60%60\%60% 的数据满足:1≤n,m≤301\le n,m ...

  6. SCUT - 299 - Kaildls的数组划分 - dp - 高精

    https://scut.online/p/299 \(dp[i][k]\) 为前 \(i\) 个数分 \(k\) 组的最大值,那么 $dp[i][k]=max_{p=1}^{i-1}{dp[p][k ...

  7. 【状压DP+高精】【cofun1370】走道铺砖问题

    [cofun1370]走道铺砖问题 Description 有一个专门为装修设计方案的设计师.在某一天,他接到了一个项目,为一栋正在修建的大楼设计走道的地板铺设方案.此项目的委托人事先便进行了说明:地 ...

  8. bzoj1089 [SCOI2003]严格n元树(dp+高精)

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1899  Solved: 954 [Submit][Sta ...

  9. 【DP】【高精】WZK打雪仗

    WZK打雪仗 题目大意 就是在一个环上有2n个点,问有多少种连法可以用n条线连接成n对点. 输入样例 5 输出样例 42 数据范围 [数据范围] 对于30%数据: n<=30. 对于100%数据 ...

最新文章

  1. 【转】Eclipse下编写C++程序——CDT环境搭建
  2. oracle服务端用sql查看连接到数据库的IP
  3. AI新浪潮:截止2022年,全球74%的计算将来自端侧
  4. 汇编语言Makefile
  5. 代理模式和动态代理模式_代理模式介绍
  6. linux yum下载RPM包后再安装LAMP环境
  7. 【C语言笔记初级篇】第四章:数组入门
  8. Java实验8 T3.编程显示当前鼠标的位置坐标
  9. VMware Workstation 虚拟机中的 虚拟交换机和地址规划
  10. CF 592D(Super M-虚树直径)
  11. skb_buff 详解(二)
  12. DVWA 反射型XSS XSS(Reflected)题解
  13. 面试-Senior Specialist for Devops-车企
  14. 一篇就够,线程与线程池的那些事之线程池篇
  15. 回归分析在计算机中的应用,应用回归分析(何晓群)学习笔记
  16. sprin boot计算公式
  17. (一)Shell的条件判断符及特殊变量
  18. 锂电池正常分容测试温度的软件,锂电池的化成和分容
  19. 面试官问了我几道Java基础没答上来
  20. 基于k近邻算法的干豆品种分类

热门文章

  1. makefile 打印变量_[Makefile] 缩进与空格--记录踩过的坑
  2. PAT乙级——1001害死人不偿命的(3n+1)猜想(太简单)
  3. 数据结构——基于 Dijsktra 算法的最短路径求解
  4. 7-5 流水作业调度 (10 分)(思路+详解+johnson解析)Come Baby!!!!!!!!!!
  5. pip 设置超时时间_Python pip使用超时问题解决方案
  6. [C++STL]vector容器用法介绍
  7. hdu2648 Shopping-map容器
  8. Linear world POJ - 2674(弹性碰撞+技巧)
  9. Colossal Fibonacci Numbers! UVA - 11582(斐波那契求模)+快速幂+周期规律
  10. CF1251F Red-White Fence(多项式/背包问题/组合数学)