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个盒子放球 也就是说 ...
随机推荐
- 2015年软件测试STATE报告
STATE OF TESTING 2015 Report 测试职业的地理位置分配 大部分有5年以上工作经验 大部分是Test Leader 测试工程师角色 测试工程师怎么工作的? 测试中的软件 ...
- GOF23设计模式之工厂模式
-实现了创建者和调用者的分离 -面向对象设计的基本原则: ·OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭 ·DIP(依赖倒转原则,Depen ...
- 初识Servlet
1.创建DispatcherServlet package myservlet; import java.io.IOException; import javax.servlet.ServletExc ...
- java web学习总结(二十三) -------------------编写自己的JDBC框架
一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...
- 基于rem的移动端自适应解决方案
代码有更新,最好直接查看github: https://github.com/finance-sh/adaptive adaptivejs原理: 利用rem布局,根据公式 html元素字体大小 = d ...
- 【移动前端开发实践】从无到有(统计、请求、MVC、模块化)H5开发须知
前言 不知不觉来百度已有半年之久,这半年是996的半年,是孤军奋战的半年,是跌跌撞撞的半年,一个字:真的是累死人啦! 我所进入的团队相当于公司内部创业团队,人员基本全部是新招的,最初开发时连数据库都没 ...
- Android 手机卫士--导航界面3、4和功能列表界面跳转逻辑处理
刚刚花了一点时间,将导航界面3.4的布局和相应的跳转逻辑写了一下: Setup3Activity代码如下: /** * Created by wuyudong on 2016/10/10. */ pu ...
- response和request的区别以及常见问题解决
request是请求,即客服端发来的请求 response是响应,是服务器做出的响应 --------------------------------------------------------- ...
- Web性能优化:基本思路和常用工具
听了荣华的演讲之后,我对性能优化有了更深层次的认识. 性能优化的重要性 性能优化是为了赢得用户,为了降低成本. 性能优化思路 Web常见优化点 Java常见排查工具
- eclipse调试(debug)的时候,出现Source not found,Edit Source Lookup Path,一闪而过
问题描述 使用Eclipse调试代码的时候,打了断点,经常出现Source not found,网上找了半天,大部分提示点击Edit Source Lookup Path,添加被调试的工程,然而往往没 ...