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中文题的更多相关文章

  1. POJ1017&&UVA311 Packets(中文题面版)

    感谢有道翻译--- Description A工厂生产的产品是用相同高度h的方形包装,尺寸为1* 1,2 * 2,3 * 3,4 * 4,5 * 5,6 6.这些产品总是以与产品高度h相同,尺寸为66 ...

  2. BestCoder Round #89 B题---Fxx and game(单调队列)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945     问题描述 输入描述 输出描述 输入样例 输出样例 题意:中文题,不再赘述: 思路:  B ...

  3. 51nod1118(水题)

    题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1118 题意: 中文题诶~ 思路: 因为机器人只能往下或者右 ...

  4. ACM: NBUT 1105 多连块拼图 - 水题 - 模拟

    NBUT 1105  多连块拼图 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:  Practice  Appoint ...

  5. CSU 1328 近似回文词(2013湖南省程序设计竞赛A题)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 解题报告:中文题题意就不说了.还好数据不大,只有1000,枚举回文串的中心位置,然 ...

  6. BUAA 724 晴天小猪的神题(RMQ线段树)

    BUAA 724 晴天小猪的神题 题意:中文题,略 题目链接:http://acm.buaa.edu.cn/problem/724/ 思路:对于询问x,y是否在同一区间,可以转换成有没有存在一个区间它 ...

  7. bnuoj 4207 台风(模拟题)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=4207 [题意]:中文题,略 [题解]:模拟 [code]: #include <iostrea ...

  8. [杂题]FZU2190 非提的救赎

    中文题,题意不多说. 本来感觉很像dp 其实只要从上到下维护单调性就好了 坑是......这个oj......用cin很容易TLE...... //#include <bits/stdc++.h ...

  9. [杂题]CSUOJ1274Balls and Boxes

    题目链接 题意:中文题 题意不多赘述 值得注意的是n<m 不必考虑n==m的情况 (m是盒子个数, n是每次选取的盒子个数, 不要弄反了!) 这题一看就是同余方程 每次选取n个盒子放球 也就是说 ...

随机推荐

  1. nginx+lua

    一场电闪与雷鸣的结合, 公司原有服务器已经配置好nginx,需要重新装载lua模块,哈哈哈,无法无法.   安装LUA模块需要以下 pcre       ftp://ftp.csx.cam.ac.uk ...

  2. .NET Core 2.0版本预计于2017年春季发布

    英文原文: NET Core 2.0 Planned for Spring 2017 微软项目经理 Immo Landwerth 公布了即将推出的 .NET Core 2.0 版本的细节,该版本预计于 ...

  3. SharePoint 2010/2013/2016内容数据库与网站集的关系

    总得来说,内容数据库和网站集的关系是: 一个内容数据库里可以有多个网站集,但是一个网站集只能存在于一个内容数据库. 那么问题来了 问题1:我能否在创建网站集时指定内容数据库呢?或者说我能在指定的内容数 ...

  4. DarkTrack 4 Alien Version Released RAT 下载地址&视频教程

    不废话,点我下载. 官方论坛:https://forum.darktrack.net 作者脸书:https://www.facebook.com/darktrackrat E安全报道:https:// ...

  5. Atitit ati licenseService    设计原理

    Atitit ati licenseService    设计原理 C:\0workspace\AtiPlatf\src_atibrow\com\attilax\license\LicenseX.ja ...

  6. 整理分享原生态mac AndroidStudio的快捷键

    使用AndroidStudio开发半年了,一路爬坑至今,刚由Windows转mac一个星期.通过查些资料和自己摸索,记录一些常用的快捷键,犹豫个人不喜欢改快捷键,所以都是原生的.特此分享给大家!欢迎补 ...

  7. java中IO流异常处理

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  8. [Modern OpenGL系列(三)]用OpenGL绘制一个三角形

    本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51347008 在上一篇文章中已经介绍了OpenGL窗口的创建.本文接着说如 ...

  9. Ubuntu搭建NFS

    NFS全称是Network File System,网络文件系统.它可以通过网络实现文件共享.其结构图大概是这样的: 在机器E上开启NFS服务,机器ABCD都挂载NFS,这样可以实现机器ABCD共享文 ...

  10. python编码最佳实践之总结

    相信用python的同学不少,本人也一直对python情有独钟,毫无疑问python作为一门解释性动态语言没有那些编译型语言高效,但是python简洁.易读以及可扩展性等特性使得它大受青睐. 工作中很 ...