Description



n < = 5 e 5 n<=5e5 n<=5e5

Solution

O(n^4)
  • 直接放弃思考矩阵树即可过 n < = 80 n<=80 n<=80,获得23分。
O(n^2)
  • 考虑先枚举一些特殊边,将n个点分成m个联通块,再用prufer序列计算这个完全图的方案数: n m − 2 ∏ i = 1 m s i n^{m-2}\prod_{i=1}^ms_i nm−2∏i=1m​si​
  • 考虑prufer序列中的一个值代表了一条边,且长度为 m − 2 m-2 m−2,那么连边的时候就可以有n个顶点,即 n m − 2 n^{m-2} nm−2。又因为prufer序列出现次数为度数-1,所以每一个联通块只考虑到了度数-1次顶点的选择,所以还有 s i si si的贡献没有计算到。
  • 直接DP即可O(n^2)
O(nlogn)
  • ∑ s ∏ i = 1 m s i = ( ∑ i > = 0 i x i ) m [ x n ] = ( x ( 1 − x ) 2 ) m [ x n ] = 1 ( 1 − x ) 2 m [ x n − m ] = ( 1 + x + x 2 + x 3 + . . . ) 2 m [ x n − m ] = C n − m + 2 m − 1 2 m − 1 = C n + m − 1 2 m − 1 \sum_{s}\prod_{i=1}^ms_i=(\sum_{i>=0}ix^i)^m[x^n]=(\frac{x}{(1-x)^2})^m[x^n]=\frac{1}{(1-x)^{2m}}[x^{n-m}]=(1+x+x^2+x^3+...)^{2m}[x^{n-m}]=C_{n-m+2m-1}^{2m-1}=C_{n+m-1}^{2m-1} ∑s​∏i=1m​si​=(∑i>=0​ixi)m[xn]=((1−x)2x​)m[xn]=(1−x)2m1​[xn−m]=(1+x+x2+x3+...)2m[xn−m]=Cn−m+2m−12m−1​=Cn+m−12m−1​
  • 因此确定m个联通快的方案数就是上面的东西乘上 n m − 2 n^{m-2} nm−2。
  • 但是这是至少 n − m n-m n−m条特殊边的方案数,设至少n条方案为 f ( n ) f(n) f(n),则答案要求的恰好 g ( n ) g(n) g(n),有 f ( n ) = ∑ m > = n C m n ∗ g ( m ) f(n)=\sum_{m>=n}C_m^n*g(m) f(n)=∑m>=n​Cmn​∗g(m).
  • 则 g ( n ) = ∑ m > = n C m n ( − 1 ) m − n f ( m ) g(n)=\sum_{m>=n}C_{m}^{n}(-1)^{m-n}f(m) g(n)=∑m>=n​Cmn​(−1)m−nf(m),卷积即可求出对应位置的答案。
O(n)
  • 我们先考虑 2 x 2^x 2x为权值怎么办,那么相当于任意一个恰好x条的都会被它的任意一个子集算一次,答案实际上就是 ∑ f ( i ) \sum f(i) ∑f(i)。
  • 再考虑权值为 x 2 x x2^x x2x怎么做, x 2 x = 2 ∗ x 2 x − 1 x2^x=2*x2^{x-1} x2x=2∗x2x−1,后者就是 2 ∗ ∑ i = 0 x i C x i 2*\sum_{i=0}^xiC_x^i 2∗∑i=0x​iCxi​。
  • 原本计算 2 x 2^x 2x时,是 ∑ i = 0 x C x i \sum_{i=0}^xC_x^i ∑i=0x​Cxi​,那么现在这个答案显然就是 2 ∗ ∑ f ( i ) ∗ i 2*\sum f(i)*i 2∗∑f(i)∗i
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define ll long long
#define mo 998244353
#define maxn 1000005
using namespace std;int n,i;
ll fct[maxn],invf[maxn],ans,f[maxn],mul[maxn];ll ksm(ll x,ll y){ll s=1;for(;y;y/=2,x=x*x%mo) if (y&1)s=s*x%mo;return s;
}ll C(int n,int m){return fct[n]*invf[n-m]%mo*invf[m]%mo;}int main(){scanf("%d",&n);fct[0]=1;for(i=1;i<=2*n;i++) fct[i]=fct[i-1]*i%mo;invf[2*n]=ksm(fct[2*n],mo-2);for(i=2*n-1;i>=0;i--) invf[i]=invf[i+1]*(i+1)%mo;mul[0]=1;for(i=1;i<=n;i++) mul[i]=mul[i-1]*n%mo;f[n-1]=1;for(i=2;i<=n;i++) f[n-i]=C(n+i-1,2*i-1)*mul[i-2]%mo;for(i=0;i<n;i++) ans+=f[i]*i%mo;printf("%lld",ans*2%mo);
}

