#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; typedef long long LL; inline int read()
{
char c=getchar();int num=;bool f=;
for(;!isdigit(c);c=getchar())
f=c=='-'?:f;
for(;isdigit(c);c=getchar())
num=num*+c-'';
return f?num:-num;
} const int N=1e4+; int n,m;
int d[N],tot; int prime[N],cnt;
bool flag[N];
void init()
{
for(int i=,t;i<N;++i)
{
if(!flag[i])
prime[++cnt]=i;
for(int j=;j<=cnt&&(t=i*prime[j])<N;++j)
{
flag[t]=;
if(i%prime[j]==)
break;
}
}
} inline LL ksm(LL x,LL k)
{
LL res=;
while(k)
{
if(k&)
res=res*x;
x*=x;
k>>=;
}
return res;
} int num[N]; inline void chai(int x,int f)
{
for(int i=;i<=cnt&&x>;++i)
{
while(x%prime[i]==)
{
num[i]+=f;
x/=prime[i];
}
}
return;
} int ans[N],l,x;
inline void mul(int *a)
{
x=;
ans[]=l=;
for(int i=;i<=cnt;++i)
{
for(int j=;j<=a[i];++j)
{
for(int k=;k<=l;++k)
{
ans[k]=ans[k]*prime[i]+x;
x=ans[k]/;
ans[k]%=;
}
while(x)
{
ans[++l]=x%,
x/=;
}
}
}
} int main()
{
// freopen("3.in","r",stdin);
// freopen("466.out","w",stdout);
init();
n=read();
if(n==)
{
n=read();
if(n)
putchar('');
else
putchar('');
return ;
}
for(int i=;i<=n;++i)
{
d[i]=read();
if(d[i]==)
{
puts("");
return ;
}
if(d[i]==-)
++m;
else
{
tot+=(d[i]-=);
for(int j=;j<=d[i];++j)
chai(j,-);
}
}
if(tot>n-)
{
puts("");
return ;
}
for(int i=;i<=n--tot;++i)
chai(i,-);
for(int i=;i<=n-;++i)
chai(i,);
if(m>)
{
for(int i=;i<=n--tot;++i)
chai(m,);
}
mul(num);
for(;l;--l)
cout<<ans[l];
return ;
}

P2624 [HNOI2008]明明的烦恼的更多相关文章

  1. Luogu P2624 [HNOI2008]明明的烦恼 Prufer+组合+高精

    好的我把标准版过了... 设$ r_i$为$i$的度数 首先,我们设 $ sum = \Sigma r_i-1$,$ tot $ 为所有能够确定度数的点 所以我们有 $ C ^ {sum} _{n-2 ...

  2. BZOJ 1005 [HNOI2008] 明明的烦恼(组合数学 Purfer Sequence)

    题目大意 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为 1 到 N 的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 N( ...

  3. bzoj1005 [HNOI2008]明明的烦恼

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3032  Solved: 1209 Description ...

  4. 【bzoj1005】[HNOI2008]明明的烦恼

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4175  Solved: 1660[Submit][Stat ...

  5. BZOJ 1005: [HNOI2008]明明的烦恼 Purfer序列 大数

    1005: [HNOI2008]明明的烦恼 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...

  6. bzoj 1005: [HNOI2008]明明的烦恼 prufer编号&&生成树计数

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2248  Solved: 898[Submit][Statu ...

  7. BZOJ 1005: [HNOI2008]明明的烦恼( 组合数学 + 高精度 )

    首先要知道一种prufer数列的东西...一个prufer数列和一颗树对应..然后树上一个点的度数-1是这个点在prufer数列中出现次数..这样就转成一个排列组合的问题了.算个可重集的排列数和组合数 ...

  8. 【BZOJ1005】[HNOI2008]明明的烦恼(prufer序列)

    [BZOJ1005][HNOI2008]明明的烦恼(prufer序列) 题面 BZOJ 洛谷 题解 戳这里 #include<iostream> #include<cstdio> ...

  9. 【BZOJ 1005】 1005: [HNOI2008]明明的烦恼 (prufer数列+高精度)

    1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4981  Solved: 1941 Description ...

随机推荐

  1. git学习笔记 ---添加远程库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  2. Scala 系列(三)—— 流程控制语句

    一.条件表达式if Scala 中的 if/else 语法结构与 Java 中的一样,唯一不同的是,Scala 中的 if 表达式是有返回值的. object ScalaApp extends App ...

  3. 新安装jenkins要记录的点。

    突然很早之前部署的jenkins 由于版本低存在漏洞,被人搞了,在docker中新安装jenkins出现了各种问题,避免跳坑. 不能正确安装插件, Jenkins -> Plugin Manag ...

  4. Spring-Cloud之Eureka注册与发现-2

    一.Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCloud将它集成在其 ...

  5. 【开发工具】- Atom下载及安装

    原文地址:https://www.jianshu.com/p/c112f024e0ab

  6. 【转载】 C#使用Newtonsoft.Json组件来反序列化字符串为对象

    在Asp.Net网站开发的过程中,很多时候会遇到对象的序列化和反序列化操作,Newtonsoft.Json组件是专门用来序列化和反序列化操作的一个功能组件,引入这个DLL组件后,就可使用JsonCon ...

  7. vim插件(vim-emmet)安装步骤

    vim安装插件  vim-emmetvim-emmet网址  https://www.vim.org/scripts/script.php?script_id=2981pathogen.vim网址  ...

  8. Vue学习之Webpack基本使用小结(十三)

    一.新建dist 文件夹: 二.新建src文件夹: 在其下面创建 css .js .images文件夹及 index.html.main.js(这是项目Js的主入口) 三.html中简单创建一个列表: ...

  9. 英语eschaunge交易所

    eschaunge  Eschaunge是一个外文单词,名词译为交易所,交易,交换,兑换(率),动词译为兑换, 交换,互换,交换,调换.是Exchange的替代形式 中文名:交易所,交易,交换 外文 ...

  10. honeyd路由拓扑

    create router //创建路由器模版 set router personality "Cisco 7206 running IOS 11.1(24)" //指纹 add ...