- 博客(71)
- 收藏
- 关注

原创 解析DFS(持续更新中)
DFS的板子大致如下:void dfs(int step){ if(走到边界) { 操作();//输出答案等 return; } else { for()//枚举方向等 if(满足进一步搜索条件) { 标记为访问; search(step+1); 收回标记;//回溯
2020-09-23 20:31:13
1825

原创 【数据结构模板题】DFS(深度优先搜索)求1-n全排列
#include<bits/stdc++.h>using namespace std;int a[100001],n;int book[100001];void dfs(int step){ if(step==n+1){ for(int i=1;i<=n;i++) printf("%d ",a[i]); cout<<endl; return; } for(int i=1;i<=n;i++) { if(book[i]==0) { .
2020-09-01 22:55:30
173
原创 【数据结构】LCT
为了方便自己阅读,将部分代码贴到 优快云 上。模板题#include<bits/stdc++.h>using namespace std;inline void read(int &x) { int s=0;x=1; char ch=getchar(); while(ch<'0'||ch>'9') {if(ch=='-')x=-1;ch=getchar();} while(ch>='0'&&ch<='9'
2021-11-25 00:33:59
624
原创 【概率论】联合分布
联合分布部分公式是自己推导的,有不对的地方请说出来 QAQ离散随机变量假设 XXX 和 YYY 是定义在同一样本空间上的离散随机变量,它们的联合频率函数是 p(xi,yi)=P(X=xi,Y=yi)p(x_i, y_i) = P(X=x_i, Y = y_i)p(xi,yi)=P(X=xi,Y=yi)。PX(x)=∑ip(x,yi)P_X(x) = \sum_i p(x, y_i)PX(x)=∑ip(x,yi) 为 XXX 的边际频率函数,PYP_YPY 的定义类似。连续随
2021-11-12 11:06:34
8084
原创 【概率论】随机变量
随机变量定义一般地,随机变量是从 Ω\OmegaΩ(样本空间)到实数域上的函数。累积分布函数F(x)=P(X≤x),x∈(−∞,∞)F(x) = P(X\leq x),x\in(-∞,∞)F(x)=P(X≤x),x∈(−∞,∞)离散随机变量是只取有限值或至多可列无限值的随机变量。一般地,能与整数集形成一一对应的集合就是可列无限集。伯努利随机变量频率函数为:p(1)=pp(0)=1−pp(x)=0(x≠0,1)p(1) = p\\p(0) = 1-p\\p(x) = 0(x\ne
2021-11-09 17:27:09
400
原创 有源汇上下界最大流
更好的阅读体验:这里传送门:这里分析这是一道有源汇上下界最大流的模板题(废话)。既然是网络流的问题,故应该先将图建出来:根据题目特征,我们将少女和每一天看作是图中的点。当然,因为每一天都有拍照次数的限制,我们可以加一个源点 sss ,向每一天连边,这个边的容量范围是 [0,Di][0,D_i][0,Di] 。类似地,因为每个少女都有一个至少拍照张数的限定,所以加一个汇点 ttt ,然后让每个少女向汇点连边,容量范围自然是 [Gi,∞][G_i,∞][Gi,∞] 。至于少
2021-06-19 19:09:11
215
原创 Splay 板子
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int INF=0x3f3f3f3f;inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=ge
2021-04-05 19:26:18
106
原创 归并排序板子
#include<iostream>using namespace std;const int N=1e5+5;int a[N], tmp[N];void merge_sort(int a[],int l,int r){ if(l>=r) return; // the length of the range no more than 1, then return int mid=l+r>>1; merge_sort(a,l,mid), merge_sort(a
2021-04-05 19:25:32
102
原创 LCA板子
#include<bits/stdc++.h>using namespace std;const int N=5e5+5, M=20;inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=
2021-03-04 21:45:55
273
1
原创 实现求前n个数素数的个数以及得到相应的素数表
#pragma GCC optimize("O3")#include<bits/stdc++.h>using namespace std;#define SET0(a) memset(a,0,sizeof(a))#define FOR(i,a,b) for(int i=(a);i<=(b);i++)#define DWN(i,a,b) for(int i=(a);i>=(b);i--)#define INF 0x3f3f3f3ftypedef long long ll.
2021-01-08 17:04:30
261
原创 实现素性测试、整数分解、约数枚举
#pragma GCC optimize("O3")#include<bits/stdc++.h>using namespace std;#define SET0(a) memset(a,0,sizeof(a))#define FOR(i,a,b) for(int i=(a);i<=(b);i++)#define DWN(i,a,b) for(int i=(a);i>=(b);i--)#define INF 0x3f3f3f3ftypedef long long ll.
2021-01-08 16:53:39
102
原创 【ACM模板】手写栈、队列
手写栈const int N = 2e5 + 5;struct Stack{ int a[N]; int tot = 0; void push(int x) { a[tot++] = x; } int pop() { int ret = a[tot - 1]; a[--tot] = 0; return ret; } int size() {
2021-01-08 11:32:33
153
原创 【ACM模板】exgcd
int x,y;void exgcd(int a,int b){ if(b==0) {x=1,y=0;return;} exgcd(b,a%b); int temp=x; x=y; y=temp-a/b*y;}
2020-12-05 16:42:44
100
原创 【ACM模板】链式前向星 存图 枚举每个结点连接的点 dfs bfs
//链式前向星 存图 枚举每个结点连接的点 dfs //四个结点的有向完全图(例子)#pragma GCC optimize("O3")#include<bits/stdc++.h>using namespace std;#define SET0(a) memset(a,0,sizeof(a))#define FOR(i,a,b) for(int i=(a);i<=(b);i++)#define DWN(i,a,b) for(int i=(a);i>=(b);i--).
2020-12-04 11:35:14
117
原创 OI重要知识点
OI常见知识点整合熟练掌握基本语法基本数据结构:STL(stack,queue,vector,map,priority_queue,set,bitset...)单调栈中级数据结构:并查集,带权并查集搜索:dfs,bfs图论:拓扑排序重要方法:模拟,贪心离线二分,三分法基本掌握中级数据结构:hash表高级数据结构:树状数组线段树,线段树合并字符串相关:KMPAC自动机字典树Trie图论:最小生成树(prim,kruskal)
2020-12-03 09:27:22
455
1
原创 【图论】链式前向星
#include<bits/stdc++.h>using namespace std;#define M 200005#define N 100005struct Edge{ int to,next; }edge[M];int head[N];int tot=0;void add(int u,int v){ edge[tot].to=v; edge[tot].next=head[u]; head[u]=tot++;}bool vis[N];.
2020-11-27 13:33:51
115
原创 【Java学习】继承(简单的例子)
mainpublic class Main { public static void main(String[] args){ Mouse mouse=new Mouse("Jerry",1); mouse.eat(); mouse.introduction(); }}Animal classpublic class Animal { private String name; private int id;
2020-11-24 17:09:30
190
原创 P2572 [SCOI2010]序列操作 珂朵莉树做法
注意:数据被加强了!并非正解!//#pragma GCC optimize("O3")#include<bits/stdc++.h>using namespace std;#define SET0(a) memset(a,0,sizeof(a))#define FOR(i,a,b) for(int i=(a);i<=(b);i++)#define DWN(i,a,b) for(int i=(a);i>=(b);i--)typedef long long l.
2020-11-23 17:12:29
205
原创 【算法】珂朵莉树板子
https://www.luogu.com.cn/problem/CF896C<---例子#include<bits/stdc++.h>using namespace std;#define SET0(a) memset(a,0,sizeof(a))#define FOR(i,a,b) for(int i=(a);i<=(b);i++)#define DWN(i,a,b) for(int i=(a);i>=(b);i--)typedef long long ..
2020-11-23 09:39:24
229
原创 【C++ 面向对象】重载运算符
#include<bits/stdc++.h>using namespace std;class Box{ private: int length; int breadth; int height; public: int getLength(){ return length; } int getBreadth(){ retu.
2020-11-20 17:38:38
174
原创 【C++ 面向对象】重载函数
函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。#include<bits/stdc++.h>using namespace std;typedef long long ll;class printData{ public: void print(int x){ cout
2020-11-20 17:00:47
221
原创 【Java】实现对文章的大小写改错
import java.io.*;public class GrammarChecker { public static void main(String[] args){ try { BufferedReader in=new BufferedReader(new FileReader(".txt"));//待改文章 BufferedWriter writer=new BufferedWriter(new FileWriter(.
2020-11-20 10:32:56
137
原创 【Java学习】自定义类(以Employee类为例)
直接上代码~Main:import java.time.*;public class Main { public static void main(String[] args){ Employee[] staff=new Employee[3]; staff[0]=new Employee("Alice",10000,1987,12,15); staff[1]=new Employee("Bob",20000,1983,11,12);
2020-11-16 22:28:25
520
原创 【裴礼文数学分析】例1.2.4
题面:证明:简证(分析):寻找直接处理麻烦,可以放缩一下:左式<(平方差)进而有时时取即可注:本人分步做法和书中做法一样,如果有更简洁的方法可以留言~...
2020-11-14 16:39:55
612
原创 【裴礼文数学分析】例1.2.1
题面:① 证明分析:寻找N使得 n>N时(显然左式>0)对上式进行变换:进而利用二项式定理:右式>故只需:即故取时候即有
2020-11-13 17:38:12
530
原创 【裴礼文数学分析】例1.1.5
题面:是上有界实函数 满足证明:是周期函数。简证:由条件设(C是常数)进而有若当时,(因为有界)故矛盾类似的可知亦不成立故故有h为该函数的周期
2020-11-13 16:46:35
727
原创 【裴礼文数学分析】例1.1.4
题面:证明:在任意对应区间对应函数f,总可以表示成一偶函数H,一奇函数G的和。 而且这样的表示法是唯一的。简证:对于f上任意一点x,假设已经找到H,G使得在x处满足H+G=f(x)则在-x处应有H-G=f(-x)不难解得H,G在x处的值,且显然可以从中看出这样的解是唯一的...
2020-11-13 16:25:06
238
原创 【裴礼文数学分析】例1.1.3
题面:是的反函数,证明:是奇函数。简证:记即有的反函数为而反函数为故进而有所以为奇函数由例1.1.2的结果可知是奇函数。
2020-11-13 13:26:34
379
原创 【裴礼文数学分析】例1.1.2
题面:为奇函数且存在反函数证明:也是奇函数。简证:已知只需证:……①对①,有(这样做是合理的,因为的值域就是的定义域)进而化为:进而:成立
2020-11-13 11:57:42
544
原创 【裴礼文数学分析】例1.1.1
题面严格递增,有:……①……②求略解:①等价于:因而是②式的一个根而由严格递增 知严格递增亦严格递增有且仅有一个根故结合①② 不难得到
2020-11-13 11:45:52
342
原创 【数据结构模板】线段树2(加乘 区间修改 区间查询)
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;typedef unsigned long long ll;#define maxn 100001int n,m;ll mod;ll a[maxn],tree[maxn<<2],add[maxn<<2],mul[maxn<<2];ll ls(ll p){ return p.
2020-10-29 23:31:21
61
原创 【数据结构模板】线段树(区间修改,区间查询)
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;typedef unsigned long long ll;#define maxn 100005ll a[maxn],tree[maxn<<2],b[maxn<<2];int n,t;ll ls(ll p){ return p<<1;} ll rs(ll p){.
2020-10-29 09:14:38
106
原创 【数据结构模板】树状数组2(区间修改 单点查询)
用差分数组就能解决问题了!#include<cstdio>#include<iostream>#include<algorithm>using namespace std;typedef long long ll;#define MAX 500010int n,m;ll tree[MAX];ll a[MAX];int lowbit(int x){ return x&(-x);}void add(int x,ll k){ while(
2020-10-24 11:30:02
86
原创 【数据结构模板】树状数组
#include<cstdio>#include<iostream>using namespace std;#define MAX 500010int lowbit(int x){ return x&(-x);}int tree[MAX];//建立树状数组 int n,m;void add(int x,int k){ while(x<=n){ tree[x]+=k; x+=lowbit(x); } return;}int sum(i.
2020-10-24 10:51:09
58
原创 【数据结构】解析ST表(萌新也能听懂qwq)
ST表解析看到全网并没有太多对ST表详细的解释,本蒟蒻决定写一篇相对详细的对ST表解析的blog,希望能让更多的萌新听懂qwq。进入正题:前置知识要求:语言:会C(C++)就行数学知识:对数,指数(不会的可以点这里以及这里)思想:有一些dp(动态规划)的思想(不会dp的别走啊,你还可以在这里学到一点dp呢!)引入问题:下面我们从这一道题目讲起:(原题在这:点这里)给定一个长度为的数列,和次询问,求出每一次询问的区间内数字的最大值。最暴力朴素的想...
2020-10-22 00:15:42
600
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人