传送门

  • 题目:
  • 思路:
    n个元素有一对相同的,那么n个数中共有n-1个不同的数,从m个数中选n-1,方法数:Cmn−1C_m^{n-1}Cmn−1​
    从n-1个不同的数中选择一个数使其在要构造的数组中出现两次,最大的数是唯一的,不能选它,所以方法数为:n-2
    除了重复出现的数一个在最大数的左边,一个在右边外,其他n-3个数可以出现在最大数的左边/右边,方法数为:2n−32^{n-3}2n−3
    故ans=Cmn−1∗(n−2)∗2n−3ans=C_m^{n-1}*(n-2)*2^{n-3}ans=Cmn−1​∗(n−2)∗2n−3,注意用逆元求解。
  • ac代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e5+10;
const ll mod = 998244353;
ll n, m;
ll fac[maxn], p2[maxn];
ll qpow(ll a, ll b)
{ll ans = 1;while(b){if(b&1) ans = ans*(a%mod)%mod;a = (a%mod)*(a%mod)%mod;b >>= 1;}return ans%mod;
}
void pre()
{fac[0] = p2[0] = 1;for(ll i = 1; i <= 2e5; i++){fac[i] = fac[i-1]*i%mod;p2[i] = p2[i-1]*2%mod;}
}
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);scanf("%lld %lld", &n, &m);if(n==2) printf("0");else{pre();ll di = fac[n-1]*fac[m-n+1]%mod;ll ans = fac[m]*(n-2)%mod*p2[n-3]%mod*qpow(di, mod-2)%mod;printf("%lld", ans);}return 0;
}

【CF1312D】Count the Arrays(计数)相关推荐

  1. Mysql count 带条件计数

    count 带条件计数 mysql 统计条数很简单, 使用 count 函数就行,但是带条件统计,可能有些小伙伴跟我一样,还有些疑问,废话不多说 上代码 表中三条数据 1. count(*) 和 co ...

  2. 组合计数 ---- codeforces1312 D. Count the Arrays

    为什么是组合数学呢?qwq一开始以为是dp... 每个数都是不同的(除了那个相同的以外)所以你只用考虑每个数的分配总数不用.因为一旦分好顺序就就定了,这就说明我们只要考虑一半就可以了. #includ ...

  3. 696. Count Binary Substrings 计数二进制子串

    给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的. 重复出现的子串要计算它们出现的次数. 示例 1 : 输入: "0 ...

  4. java代码实现count排序_java计数排序

    介绍: 该算法不基于比较进行排序,时间复杂度O(n + k),很难说与基于比较的排序算法(时间复杂度下限O(nlogn))哪个更优,具体要比较k与nlogn的大小: 实现思路: 1.以数组origin ...

  5. CodeForces - 1312D Count the Arrays(组合数学)

    题目链接:点击查看 题目大意:给出一个 n 和 m ,求满足条件的数组有多少个 数组包含 n 个元素 每个元素的取值为 1 ~ m 包含且仅包含一对相同的元素 存在一个位置 pos ,使得 [ 1 , ...

  6. hdu 5901 Count primes 素数计数模板

    转自:http://blog.csdn.net/chaiwenjun000/article/details/52589457 计从1到n的素数个数 两个模板 时间复杂度O(n^(3/4)) 1 #in ...

  7. 你知道select count(*)底层究竟干了啥么?

    作者:贾春生 https://blog.didiyun.com/index.php/2019/01/08/mysql-count/ "SELECT COUNT( * ) FROM T&quo ...

  8. mysql min函数 结果全为null_MySQL ----- 聚集函数(AVG,SUM,COUNT,MIN,MAX) (十一)

    为了汇总数据而不把实际的检索出来,MySQL 提供了专门的函数,聚集函数 好处:可以将检索数据进行分析和报表生成 一.聚集函数(aggregate function): 运行在行组上,计算和返回单个值 ...

  9. 【深入Cocos2d-x】探索Cocos2d-x中的内存管理-引用计数和自动释放池

    2019独角兽企业重金招聘Python工程师标准>>> #深入Cocos2d-x-探索Cocos2d-x中的内存管理-引用计数和自动释放池 ###引用计数(Reference Cou ...

  10. select count(*)底层究竟干了啥么?

    转载自  select count(*)底层究竟干了啥么? "SELECT COUNT( * ) FROM t" 是个再常见不过的 SQL 需求了.在 MySQL 的使用规范中,我 ...

最新文章

  1. 百度map-api-视图
  2. 第十六届全国大学生智能车比赛掠影
  3. IE Cookie文件格式说明
  4. php 斗鱼人数,斗鱼旭旭宝宝再度登顶指数榜首位 单日弹幕人数高达48万人
  5. Angular定义服务-Learn By Doing
  6. 会话管理-1.1.Cookie介绍
  7. 第二章--电商设计表订单实体-电商项目
  8. Java 12字符串方法
  9. 9000多篇投稿,接收率只有15%,今年的AAAI你中了吗?
  10. IEnumerable和IEnumerator
  11. Symantec Backup Exec 2012修改显示语言
  12. 用国产编程语言CBrother做微信公众号后台开发太简单
  13. vue实现滑块滑动校验
  14. 王家林 大数据Spark超经典视频链接全集[转]
  15. 【STM32H750】玩转ART-Pi(八)——添加动态模块
  16. Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To
  17. linux学习笔记-rsync原理及使用
  18. springboot 通过javaCV 实现mp4转m3u8 上传oss
  19. 全球与中国2,5二甲基苯酚市场现状及未来发展趋势
  20. 小程序 多张图片上传(源码分享+实现分析)

热门文章

  1. java中model的意思_开发中model,entity和pojo的区别
  2. springboot项目打包成jar包
  3. java arryalist去重复_java ArrayList去重复值
  4. 数学猜想验证步骤_10大仍未解开的数学难题
  5. mysql迁移到mysqli_php – 从mysql连接迁移到mysqli
  6. CentOS7上实现Squid缓存服务器的两种模式
  7. linux:查看使用中的端口
  8. gitlab + gitlab-runner 集成 CICD
  9. 《电子元器件的可靠性》——3.7节电子元器件失效率鉴定试验
  10. Linux下出现command not found的解决办法