1005

思路:

  prufer编码+组合数;

代码:

#include <bits/stdc++.h>
using namespace std;
#define maxn 1005
#define maxlen 4000500
struct int666 {
int len;
char ai[maxlen];
void mul(int pos)
{
long long cnt=;
for(int i=;i<len;i++)
{
cnt+=pos*(ai[i]);
ai[i]=cnt%,cnt/=;
}
while(cnt)
{
ai[len]=cnt%;
cnt/=,len++;
}
while(len>&&!ai[len-]) len--;
}
void print()
{
for(int i=len-;i>=;i--) putchar(ai[i]+'');
putchar('\n');
}
};
struct int666 ans;
int n,tot,ai[maxn],m,pi[maxn*],num,bi[maxn*];
bool if_p[maxn*];
inline void in(int &now)
{
int if_z=;now=;
char Cget=getchar();
while(Cget>''||Cget<'')
{
if(Cget=='-')if_z=-;
Cget=getchar();
}
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
now*=if_z;
}
void euler(int lit)
{
for(int i=;i<=lit;i++)
{
if(!if_p[i]) pi[++num]=i;
for(int v=;pi[v]*i<=lit&&v<=num;v++)
{
if_p[i*pi[v]]=true;
if(i%pi[v]==) break;
}
}
}
void apart(int now,int di)
{
int temp=now;
for(int v=;v<=num;v++)
{
now=temp;
while(now)
{
bi[v]+=di*now/pi[v];
now/=pi[v];
}
}
}
int main()
{
// freopen("bzoj_1005.in","r",stdin);
// freopen("bzoj_1005.out","w",stdout);
ans.len=,ans.ai[]=;
in(n),euler(maxn-);
if(n==)
{
int pos;
in(pos);
if(pos<=) printf("");
else printf("");
return ;
}
for(int i=;i<=n;i++)
{
in(ai[i]);
if(!ai[i])
{
printf("");
return ;
}
if(ai[i]==-) m++;
else tot+=--ai[i];
}
if(tot>n-)
{
puts("");
return ;
}
apart(n-,),apart(n--tot,-);
for(int i=;i<=n;i++) if(ai[i]) apart(ai[i],-);
for(int i=;i<=num;i++)
{
for(int v=;v<=bi[i];v++) ans.mul(pi[i]);
}
for(int i=;i<=n--tot;i++) ans.mul(m);
ans.print();
return ;
}

AC日记——明明的烦恼 bzoj 1005的更多相关文章

  1. AC日记——[HEOI2012]旅行问题 bzoj 2746

    2746 思路: 建立ac自动机,然后把fail树抽出来: 然后在fail树上走lca(神奇): 代码: #include <cstdio> #include <vector> ...

  2. AC日记——[HNOI2008]GT考试 bzoj 1009

    1009 思路: KMP上走DP(矩阵加速): DP[i][j]表示当前在第i位,同是匹配到不吉利串的第j位的方案数: 代码: #include <bits/stdc++.h> using ...

  3. AC日记——Mato的文件管理 bzoj 3289

    3289 思路: 莫队求区间逆序对个数,树状数组维护: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 500 ...

  4. AC日记——[Scoi2010]序列操作 bzoj 1858

    1858 思路: 恶心: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 struct Tree ...

  5. AC日记——[ZJOI2007]报表统计 bzoj 1058

    1058 思路: 平衡树的题: 然而我的平衡树写一次炸一次QwQ: 而且各种tle: 所以stl水过: 代码: #include <set> #include <cstdio> ...

  6. AC日记——[JSOI2007]建筑抢修 bzoj 1029

    1029 思路: 贪心,而且,stl水过: 然而神特么输出que.size()就错! 代码: #include <queue> #include <cstdio> #inclu ...

  7. AC日记——[JSOI2008]火星人prefix bzoj 1014

    1014 思路: 平衡树+二分答案+hash: 好了懂了吧. 代码: #include <cstdio> #include <cstring> #include <ios ...

  8. AC日记——[HAOI2007]覆盖问题 bzoj 1052

    1052 思路: 二分答案: 二分可能的长度: 然后递归判断长度是否可行: 先求出刚好覆盖所有点的矩形: 可行的第一个正方形在矩形的一个角上: 枚举四个角上的正方形,然后删去点: 删去一个正方形后,递 ...

  9. AC日记——[SCOI2008] 着色方案 bzoj 1079

    1079 思路: dp: 我们如果dp方程为15维,每维记录颜色还有多少种: 不仅tle,mle,它还re: 所以,我们压缩一下dp方程: 方程有6维,第i维记录有多少种颜色还剩下i次: 最后还要记录 ...

随机推荐

  1. Ubuntu16.04+Cuda8.0+1080ti+caffe+免OpenCV3.2.0+faster-rCNN教程

    一.事先声明:1.Ubuntu版本:Ubuntu使用的是16.04.而不是16.04.1或16.04.2,这三个是有区别的.笔者曾有过这样的经历,Git上一个SLAM地图构建程序在Ubuntu14.0 ...

  2. MFC单文档多视图程序设计与Splitter拆分窗口

    1. 创建不同的子frame. 在文档视图程序中 CMainFrame(class CMainFrame : public CMDIFrameWndEx) 继承自 CMDIFrameWnd (CMDI ...

  3. MYSQL性能察看

    http://fengbin2005.iteye.com/blog/1580214 网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步 ...

  4. [转载][mysql]mysql字符集干货

    源地址:http://www.blogjava.net/zyskm/archive/2013/04/09/361888.html 字符集的概念大家都清楚,校对规则很多人不了解,一般数据库开发中也用不到 ...

  5. js获取当前页面的参数,带完善~~~

    let url = window.location.href; let id = url.slice(url.indexOf('?') + 4);

  6. sql service 事务与锁

    了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁: ...

  7. 整数中1出现的次数(从1到n整数中1出现的次数)

    整数中1出现的次数(从1到n整数中1出现的次数) 题目描述 求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1 ~ 13中包含1的数字有1.10 ...

  8. [LeetCode] 11. Container With Most Water ☆☆

    Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai).  ...

  9. sql cmd命令执行sqlserver的sql文件

    有的时候,我们通过Log Explorer工具根据日志生成的回滚脚本,或者其他情况我们得到的脚本文件,通过sqlserver打开脚本文件的方式不爽,我们可以这样: 方式一: osql -S . -U ...

  10. 【POJ】2892 Tunnel Warfare

    [算法]平衡树(treap) [题解]treap知识见数据结构 在POJ把语言从G++换成C++就过了……??? #include<cstdio> #include<algorith ...