JZOJ6675. 【2020.05.30省选模拟】交通网络相关推荐

  1. 【2020.11.30提高组模拟】剪辣椒(chilli)

    剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分 ...

  2. 6728. 【2020.06.16省选模拟】T2 战棋游戏

    题目 正解 有个比较显然的思路是给特殊点划分到ccc个集合中(集合可以为空). 先解决一个子问题:一条链,两端相同和两端不同的答案分别是什么. 这个东西可以简单递推,然后用矩阵乘法优化. 题解中有个结 ...

  3. 6681. 【2020.06.02省选模拟】图

    题目 给出一个无重边.自环的平面图.需要回答若干个询问,每次询问给出一个简单环,求这个简单环形成的多边形内部有多少个点(包括边界上). n≤1e5,m≤3e5,Q≤3e5n\leq 1e5,m\leq ...

  4. [2021.4.5多校省选模拟30]最小表示——map建边+广义SAM

    前言:虽然这题前面加了个括号是"省选模拟30",但是在accoders上是比赛"省选模拟31"里面的. 题目描述 题解 先贴出官方正解,是用的和后缀数组: 根据 ...

  5. 浙江大学软件学院2020年保研上机模拟练习

    浙江大学软件学院2020年保研上机模拟练习 7-1.Standard Form of Polynomial (20分) 7-2.Distance of Triples (25分) 7-3. Parti ...

  6. 2020电工(初级)模拟考试系统及电工(初级)模拟考试软件

    题库来源:安全生产模拟考试一点通公众号小程序 2020电工(初级)模拟考试系统及电工(初级)模拟考试软件,包含电工(初级)模拟考试系统答案解析及电工(初级)模拟考试软件练习.由安全生产模拟考试一点通公 ...

  7. 2020年大唐杯移动通信模拟卷—答案

    大唐杯3.8答案 1 2 3 4 5 单选+0 D B C B C +5 A A D B C +10 B C C D B +15 C A C A B +20 C D D C D +25 B D B B ...

  8. 2020焊工(初级)模拟考试题库及焊工(初级)模拟考试系统

    题库来源:安全生产模拟考试一点通公众号小程序 2020焊工(初级)模拟考试题库及焊工(初级)模拟考试系统,包含焊工(初级)模拟考试题库答案解析及焊工(初级)模拟考试系统练习.由安全生产模拟考试一点通公 ...

  9. 省选模拟赛2022/3/31

    省选模拟赛2022/3/31 比赛时间安排 赛后反思总结 与正解的差距 T3 比赛时间安排 7.50-8.10 t1 暴力复杂度都很大啊,完全没想法 t2 dfs可以试一试,但是感觉复杂度还是会炸,想 ...

  10. 2020电工(高级)模拟考试及电工(高级)实操考试视频

    题库来源:安全生产模拟考试一点通公众号小程序 2020电工(高级)模拟考试及电工(高级)实操考试视频,包含电工(高级)模拟考试答案解析及电工(高级)实操考试视频练习.由安全生产模拟考试一点通公众号结合 ...

最新文章

  1. 初始化触发点击事件_【Vue原理】Event - 源码版 之 自定义事件
  2. 解析html语言的软件,小程序解析html标签 div-Go语言中文社区
  3. Ice笔记-利用Ice::Application类简化Ice应用
  4. 反模式:神仙大类和黄金大锤
  5. link和@import的区别
  6. Android Studio导入项目非常慢的解决办法
  7. ubuntu 14.04 java_Ubuntu14.04下配置Java环境
  8. fatal: unable to access ‘https://github.comxxxxxxxxxxx‘: Failed to connect to xxxxxxxxxxxxx
  9. vs2005 2008快捷键
  10. spring循环依赖及解决方式_来探究一下Spring 循环依赖的三种方式
  11. SoX-linux里操作音频的瑞士×××
  12. matlab min函数_数学建模与MATLAB非线性规划
  13. WXP380 电容式MEMS高性能数字气压传感器 电容式MEMS压力传感器快速代DPS310 BMP380 SLP06 HP303B “电容式”噪声超低的高精度MEMS气压传感器;
  14. 《沈剑架构师训练营》第2章 - 接入层架构
  15. 郎鹤焱张鹤伦计算机学院,德云社都是“低学历”?郎鹤焱、阎鹤祥都毕业于北京工业大学...
  16. fast无线网卡linux驱动,fast FW150US USB无线网卡Linux驱动安装
  17. IOC容器(详细讲解)
  18. 企业数据湖与大数据 Lambda 架构
  19. 中兴cxt路测软件mos测试,LTEMOS优化测试指导书.docx
  20. win7系统屏保时间设置更改教程

热门文章

  1. Java+springboot+MySQL基于微信小程序的安全教育平台面向大学生85871-计算机毕业设计(可赠源码)
  2. Roxe与BitKeep联合举办ROC空投活动
  3. k8s集群部署-kubeadm方式
  4. GTX1070显卡驱动导致the system is running in low-graphics mode解决办法
  5. 网页打电话发短信写邮件等实现
  6. 网络 计算机 不见了,电脑的无线网络连接不见了 笔记本无线网络找不到(图文)...
  7. 优维低代码:构件基本说明
  8. 数据中心效率提升的最佳颗粒度思考
  9. Hadoop集群管理基础知识笔记
  10. python office(2) 批量word从写入到读取