1 DoIdo~

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 14w+

算法——判断二分图

注释:算法核心:若一个图是二分图,则它的充要条件是所有回路都是偶数,即每个回路可以用两种颜色染色,即该图可以用两种颜色染色,可以直接用dfs\small dfsdfs染色判断是否可以用两种颜色染色。演示图解:代码...

2020-07-08 00:46:45

模板——exCRT

#include<iostream>using namespace std;typedef long long ll;const int N = 1e6 + 10;int n;ll b[N], p[N];ll gcd(ll a, ll b) { return !b ? a : gcd(b, a % b); }ll exgcd(ll a, ll b, ll& x, ll& y) { if (b == 0) { x = 1, y = 0; return

2020-06-05 02:20:43

题解——板子篇

题面题意:AC代码

2020-05-20 23:54:21

板书——数论篇

第一章——整数的唯一分解定理

2020-06-04 01:46:30

集合中的质数(容斥原理和dfs)

注释:当然这道题也可以二进制枚举,只是不用0\small 00这个二进制。题面题意:见题面。解决思路:容斥原理:总结:容斥原理就是奇加偶减。有了公式就直接dfs\small dfsdfs求解就可。为了方便dfs\small dfsdfs,先将输入的数组排序,这样就可以实现神剪枝操作。从左往右遍历每个数,对于这个数来说,可以被取,也可以不取。不取:除了遍历的位置加一,其余不变。取:遍历的位置加一,由容斥原理的奇加偶减的性质可以得到,多取一个数,它肯定变号,所以opt\small op..

2020-06-02 21:41:11

模板——CRT(中国剩余定理)

讲解#include<iostream>using namespace std;typedef long long ll;const int maxn = 100;int n;//b[i]为余数 p[i]为模数ll b[maxn], p[maxn];//扩欧模板ll exgcd(ll a, ll b, ll& x, ll& y) { if (b == 0) { x = 1, y = 0; return a; } ll g = exgcd.

2020-06-01 17:38:47

读入输出挂

//读入挂inline ll read() { ll c = getchar(), Nig = 1, x = 0; while (!isdigit(c) && c != '-')c = getchar(); if (c == '-')Nig = -1, c = getchar(); while (isdigit(c))x = ((x << 1) + (x << 3)) + (c ^ '0'), c = getchar(); return Nig * x;

2020-05-31 16:38:03

目录

模板——板子篇模板——OJ题版模板——默写篇题解——板子篇题解——刷题篇

2020-05-27 18:38:18

赛后题解——问题 D: 游戏jienzi(记忆化)

//优化#pragma GCC optimize(2)//C#include<string.h>#include<stdio.h>#include<stdlib.h>#include<math.h>//C++#include<unordered_map>#include<algorithm>#include<iostream>#include<istream>#include<iom

2020-05-27 01:02:10

模板——特殊数列的前缀最小公倍数

形如:{ f(0)=0 f(1)=1 f(n)=af(n−2)+bf(n−1)            (a,b)=1\small \begin{cases}\ f(0)=0\\\ f(1)=1\\\ f(n)=af(n-2)+bf(n-1)~~~~~~~~~~~~(a,b)=1\\\end{cases}⎩⎨⎧​ f(0)=0 f(1

2020-05-26 01:01:53

小a的旅行计划(组合数学与逆元)

注释:题面题意:见题面。解决思路:由题意不难看出集合A,B\small A,BA,B的个数都不能为1\small 11(1\small (1(1的时候肯定相互包含)\small ))AC代码//优化#pragma GCC optimize(2)//C#include<string.h>#include<stdio.h>#include<stdlib.h>#include<math.h>//C++#include<unord..

2020-05-24 14:24:52

Utawarerumono(裴蜀定理)

注释:题面题意:见题面。解决思路:首先判断ax+by=c\small ax+by=cax+by=c是否有解,由裴蜀定理可知,(a,b)∣c\small (a,b)\mid c(a,b)∣c时有解。此时计算p2x2+p1x+q2y2+q1y\small p_2x^2+p_1x+q_2y^2+q_1yp2​x2+p1​x+q2​y2+q1​y最小值,发现有两个未知数,不好判断,所以将ax+by=c\small ax+by=cax+by=c转换为y=c−axb\small y=\large \frac..

2020-05-24 02:18:18

序列求和(gcd与逆元)

注释:Cii+Ci+1i+...+Cni=Cn+1i+1\small C_i^i+C_{i+1}^i+...+C_n^i=C_{n+1}^{i+1}Cii​+Ci+1i​+...+Cni​=Cn+1i+1​题面题意:见题面。解决思路:结论:12+22+32+...+n2=n(n+1)(2n+1)6\small 1^2+2^2+3^2+...+n^2=\frac{n(n+1)(2n+1)}{6}12+22+32+...+n2=6n(n+1)(2n+1)​证明∵i2=i2+i−i=i(i−1)+i..

2020-05-24 00:25:06

模板——OJ题版

文章目录数论排序高精度字符串数据结构组合数学复数数论gcdBSGSexgcdexBSGS整除分块线性筛欧拉函数线性筛莫比乌斯函数排序堆排序归并排序快速排序高精度高精度加法高精度减法高精度乘法字符串KMP搜索ManacherKMP(Next数组的初始化(版本一))KMP(Next数组的初始化(版本二))数据结构ST表之最大值问题一维树状数组之求和(区间修改,区间查询)二维树状数组之求和(区间修改,区间查询)线段树之最大值问题(单点修改,区间

2020-05-23 12:58:48

模板——exgcd

#include<iostream>using namespace std;typedef long long ll;ll exgcd(ll a, ll b, ll& x, ll& y) { if (b == 0) { x = 1, y = 0; return a; } ll g = exgcd(b, a % b, y, x); y -= a / b * x; //返回值是最大公约数 return g;}int main() { ll a,

2020-05-22 21:11:05

模板——gcd

#include<iostream>using namespace std;typedef long long ll;ll gcd(ll a, ll b) { return !b ? a : gcd(b, a % b); }int main() { ll a, b; cin >> a >> b; cout << gcd(a, b); return 0;}

2020-05-22 20:56:20

模板——默写篇

2020年5月22日

2020-05-22 20:49:42

模板——ST表之最大值问题

#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 1e6 + 10;int st[maxn][21]; //st[i][j]表示从第i位计数,共2的j次方的数的最大值 //比如st[1][2]表示1,2,3,...

2020-04-10 18:12:13

模板——一维树状数组之求和(区间修改,区间查询)

#include<iostream>using namespace std;typedef long long ll;const int maxn = 1e6 + 10;int n, m;ll u[maxn];ll t1[maxn];ll t2[maxn];ll lowbit(ll x) { return x & (-x);}void Update(...

2020-04-12 16:43:43

模板——二维树状数组之求和(区间修改,区间查询)

#include<iostream>using namespace std;typedef long long ll;const int N = 2100;ll n, m;ll t1[N][N], t2[N][N];ll t4[N][N], t3[N][N];ll lowbit(ll x) { return x & (-x); }void Update(...

2020-04-12 23:53:10

查看更多

勋章 我的勋章
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。