【DP】【高精】WZK打雪仗(jzoj 1997)
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−1f[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)相关推荐
- 【luogu1018】 乘积最大 [区间dp+高精][noip2000]
P1018 乘积最大 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大. DP+高精 #include<bits/stdc++ ...
- 【区间DP+高精】codevs1166 矩阵取数游戏题解
转自: [ametake版权所有]http://blog.csdn.net/ametake欢迎来看 http://blog.csdn.net/ametake/article/details/47664 ...
- 【日常学习】【区间DP+高精】codevs1166 矩阵取数游戏题解
题目来自NOIP2007TG3 如果在考场上我现在已经歇菜了吧 今天一整天的时间全部投在这道题上,收获不小. 先上题目 题目描述 Description [问题描述] 帅帅经常跟同学玩一个矩阵取数游戏 ...
- P2159 [SHOI2009]舞会(DP高精)
P2159 [SHOI2009]舞会(DP&高精) n=200n=200n=200,考虑n3n^3n3的dpdpdp,但是本题没有模数,所以要高精度,且高精常数巨大,所以考虑n2n^2n2 的 ...
- 【每日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 ...
- 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 ...
- 【状压DP+高精】【cofun1370】走道铺砖问题
[cofun1370]走道铺砖问题 Description 有一个专门为装修设计方案的设计师.在某一天,他接到了一个项目,为一栋正在修建的大楼设计走道的地板铺设方案.此项目的委托人事先便进行了说明:地 ...
- bzoj1089 [SCOI2003]严格n元树(dp+高精)
1089: [SCOI2003]严格n元树 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 1899 Solved: 954 [Submit][Sta ...
- 【DP】【高精】WZK打雪仗
WZK打雪仗 题目大意 就是在一个环上有2n个点,问有多少种连法可以用n条线连接成n对点. 输入样例 5 输出样例 42 数据范围 [数据范围] 对于30%数据: n<=30. 对于100%数据 ...
最新文章
- 【转】Eclipse下编写C++程序——CDT环境搭建
- oracle服务端用sql查看连接到数据库的IP
- AI新浪潮:截止2022年,全球74%的计算将来自端侧
- 汇编语言Makefile
- 代理模式和动态代理模式_代理模式介绍
- linux yum下载RPM包后再安装LAMP环境
- 【C语言笔记初级篇】第四章:数组入门
- Java实验8 T3.编程显示当前鼠标的位置坐标
- VMware Workstation 虚拟机中的 虚拟交换机和地址规划
- CF 592D(Super M-虚树直径)
- skb_buff 详解(二)
- DVWA 反射型XSS XSS(Reflected)题解
- 面试-Senior Specialist for Devops-车企
- 一篇就够,线程与线程池的那些事之线程池篇
- 回归分析在计算机中的应用,应用回归分析(何晓群)学习笔记
- sprin boot计算公式
- (一)Shell的条件判断符及特殊变量
- 锂电池正常分容测试温度的软件,锂电池的化成和分容
- 面试官问了我几道Java基础没答上来
- 基于k近邻算法的干豆品种分类
热门文章
- makefile 打印变量_[Makefile] 缩进与空格--记录踩过的坑
- PAT乙级——1001害死人不偿命的(3n+1)猜想(太简单)
- 数据结构——基于 Dijsktra 算法的最短路径求解
- 7-5 流水作业调度 (10 分)(思路+详解+johnson解析)Come Baby!!!!!!!!!!
- pip 设置超时时间_Python pip使用超时问题解决方案
- [C++STL]vector容器用法介绍
- hdu2648 Shopping-map容器
- Linear world POJ - 2674(弹性碰撞+技巧)
- Colossal Fibonacci Numbers! UVA - 11582(斐波那契求模)+快速幂+周期规律
- CF1251F Red-White Fence(多项式/背包问题/组合数学)