正题


题目大意

对于n个数组成的序列,求排好序需要最少交换次数的期望次数。


解题思路

我们可以先求出需要次数总和在乘上n!n!n!的逆元
先打一个表,不难发现
f(n)=f(n−1)∗n+(n−1)(n−1)!f(n)=f(n-1)*n+(n-1)(n-1)!f(n)=f(n−1)∗n+(n−1)(n−1)!
然后我们在考虑插入,对于前面一个序列,我们可以插入一个比前面的数都大的数进去,之后我们会发现只有插在最后面才不会增加交换次数,其他都会增加一次交换次数,式子显然正确。

之后fff离线预处理,逆元在线处理
时间复杂度:O(N+Tlogp)O(N+T\ \ log\ p)O(N+T  log p)


code

#include<cstdio>
#include<cctype>
#define p 998244353
#define N 10000000
#define ll long long
using namespace std;
ll t,f[N+10],k,n,jx[N+10];
ll read() {int x=0,f=1; char c=getchar();while(!isdigit(c)) {if(c=='-')f=-f;c=getchar();}while(isdigit(c)) x=(x<<1)+(x<<3)+c-48,c=getchar();return x*f;
}
void write(ll x){if (x>9) write(x/10); putchar(x%10+48); return;
}
ll power(ll x,ll b)//费马小求逆元
{ll ans=1;while(b){if(b&1) ans=ans*x%p;x=x*x%p;b>>=1;}return ans;
}
int main()
{scanf("%lld",&t);f[2]=1;jx[2]=2;for(ll i=3;i<=N;i++)//预处理{jx[i]=jx[i-1]*i%p;//阶乘预处理f[i]=(f[i-1]*i%p+(jx[i]-jx[i-1]+p)%p)%p;}for(ll i=1;i<=t;i++){n=read();write(power(jx[n],p-2)*f[n]%p);putchar('\n');}
}

nssl1257-A【数论】相关推荐

  1. 数论(一)——素数,GCD,LCM

    这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...

  2. 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工

    近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...

  3. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  4. 《算法竞赛中的初等数论》(五)正文 0x50筛法(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  5. 《算法竞赛中的初等数论》(四)正文 0x40反演(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  6. P6271 [湖北省队互测2014]一个人的数论(莫比乌斯反演,拉格朗日插值)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P6271 [湖北省队互测2014]一个人的数论(莫比乌斯反演,拉格朗日插值) Problem Sol ...

  7. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  8. 《算法竞赛中的初等数论》(二)正文 0x20同余(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  9. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  10. CF1471 D - Strange Definition(思维,分类讨论,lcm,gcd的性质,数论)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #694 (Div. 2) D 很好的一道数论思维题 D - Str ...

最新文章

  1. 水稻微生物组时间序列分析2a-相关分析
  2. nagios学习手札
  3. maven开发mybatis 让*.xml 拷贝到classes目录下
  4. Python网络编程—(TCP、UDP区别)
  5. html5响应式网站优势,响应式网站优势有哪些 真的利于排名优化么
  6. SQL Server安装问题程序被挂起的错误解决办法
  7. js高级(类和对象)
  8. mysql 数据库中根据当前系统时间,取前后几秒 几分钟 几小时 几天
  9. Maven 梳理 - Maven中的dependencyManagement 意义
  10. Excel快速排查重复数据的几种方法?
  11. Fruits 360(水果数据集)
  12. npm 安装中的 i、-g、--save、--save-dev、-D、-S的区别
  13. 【rpm】源码包制作rpm包|修改rpm、重新制作rpm包
  14. 鸿蒙3.0 APP混合开发闪退问题笔记
  15. ecmall购物获积分功能 积分抵扣设置 积分购物
  16. shell 变量五 字符串掐头去尾
  17. java龙世界禁忌之恋灵魂大殿_《龙世界-禁忌之恋》完美图文攻略
  18. python编译型语言和解释型语言
  19. idea使用Git将分支代码合并到主干或其他分支
  20. VOWIFI--相关的协议文档

热门文章

  1. 计算机Word应用程序,Word2007目录设置_计算机软件和应用程序_IT /计算机_信息
  2. c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?
  3. redis 清空缓存_「镜头回放」简直了!spring中清除redis缓存导致应用挂死
  4. python 防止转义_python字符串前加r、f、u、l 的区别
  5. [C++11]独占的智能指针unique_ptr的初始化和使用
  6. Θ(n)反转单链表(算法导论第三版第十章10.2-7)
  7. maven知识提炼总结
  8. 蓝桥杯2014届试题9题 小朋友排队(树状数组+类逆序对)
  9. Buying Shovels CodeForces - 1360D(数论+找因子)
  10. 线性代数---向量问题的求解方法