数学上来先打表 SRM 10

描述

给出 n个点(不同点之间有区别),求出满足下列条件的连边(双向边)方案:
1.每条边连接两个不同的点,每两个点之间至多有一条边
2.不存在三个点a,b,c使三个点间两两可以互相到达且两两之间最短距离相等
3.边的长度均为1

输入格式

一行,一个整数n

输出格式

一行,一个整数,表示方案数对1004535809取模的结果。

样例输入

3

样例输出

7

数据范围与约定

对于8组数据,1<=n<=9
对于余下8组数据,10<=n<=2000

样例解释

三个点之间没有边,有1种方案
三个点之间有一条边,有3种方案
三个点之间有两条边,有3种方案

—————————————————————

这道题观察可得这n个数组成的不是环就是链

是环还必须大于3且不能是3的倍数

我们任然可以先预处理出各个阶乘的逆元

T是2关于mod的逆元 这个根据费马小定理可以算出来

f【i】表示大小为i的联通块的个数

如果是链 方案数是 i!/2 这个时候T作为2的逆元就显示出作用辣

至于为什么是i!/2 因为各个点不同我们可以看作是排列而一个排列对应一个方案,一个方案被算两次

如果是环 就是(i-1 )!/2 因为是环我们可以钦定一个数作为起点 剩下i-1个数来排列

当然只有1不符合上述推断 所以要单独考虑

这样处理完之后我们就可以来算答案ans辣

ans【k】=sigma(1-k) f【i】*g【k-i】*C(i-1,j-1);

也就是我们选i个数作为联通快其余随意的总和

至于为什么是C(i-1,j-1)

因为如果固定一个点统计,g就可以每个图只算一次

这样才能保证每个合法方案中只有一个连通块被算到,且只算了一次

