#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. 设置elasticsearch的默认分区数和副本数

    日志是从logstash传输给ES的,但是logstash配置中只能配置host和index,所以只能在es中进行配置 但是在es配置文件中配置,也就是新增如下参数的话会报错:node setting ...

  2. C#录制声卡声音喇叭声音音箱声音

    在项目中,我们会需要录制电脑播放的声音,比如歌曲,电影声音,聊天声音等通过声卡音箱发出的声音.那么如何采集呢?当然是采用SharpCapture!下面开始演示关键代码,您也可以在文末下载全部源码: 设 ...

  3. eclipse中启动tomcat后, 无法访问localhost:8080

    问题: 今天老师讲了Servlet路径问题, 做了个测试在eclipse中启动tomcat后,在浏览器地址栏输入 http://localhost8080无法访问, 提示404错误, 正常情况是可以访 ...

  4. PHP实现curl post和get

    CURL这里就不说明了.以下是简单案例 一.POST //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'ht ...

  5. Django使用 django-allauth实现第三方登陆

    Django使用 django-allauth实现第三方登陆 这里我们使用 django-allauth 模块来实现第三方账号验证登录,官方文档如下:https://django-allauth.re ...

  6. js判断数组中是否有重复元素

    方法一:正则 var ary = new Array("111","ff","222","aa","222&q ...

  7. DNS 原理入门 - 阮一峰(转载)

      DNS 原理入门 作者: 阮一峰 日期: 2016年6月16日 DNS 是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 本文详细介绍DNS的原理,以及如何运用工具软件 ...

  8. bat文件中运行python脚本方法

    在脚本中使用start命令: @echo off start python xxx.py 注: start命令:启动单独的“命令提示符”窗口来运行指定程序或命令.如果在没有参数的情况下使用,start ...

  9. Python的logging模块基本用法

    Python 的 logging 模块的简单用法 在服务器部署时,往往都是在后台运行.当程序发生特定的错误时,我希望能够在日志中查询.因此这里熟悉以下 logging 模块的用法. logging 模 ...

  10. node 日志 log4js 错误日志记录

    SET DEBUG=mylog:* & npm start 原文出处:http://blog.fens.me/nodejs-log4js/ 1. 默认的控制台输出 我们使用express框架时 ...