倒计时59天

(来源:b站左程云up  099)

一:求逆元:

1)要保证a可以整除b      2)要保证mod的是一个质数        3)b和mod互质

题目2)3)一般都满足,主要是1)

方法:如求1.(10/5)%mod   mod=3

     5的逆元其实就等于(5的mod-2次方)%mod=5%3=2;然后用10%mod=1,结果就等于(分母的逆元乘以分子mod后的值)%mod,即(2*1)%3=2!

                  2.(18/6)%mod   mod=5

     先求6的逆元,就是6的3次方再mod,如果mod太大用快速幂,之后结果就为1;18%5=3;3*1=3!

求1-n的逆元,1的话易知就是1,然后就接着用公式:

a[i]=(int)(mod-a[mod%i] * (mod/i)%mod)

求阶乘的逆元:

//第一步,求1-n阶乘的mod://1!%mod=1;然后用乘法同余://2!%mod=(1!%mod)*(2%mod)%mod    ;  3!%mod=(2!%mod)*(3%mod)%mod........//把他们都存在一个数组里面,假设为b[N];b[1]=1;
for(int i=2;i<=n;i++)
{b[i]=(i%mod)*(b[i-1]%mod)%mod;
}

第二步,可以直接套公式但比较慢:

快速幂:

int pow(int a,int b)
{int result=1;while(b){if(b&1){result=result*a%mod;b/=2;a=a*a%mod;}else{b/=2;a=a*a%mod;}}
return result;
}
//ps:0的逆元为1,因为0!=1;//所以就是:c[0]=1;c[0]=1;
for(int i=1;i<=n;i++)
{c[i]=pow(b[i],mod-2);
}

优化后:

所以由上面我们求Cnm,n! / ((n-m)!*m!)

而n!%mod 求出来了:b[n]

(n-m)!的逆元:c[n-m],m!的逆元:c[m]


int answer(int n,int m)
{int ans=b[n];ans=(ans*c[m])%mod;ans=(ans*c[n-m])%mod;return ans;
}

二:容斥原理:

相当于:a U b U c  的话:

就等于:a+b+c-a∩b-b∩c-a∩c+a∩b∩c

而如果aUbUcUdUe:

dp[i]表示最大公约数为i的子序列个数