#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int M=,mod=;
LL read(){
LL ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int n;
LL T,w[M],b[M],f[M],ans[M];
LL qmod(LL a,LL b,LL c){
LL ans=;
while(b){
if(b&) ans=ans*a%c;
b=b/;
a=a*a%c;
}
return ans;
}
void prepare(){
int mx=; w[]=;
for(int i=;i<=mx;i++) w[i]=w[i-]*i%mod;
b[mx]=qmod(w[mx],mod-,mod);
for(int i=mx;i>=;i--) b[i-]=b[i]*i%mod;
T=qmod(,mod-,mod);
}
LL C(int n,int m){return w[n]*b[m]%mod*b[n-m]%mod;}
int main()
{
n=read();
prepare();
f[]=;
for(int i=;i<=n;i++){
f[i]=w[i]*T%mod;
if(i>&&i%) f[i]=(f[i]+w[i-]*T)%mod;
}
ans[]=;
for(int i=;i<=n;i++){
for(int j=;j<=i;j++){
ans[i]=(ans[i]+f[j]*ans[i-j]%mod*C(i-,j-)%mod)%mod;
}
}
printf("%lld\n",ans[n]);
return ;
}

汕头市队赛 SRM10 T3 数学上来先打表的更多相关文章

  1. 汕头市队赛SRM14 T3覆盖

    我们可以考虑两种情况 区间之间不相重叠 和 重叠 f[i][j]表示以当前最后一个区间以 i 结尾 并且选了 j 个区间 不相重叠的话 只要选 1-i-w 的max再加上 包含i在内的前四个数的和 相 ...

  2. 汕头市队赛 SRM13 T3

    这道题可以贪心 维护一个答案队列 枚举位置 每次将比当前位置大的队尾全部替代掉 记录删了多少了就好了 #include<cstdio> #include<iostream> # ...

  3. 汕头市队赛 SRM10 T1 贪心只能过样例

    贪心只能过样例 SRM 10 描述 给出n个数a[i](1<=a[i]<=n),问最多能把这些数分成几组,使得每个数a[i]所在的组至少有a[i]个数 输入格式 第一行一个整数n,接下来n ...

  4. 汕头市队赛 SRM10 T1模拟只会猜题意

    模拟只会猜题意 SRM 10 描述 有一本n个单词的词典,求按下列方法能造出的不相同的词汇数目.  1.词典中的单词是一个词. 2.能分为两部分的,其中前一部分是一个词典词或者其非空前缀,后一部分是一 ...

  5. 汕头市队赛 SRM10 dp只会看规律 && bzoj1766

    dp只会看规律 SRM 10 描述 平面上有n个点(xi,yi),用最少个数的底边在x轴上且面积为S的矩形覆盖这些点(在边界上也算覆盖) 输入格式 第一行两个整数n,S接下来n行每行两个整数xi,yi ...

  6. 汕头市队赛 C KMP codeforces B. Image Preview

    汕头市队赛题目传送门 codeforces题目传送门 这道题我的做法是 尝试先往左走然后往右走 或者先往右走然后往左走 然后注意一下枚举顺序就okay啦 #include<cstdio> ...

  7. 汕头市队赛 C SRM 05 - YYL 杯 R1 T3!

    C SRM 05 - YYL 杯 R1 背景 tjmak 描述 给一个大小为n的序列V.序列里的元素有正有负.问至少要删除多少个元素使得序列里不存在区间(要求非空)和 >= S.如果答案大于m, ...

  8. 汕头市队赛SRM 20 T3 灵魂觉醒

    背景 自从芽衣.布洛妮娅相继灵魂觉醒之后,琪亚娜坐不住了.自己可是第一个入驻休伯利安号的啊!于是她打算去找德丽莎帮忙,为她安排了灵魂觉醒的相关课程. 第一天,第一节课. “实现灵魂觉醒之前,你需要先将 ...

  9. 汕头市队赛SRM15

    T1——czl SRM 15 众所周知,czl家养了一只可♂爱的***(已屏蔽),那只东西很贪吃,所以czl家很多零食仓库,然而这些仓库里有很多老鼠. 为了心爱的***,czl决定点燃纯艾条,用烟熏老 ...

随机推荐

  1. 722. Remove Comments

    class Solution { public: vector<string> removeComments(vector<string>& source) { vec ...

  2. Kubernetes-简介(一)

    简介 Kubernetes是一个开源.用于管理云平台中多个主机上的容器化的应用,目标是让部署容器化的应用简单并且高效,Kuernetes提供了应用部署.规划.更新.维护的一种机制. 在Kubernet ...

  3. B-树 分合之道

    P.s:在代码里会同时用到向量和B-树的search,insert, remove,具体调用的是哪个结构的函数结合上下文就能看懂. 根据上一篇文章,我们对于这棵树的大致结构已经明了,那该如何有效利用并 ...

  4. PHP.29-TP框架商城应用实例-后台6-商品会员添加-价格、级别

    首先把需求分析搞清楚 主要实现两个功能 1.会员管理,设置成为会员的要求 2.添加商品时,可设置会员优惠价格 具体实现 1.建表[会员级别限定表p39_member_level{Id,级别名称,积分下 ...

  5. CSS3裁剪与遮罩解析

    一.用途 CSS3裁剪与遮罩(Clipping and Masking)用来隐藏元素的一部分而显示另一部分 二.区别 CSS3裁剪与遮罩(Clipping and Masking)用来隐藏元素的一部分 ...

  6. DJango跨域中间键

    Skip to main content   Search PyPISearch Help Donate Log in Register django-cors-middleware 1.3.1 pi ...

  7. URL地址传参中特殊符号的转码和解码

    背景: URL传参在web开发中很常见,一般来说这种方式并不推荐,原因就是浏览器多种多样,各家浏览器对URL地址的解析的表现很不一样,特别是当参数有非ASCII字符.英文字母.阿拉伯数字时. 在CRM ...

  8. 如何在一个顶级域名下用两个二级域名访问vps下的两个项目网站--完美解决骗

    本人是原址是http://www.webzhe.com/server/340 后经过本人的实践修改,增加截图,等具体的步骤,完美解决 如何在vps中设置二级域名开通子网站,这个问题涉及到两步:一首先要 ...

  9. pdb在python程序中应用

    1.什么是pdb? pdb是python提供的调试程序的一种工具. 2.为什么需要pdb模块? 当我们的程序越写越大的时候,我们用print xxx 这种方式打断点,调试,非常不方便,这个时候我们需要 ...

  10. [转载]unity优化1

    官方优化文档--优化图像性能http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html Unity3 ...