当前位置: 首页 > news >正文

我的算法模板1(快速幂、逆元、组合数)

快速幂

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;ll qmi(ll a, ll k, ll p){ll res = 1;a = a % p;while(k){if(k & 1)res = res * a % p;k >>= 1;a = a * a % p;}return res;
}
signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t; cin >> t;while(t--){ll a, b, p; cin >> a >> b >> p;cout << qmi(a, b, p) << endl;}return 0;
}

扩展欧几里得求逆元

#include<bits/stdc++.h>
using namespace std;
#define int long longint exgcd(int a, int b, int &x, int &y){if(b == 0){x = 1, y = 0;return a;}int d = exgcd(b, a % b, y, x);y -= a / b * x;return d; 
}
int inv(int a, int b){int x, int y;int d = exgcd(a, p, x, y);if(d != 1)return -1;return (x % p + p) % p;
}signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t; cin >> t;while(t--){int a, p; cin >> a >> p;int ans = inv(a, p);cout << ans << endl;}return 0;
}

组合数求模

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5000010, p = 998244353;
ll f[N], inv[N];
ll qmi(ll a, ll k, ll p){ll res = 1;a %= p;while(k){if(k & 1)res = res * a % p;a = a * a % p;k >>= 1;}return res;
}
ll C(ll n, ll m){if(m < 0 || m > n)return 0;return f[n] * inv[m] % p * inv[n - m] % p; 
}
signed main()
{ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);f[0] = 1;for(int i = 1; i < N; i++)f[i] = f[i - 1] * i % p;inv[N - 1] = qmi(f[N - 1], p - 2, p); for(int i = N - 2; i >= 0; i--){inv[i] = inv[i + 1] * (i + 1) % p;} int t, x; cin >> t >> x;ll ans = 0; while(t--){int n, m; cin >> n >> m;ans ^= C(n, m);} cout << ans << endl;return 0;
}

http://www.dtcms.com/a/469466.html

相关文章:

  • 八股-2025.10.11
  • 图片上传网站变形的处理旅游网站建设的概念
  • 集团培训网站建设注册公司需要什么条件和手续
  • Spark RDD详解 —— RDD特性、lineage、缓存、checkpoint、依赖关系
  • 玩转Docker系列专栏大纲
  • 网络攻防技术:信息收集技术
  • spark on hive 还是 hive on spark?
  • 搞懂数据通信不用愁!网络基础 + 参考模型 + VRP 配置,一篇全搞定
  • 解决MacOS上CLion调试的时候容器的值显示为0的问题
  • Docker快速入门——第一章Docker入门
  • 建站助手官网淘宝seo具体优化方法
  • 邯郸网站建设哪儿好网站建设参考文献英文书籍
  • STM32 串口收发数据-中断的方式
  • k8s ingress-nginx 学习
  • 【含文档+PPT+源码】基于springboot的旅游路线推荐系统的设计与实现
  • 嘉兴seo网站优化竞价托管的注意事项
  • K8S 概念、安装与核心工作机制详解
  • 做网站需要公司有哪些网站最新点击量排名
  • VUE 开发实例 一则
  • jmeter使用之--MD5加密
  • ESim电工仿真APP使用说明书
  • 【碎片化学习】 Apache JMeter 取样器指南:从入门到精通
  • 【无标题】生活琐记(7)
  • 苍穹外卖day04总结
  • Java Redis “核心基础”面试清单(含超通俗生活案例与深度理解)
  • jmeter中使用正则表达式提取器传递参数
  • 基于大数据的学习资源推送系统的设计与实现 _django
  • 朝阳双桥网站建设竞争对手网站分析
  • 江阴招聘网站建设学徒黄页网页的推广网站
  • C 语言11:输入方法全解析