int DP()
{for(int i=n;i>=1;i--){int cn=0;for(int j=i;j<=n;j+=i){cn=(cn+d[j])%mod;}dp[i]=(pow[cn]-1+mod)%mod;for(int j=2*i;j<=n;j+=i){dp[i]=(dp[i]-dp[j]+mod)%mod;//减法求余加mod}}return dp[1];
}//2的0-n次方mod后的值
pow[0]=1;
for(int i=1;i<=n;i++)
{pow[i]=(pow[i-1]*2)%mod;
}//d[i]:i出现的次数for(int i=0;i<n;i++)
{cin>>r;d[r]++;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2777523.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

骨科器械行业分析:市场规模为360亿元

骨科器械一般指专门用于骨科手术用的专业医疗器械。按国家食品药品监督局的分类划分常分为&#xff1a;一类;二类和三类。按照使用用途和性能主要分为骨科用刀、骨科用剪、骨科用钳、骨科用钩、骨科用针、骨科用刮、骨科用锥、骨科用钻、骨科用锯、骨科用凿、骨科用锉/铲、骨科…

【C语言】一道相当有难度的指针某大厂笔试真题(超详解)

这是比较复杂的题目&#xff0c;但是如果我们能够理解清楚各个指针代表的含义&#xff0c;画出各级指针的关系图&#xff0c;这道题就迎刃而解了。 学会这道笔试题&#xff0c;相信你对指针的理解&#xff0c;对数组&#xff0c;字符串的理解都会上一个档次。 字符串存储使用的…

UDP是什么,UDP协议及优缺点

UDP&#xff0c;全称 User Datagram Protocol&#xff0c;中文名称为用户数据报协议&#xff0c;主要用来支持那些需要在计算机之间传输数据的网络连接。 UDP 协议从问世至今已经被使用了很多年&#xff0c;虽然目前 UDP 协议的应用不如 TCP 协议广泛&#xff0c;但 UDP 依然是…

JAVA设计模式之代理模式详解

代理模式 1 代理模式介绍 在软件开发中,由于一些原因,客户端不想或不能直接访问一个对象,此时可以通过一个称为"代理"的第三者来实现间接访问.该方案对应的设计模式被称为代理模式. 代理模式(Proxy Design Pattern ) 原始定义是&#xff1a;让你能够提供对象的替代…

OpenEuler20.03LTS SP2 上安装 OpenGauss3.0.0 单机部署过程(二)

开始安装 OpenGauss 数据库 3.1.7 安装依赖包 (说明:如果可以联网,可以通过网络 yum 安装所需依赖包,既可以跳过本步骤。如果网络无法连通,请把本文档所在目录下的依赖包上传到服务器上,手工安装后,即无需通过网络进行 Yum 安装了): 上传:libaio-0.3.111-5.oe1.x8…

【机器学习】合成少数过采样技术 (SMOTE)处理不平衡数据(附代码)

1、简介 不平衡数据集是机器学习和人工智能中普遍存在的挑战。当一个类别中的样本数量明显超过另一类别时&#xff0c;机器学习模型往往会偏向大多数类别&#xff0c;从而导致性能不佳。 合成少数过采样技术 (SMOTE) 已成为解决数据不平衡问题的强大且广泛采用的解决方案。 …

Webshell一句话木马

一、webshell介绍&#xff08;网页木马&#xff09; 分类&#xff1a; 大马&#xff1a;体积大、隐蔽性差、功能多 小马&#xff1a;体积小&#xff0c;隐蔽强&#xff0c;功能少 一句话木马&#xff1a;代码简短&#xff0c;灵活多样 二、一句话木马&#xff1a; &#xff1a;…

文件查找和解压缩

一、文件搜索查找 1、按照名字搜索 &#xff08;1&#xff09;查找software目录下名字为1.txt的文件 [rootmaster opt]# find software/ -name 1.txt software/1.txt&#xff08;2&#xff09;查找software目录下所有以.txt结尾的文件 [rootmaster opt]# find software/ -n…

新春满满的祝福,春晚文字版节目单,养生篮球与吃喝玩乐——早读

新年快乐都是祝福 引言代码第一篇&#xff08;跳&#xff09; 人民日报 “兔兔&#xff0c;这一年辛苦了&#xff0c;接下来就交给我吧&#xff01;”第三篇 人民日报 【夜读】新年三愿&#xff1a;家人安康&#xff0c;生活美满&#xff0c;心怀希望第四篇 人民日报&#xff0…

【OrangePi Zero2的系统移植】OrangePi Zero2 SDK说明

一、使用环境要求 二、获取Linux SDK 三、首次编译完整SDK 基于OrangePi Zero2的系统移植 之前我们讲解香橙派的使用时&#xff0c; 都是直接在香橙派上进行代码编译&#xff0c; 但在实际的项目开发过程中&#xff0c;更多 的还是使用交叉编译环境进行代码的编译。再编译完成…

VUE学习之路——列表渲染

<p v-for"item in items">{{ item }}</p>使用v-for进行列表的渲染。 这仅仅是一个简单的demo&#xff0c;使用v-for可以用来遍历数组和对象&#xff0c;具体如下&#xff1a; 注意&#xff1a;遍历数组或对象的时候&#xff0c;&#xff08;&#xff09;…

Kafka集群安装与部署

集群规划 准备工作 安装 安装包下载&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1BtSiaf1ptLKdJiA36CyxJg?pwd6666 Kafka安装与配置 1、上传并解压安装包 tar -zxvf kafka_2.12-3.3.1.tgz -C /opt/moudle/2、修改解压后的文件名称 mv kafka_2.12-3.3.1/ kafka…

python-游戏篇-初级-超级画板

文章目录 开发环境要求运行方法PyCharmVScode 代码main.pytools.py 效果 开发环境要求 本系统的软件开发及运行环境具体如下。 操作系统&#xff1a;Windows 7、Windows 10。Python版本&#xff1a;Python 3.7.1。开发工具&#xff1a;PyCharm 2018。Python内置模块&#xff…

HttpClient | 支持 HTTP 协议的客户端编程工具包

目录 1、简介 2、应用场景 3、导入 4、API 5、示例 5.1、GET请求 5.2、POST请求 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于Java领域学习&#xff0c;擅长web应用开发、数据结构和算法&#xff0c;初…

Nginx与history路由模式:刷新页面404问题

使用nginx部署前端项目&#xff0c;路由模式采用history模式时&#xff0c;刷新页面之后&#xff0c;显示404。 路由模式 前端路由的基本作用为&#xff1a; ①当浏览器地址变化时&#xff0c;切换页面&#xff1b; ②点击浏览器后退、前进按钮时&#xff0c;更新网页内容&…

PCIe学习笔记(1)Hot-Plug机制

文章目录 Hot-Plug InitHot Add FlowSurprise Remove FlowNPEM Flow Hot-Plug Init PCIe hot-plug是一种支持在不关机情况下从支持的插槽添加或删除设备的功能&#xff0c;PCIe架构定义了一些寄存器以支持原生热插拔。相关寄存器主要分布在Device Capabilities, Slot Capabili…

[word] word分割线在哪里设置 #其他#经验分享

word分割线在哪里设置 在工作中有些技巧&#xff0c;可以快速提高工作效率&#xff0c;解决大部分工作&#xff0c;今天给大家分享word分割线在哪里设置的小技能&#xff0c;希望可以帮助到你。 1、快速输入分割线 输入三个【_】按下回车就是一条长直线&#xff0c;同样分别…

巧用liteflow,告别if else,SpringBoot整合liteflow

假设有一个三个原子业务&#xff0c;吃饭、喝水、刷牙。 现在有三个场景&#xff0c;分别是 场景A: 吃饭->刷牙->喝水 官网地址&#xff1a;https://liteflow.cc/ 1.添加依赖&#xff1a; <dependency><groupId>com.yomahub</groupId><artifactI…

Merging of neural networks

Merging of neural networks 论文链接&#xff1a;https://arxiv.org/pdf/2204.09973v2.pdf源码链接&#xff1a;https://github.com/fmfi-compbio/neural-network-merging 简介 典型的神经网络训练从随机初始化开始&#xff0c;并进行训练&#xff0c;直到在某些局部最优中…

GEE数据——美国农业部LANDFIRE (LF)数据集2.3.0版本

地面火灾数据集 LANDFIRE (LF)&#xff0c;即 "地貌火灾和资源管理规划工具"&#xff0c;是美国农业部森林服务局、美国内政部地质调查局和大自然保护协会的野地火灾管理项目之间的共享项目。前言 – 人工智能教程 LANDFIRE (LF) 图层是利用基于大量实地参考数据、…