zrt中文题
orzzrt....
题意:给n个点n条边,问能形成几个无向连通图
公式:ans=Σ(k=3~n){[n^(n-k)]* (n-1)!/2(n-k)!}
推导:ans=Σ(k=3~n)(f(n,k)*h(k))
f(n,k)表示能形成的森林个数,h(k)表示能形成的环的个数
h(k)=n!/2n n!:排列的种类 n!/n:去重(123,231,312) (n!/n)/2:去重(123,321)
∴h(k)=(k-1)!/2
设g(n,k)=f(n,k)*(n-k)! (边有编号时森林的个数)
=n(n-1)n(n-2)*...*n*k
=n^(n-k)*(n-1)!/(k-1)!
∴f(n,k)=n^(n-k)*(n-1)!/[(k-1)!*(n-k)!]
∴ans=Σ(k=3~n){[n^(n-k)]* (n-1)!/2(n-k)!}
需要用到高精度
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<string>
#define MAX 10010
using namespace std;
char ans[MAX],sum[MAX]; int bigchenfa(int *sum2,int *a,int *b,int lsum,int la,int lb)
{
int i,j,k ;
memset(sum2,,sizeof(sum2));
lsum=;
for(i=;i<=la;i++)
for(j=,lsum=i-;j<=lb;j++)
sum2[++lsum]+=b[j]*a[i];
for(i=;i<=lsum;i++)
if(sum2[i]>=)
{
if(sum2[lsum]>=)
lsum++;
sum2[i+]+=sum2[i] / ;
sum2[i]%= ;
}
return lsum ;
} void multiply(int ac)
{
int a[MAX]={},b[MAX]={},sum2[MAX*]={} ;
int la=,lb=,lsum=;
int i,j;
int b1=ac;
la=strlen(ans);
for(int i=,j=la-;i<=la;i++,j--) a[i]=ans[j]-'';
while(b1>)
{
b[lb]=b1%;
lb++;
b1/=;
}
lb-=;
lsum = bigchenfa(sum2,a,b,lsum,la,lb) ;
memset(ans,,sizeof(ans));
for(i=lsum,j=;i>=;i--,j++) ans[j]=sum2[i]+'';
} int sum1[MAX],ans1[MAX];
void add()
{
int lena,lenb,len;
lena=strlen(sum);
lenb=strlen(ans);
len=max(lena,lenb);
memset(sum1,,sizeof(sum1));
memset(ans1,,sizeof(ans1));
for(int i=lena-,j=;i>=;i--,j++)sum1[j]=sum[i]-'';
for(int i=lenb-,j=;i>=;i--,j++)ans1[j]=ans[i]-'';
for(int i=;i<len;i++)
{
if(sum1[i]+ans1[i]>=) sum1[i+]++;
sum1[i]=(sum1[i]+ans1[i])%;
}
if(sum1[len]!=)len++;
memset(sum,,sizeof(sum));
for(int i=len-,j=;i>=;i--,j++)
{
sum[j]=sum1[i]+'';
}
}
void divide()
{
int a[MAX]={},c[MAX]={};
int i,k,d=;
k=strlen(sum);
for(i=;i<k;i++)
a[i]=sum[k-i-] - '';
for(i=k-;i>=;i--)
{
d=d*+a[i];
c[i]=d/;
d=d%;
}
while(c[k-]==&&k>) k--;
for(i=k-;i>=;i--) cout<<c[i];
} int main()
{
int n;
cin>>n;
for(int k=;k<=n;k++)
{
memset(ans,,sizeof(ans));
ans[]='';
for(int i=;i<=n-k;i++)
{
multiply(n);
}
for(int i=n-k+;i<=n-;i++)
{
multiply(i);
}
add();
}
divide();
return ;
}
zrt中文题的更多相关文章
- POJ1017&&UVA311 Packets(中文题面版)
感谢有道翻译--- Description A工厂生产的产品是用相同高度h的方形包装,尺寸为1* 1,2 * 2,3 * 3,4 * 4,5 * 5,6 6.这些产品总是以与产品高度h相同,尺寸为66 ...
- BestCoder Round #89 B题---Fxx and game(单调队列)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945 问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路: B ...
- 51nod1118(水题)
题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1118 题意: 中文题诶~ 思路: 因为机器人只能往下或者右 ...
- ACM: NBUT 1105 多连块拼图 - 水题 - 模拟
NBUT 1105 多连块拼图 Time Limit:1000MS Memory Limit:65535KB 64bit IO Format: Practice Appoint ...
- CSU 1328 近似回文词(2013湖南省程序设计竞赛A题)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 解题报告:中文题题意就不说了.还好数据不大,只有1000,枚举回文串的中心位置,然 ...
- BUAA 724 晴天小猪的神题(RMQ线段树)
BUAA 724 晴天小猪的神题 题意:中文题,略 题目链接:http://acm.buaa.edu.cn/problem/724/ 思路:对于询问x,y是否在同一区间,可以转换成有没有存在一个区间它 ...
- bnuoj 4207 台风(模拟题)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4207 [题意]:中文题,略 [题解]:模拟 [code]: #include <iostrea ...
- [杂题]FZU2190 非提的救赎
中文题,题意不多说. 本来感觉很像dp 其实只要从上到下维护单调性就好了 坑是......这个oj......用cin很容易TLE...... //#include <bits/stdc++.h ...
- [杂题]CSUOJ1274Balls and Boxes
题目链接 题意:中文题 题意不多赘述 值得注意的是n<m 不必考虑n==m的情况 (m是盒子个数, n是每次选取的盒子个数, 不要弄反了!) 这题一看就是同余方程 每次选取n个盒子放球 也就是说 ...
随机推荐
- java的原子性操作有哪些
Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作coun ...
- java web学习总结(二十七) -------------------JSP标签介绍
一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...
- Mysql增加、删除和修改列属性和约束,和一些有用的查询语句
最近在整理关于MySql的东西,把一些需要记录的东西写下来,以便以后查询和浏览,以下是一些操作技巧.添加表字段alter table` 表名称` add transactor varchar(10) ...
- Css3新特性应用之形状
一.自适应椭圆 * border-radius特性: * 可以单独指定水平和垂直半径,并且值可以是百分比,用/(斜杠)分隔这两个值即可(可以实现自适应宽度椭圆). * 还可以单独指定四个角 ...
- HTTPS和HTTP的区别
(转自:http://www.php100.com/html/it/biancheng/2015/0209/8582.html) 总的来说,http效率更高,https安全性更高. 首先谈谈什么是HT ...
- 深化管理、提升IT的数据平台建设方案
谈到信息化,每个企业有每个企业的业务模式,每个企业有每个企业不同的思考.落地有效的信息化建设一定紧跟着企业的发展,围绕业务和管理,来提升效率,创造价值. 对于企业如何在发展的不同阶段提升信息化建设,这 ...
- iOS -- 轮播图
UIScrollView + 多张 ImageView 实现轮播 实现原理: 将所有图片的名字储存在数组 imageAry 中,imageAry 的元素个数为 num,在 scrollView 上添加 ...
- fastjson 混淆注意事项
使用fastjson 注意事项,主要表现: 1.加了符号Annotation 的实体类,一使用就会奔溃 2.当有泛型属性时,一使用就奔溃 在调试的时候不会报错,当你要打包签名混淆包的时候,就会出现上述 ...
- 带调试器(Debugger)的ILSpy(2.2.0.1738)
2015-03-13 09:40更新: 感谢@dark89757园友提出的调试时不能查看变量的问题. 源码已修改,并提交到了github. 请查看最新发布,二进制文件和源码都在这里: 调试时可查看变量 ...
- 软件海贼团 OnePiece (版权所有)
最近迷上了“海贼王”这部动画片,不仅仅是因为其中的人物个个性格鲜明,剧情跌宕起伏扣人心弦,各种耍宝搞笑,还感觉到这个团队很像理想中的敏捷软件团队. 作为一直带团队的我,感觉“海贼王”这个动画片给了我很 ...