首页 > TAG信息列表 > MODINT

P7322 「PMOI-4」排列变换

P7322 「PMOI-4」排列变换 题目大意 给定常数 \(k\)。对于一个长度为 \(n\) 的排列 \(a\),定义 \[f(a)=\{\max_{1 \le i \le k} \{a_i\},\max_{2 \le i \le k+1} \{a_i\},\cdots,\max_{n-k+1 \le i \le n} \{a_i\}\} \]对于一个长度为 \(n\) 的序列 \(a\),定义其权值 \(w(a)\) 为 \(

Codeforces Round #818 (Div. 2)

Codeforces Round #818 (Div. 2) D. Madoka and The Corruption Scheme 题目大意 给定一场比赛,有\(2^n\)个参赛者。赞助商有k次机会可以调整某一局的结果。而我们想要知道不管赞助商如何调整,我们能得到的获胜者的编号最小值,即为让我们求在k次调整机会下,我们能获得的获胜者的编号最

modint自动取模

modint 自动取模类模板 简单的一种 constexpr int mod = 1e9 + 7; template <typename T> T inv(T a, T m) { T u = 0, v = 1; while (a != 0) { T t = m / a; swap(a, m -= t * a); swap(u -= t * v, v); } assert(m == 1); return

泛型编程与 OI——modint

博客链接。 在 OI 中,有大量的题目要求对一些数字取模,这便是本文写作的背景。 背景介绍 这些题目要么是因为答案太大,不方便输出结果,例如许多计数 dp;要么是因为答案是浮点数,出题人不愿意写一个确定精度的 Special Judge,例如很多期望概率题;要么是因为这道题目直接考察了模的性质和运

MODINT 模板

#define mod 998244353 struct modint{ int x; modint(int o=0){x=o;} modint &operator = (int o){return x=o,*this;} modint &operator +=(modint o){return x=x+o.x>=mod?x+o.x-mod:x+o.x,*this;} modint &operator -=(modint o){return x=x-o.x<0

CodeForce 常用模板

目录代码模板KMPPrimeRandomST TableINT128MINT/CombineDSU(不带持久化) 代码模板 #include <bits/stdc++.h> using namespace std; #define DEBUG 0 // #define int long long #define fi first #define se second #define pb push_back #define vt std::vector #define lb lower_

「题解」最简真分数

本文将同步发布于: 洛谷博客; csdn; 博客园; 简书。 题目 题意简述 给定两个最简真分数和正整数 \(\frac{a}{b},\frac{c}{d},n\),求有多少个最简真分数 \(\frac{e}{f}\) 满足 \(f\in[1,n]\) 且 \(\frac{a}{b}\leq\frac{e}{f}\leq\frac{c}{d}\)。 \(1\leq n\leq 10^{10}\)。 题解 限制

「题解」信仰圣光

本文将同步发布于: 洛谷博客; csdn; 博客园; 简书。 题目 题意简述 给定一个长度为 \(n\) 的排列 \(p\),在上面等概率随机选择 \(k\) 个点,建一张 \(i\to p_i\) 的图,求有多大的概率这 \(k\) 个点可以标记到所有点。 \(1\leq k\leq n\leq 152501\)。 题解 破排列为环 显然,一个排列可以

多项式重工业基地

未完待续……(只是给自己存个板子) 快速傅里叶变换 #include <bits/stdc++.h> using namespace std; const int maxn = 2e6 + 1e2; struct Cp { double x, y; inline Cp operator +(const Cp& b) const { return (Cp) { x + b.x, y + b.y }; } inline Cp operator -(const Cp

poly

#include<bits/stdc++.h> #define For(i,a,b) for(register int i=(a);i<=(b);++i) #define Rep(i,a,b) for(register int i=(a);i>=(b);--i) using namespace std; inline int read() { char c=getchar();int x=0;bool f=0; for(;!isdigit(c);c=getchar(