数学
不可知论大祭司
Know how to solve every problem that has been solved.
展开
-
CF1452D. Radio Towers
link#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#include <stack>#inc.原创 2021-04-08 17:24:23 · 99 阅读 · 0 评论 -
高精度(vector实现)
写了几个高精度,不得不说stl是真好用#include <cstdio>#include <iostream>#include <algorithm>#include <algorithm>#include <vector>#include <queue>#include <cctype>#include <cmath>#include <cstring>#include <原创 2021-04-06 10:38:57 · 213 阅读 · 0 评论 -
【P4720】 扩展卢卡斯
要注意的点还是很多的比如求n! mod (p^k)时, 对剩余不足一周期的部分(即计算remain时)i可能很大, remain * i很容易爆long long,注意要取模。#include <algorithm>#include <iostream>using namespace std;using ll = long long;ll gcd(ll a, ll b){ return b == 0? a: gcd(b, a % b);}ll exgcd(原创 2021-04-06 00:27:18 · 106 阅读 · 0 评论 -
LuoguP4777 【模板】扩展中国剩余定理(EXCRT)
实际上是用递归推的,感觉和中国剩余定理的关系不大。变量很多,注意各个变量的含义#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#include <map>#include <unordered_原创 2021-03-29 15:10:34 · 91 阅读 · 0 评论 -
【LuoguP1495】中国剩余定理CRT模板
code用扩欧求逆原是要求互质的,因为这时候满足ax + by = gcd(a, b) = 1才有 ax = 1(mod b)。#include <iostream>#include <cctype>#include <cstring>#include <cstdio>#include <vector>#include <set>#include <algorithm>#include <map&g原创 2021-03-29 12:36:17 · 86 阅读 · 0 评论 -
CF1499D【D. The Number of Pairs】
linkcode还是要提前做一下记忆优化,要不然会T#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <vector>#include <algorithm>#include <set>#include <map>#define fr(i, n) for (int i = 0; i .原创 2021-03-19 19:21:33 · 81 阅读 · 0 评论 -
【CF1401C】 Mere Array
linkcode#include <cstdio>#include <iostream>#include <algorithm>#include <map>#include <cctype>#include <cstring>using namespace std;const int N = 1e5 + 10;inline int read(){ int x = 0; char ch = getchar.原创 2021-03-16 07:12:42 · 83 阅读 · 0 评论 -
P1082 [NOIP2012 提高组] 同余方程
codeax + by = m方程有解的必要条件是m % gcd(a, b) = 0。又因为 ax + by = 1有解,所以可以推出gcd(a, b) = 1,于是可以用扩展欧几里得求得x。#include <cstdio>#include <iostream>#include <algorithm>using namespace std;void exgcd(int a, int b, int&x, int &y){ if (原创 2021-03-10 14:40:27 · 55 阅读 · 0 评论 -
【LuoguP3811】P3811 乘法逆元
code#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 3e6 + 100;int inv[N], n, p;void solve(int num){ inv[1] = 1; for (int i = 2; i <= num; ++i) { inv[i] = (long long)(p原创 2021-03-10 14:01:05 · 72 阅读 · 0 评论 -
LuoguP5960 【模板】差分约束算法
link链接分析一下是粗略的证明先假设这样的解是存在的,对未知数Xi,假设一共有k组差分约束,则容易推出Xi <= min{ , , ,}而通过建边用spfa得到的结果显然是满足这个条件的。为了维护图的连通性,需要加入超级源点对于存在负环的情况,SPFA可以判断,此时负环的意义就是Xi <= Xi + 某负数,很显然不会存在符合差分约束的解。code#include <cstdio>#include <iostream>#include <a原创 2021-03-01 20:39:16 · 139 阅读 · 0 评论 -
【CF1463B】Find The Array
Find The Array简介代码简介昨天Educational Round的一题,就是新的数列和原数列的绝对值之差的和小于原数列和的一半,可以考虑构造一个以二为工笔画的等比数列,每次都确定bishi小于等于ai的最大值。即2*bi > ai, 这样就一定可以满足题目要求。一道数学题。代码#include <cstdio>#include <cctype>#include <cmath>int t, n;inline int read(){原创 2020-12-18 08:23:23 · 784 阅读 · 0 评论