自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Kosaraju算法

参考博客用于求一个图的强连通分量,时间复杂度为O(n)。NEERC 17 C题

2021-10-16 22:51:27 448

原创 支配树 / Dominator_Tree(待补)

参考博客

2021-04-09 16:00:12 241

原创 可持久化线段树 / 主席树

参考博客图解

2021-04-01 21:34:26 149

原创 回文自动机 / 回文树

B站讲解视频B站视频对于pre数组(fail数组)的讲解较清晰,可供参考。

2021-03-29 19:57:07 177

原创 关于最短路问题的各种算法

四种算法的对比SPFA

2021-03-03 22:28:56 218 1

原创 网络流问题

参考博客(Ford-Fulkerson大致思想)一些基本定理的证明三种算法的模板三种算法解析Edmonds_Karp 算法 (O(VE2))网上普遍将使用BFS来寻找增广路的算法叫Edmonds-karp算法,使用DFS来寻找增广路的算法叫Ford-Fulkerson算法。以上两种算法在处理下面这个图十分低效:详解因此我们引进Dinic算法:Dinic算法对两种寻找增广路的结合及优化,Dinic算法优于EK算法及FF算法。Dinic算法EK和EF算法都是每次都从s开始寻找到t的增广路

2021-02-02 23:55:16 414

原创 KM算法(DFS版,优化DFS版,BFS版)

KM算法主要用于二分图的最大权匹配问题图解模板如果我们要求边权值最小的匹配可以把边权值取负值,得出结果后再取相反数即为答案。KM算法各版本模板:dfs版KM算法模板O(n4)复杂度图解+模板题集对访问过且匹配过的男生,期望值要加上女生减去的期望值;代码中的未访问过的男生实际上包含两种,一种是完全没被访问过的(slack[ j ] = INF),一种是访问过,且更新过slack值但没有参与匹配的男生,由于这种男生可匹配的部分女生期望值降低,所以该男生的slack值减少。HDU 2255 模板

2020-11-17 11:02:24 2663

原创 后缀数组

参考博客参考博客变量解释:后缀数组sa[i]:表示排名为i的后缀的起始位置的下标rk[i]:表示起始位置的下标为i的后缀的排名sa表示排名为i的是啥,rk表示第i个的排名是啥LCP(i,j):为suff(sa[i])与suff(sa[j])的最长公共前缀,即排名为 i 的后缀与排名为 j 的后缀的最长公共前缀height[i]:排名为 i 和排名 i - 1的后缀的最长公共前缀h[i]:以原字符串的第i位为起始位置的的后缀与排名在它前一位的后缀的最长公共前缀。...

2020-09-28 18:35:56 138

原创 tarjan算法模板、参考博客及例题(更新中)

参考博客注意参考博客中的裸题代码第55行应为:if(!DFN[i]) tarjan(i);//当这个点没有访问过,就从此点开始。防止图没走完模板#include <queue>#include <cstdlib>#include <cmath>#include <cstdio>#include <string>#include <cstring>#include <iostream>#include

2020-09-02 11:13:53 503

原创 string类的c_str()注意事项

string和c_str()

2020-08-26 15:11:15 253

原创 AC自动机参考博客及例题汇集(更新中)

预备知识:AC自动机数据结构参考了Trie树(字典树),在字符匹配上参考了KMP算法,所以在学习AC自动机之前应学习KMP算法及Trie树。建议先看一道模板题再看博客HDU2222参考博客:AC自动机 算法详解(图解)附带模板...

2020-08-25 23:01:22 177

原创 C++ auto迭代用法

vector数组:代码:#include <iostream>#include <map>#include <queue>#include <vector> using namespace std; int main(){ vector<int> v; v.push_back(3); v.push_back(1); v.push_back(2); for(auto u:v) { cout<<u<

2020-07-19 23:33:00 1401 1

原创 Trie树原理、模板及例题(更新中)

Trie树原理视频讲解(油管)模板及例题

2020-07-14 23:27:12 191

原创 二分图入门博客及例题汇集(更新中)

基本概念匈牙利算法二分图大合集

2020-05-29 11:08:08 213

原创 C++ 迭代器详解

C++迭代器(STL迭代器)iterator详解

2020-05-22 10:50:17 196

原创 数位DP入门

数位DP入门参考博客直接上题:专题II:HDU-2089 不要62参考博客例1即为这道题,这里主要对代码进行较详细的分析:代码:

2020-05-18 17:56:22 143

原创 数论定理

一、欧拉定理欧拉函数:欧拉函数 φ( n )是小于等于 n 的正整数中与 n 互质的数的个数。eg. φ(1)=1 , φ(8)=4 (1,3,5,7)欧拉定理对于互质的a和n有:二、费马小定理p是一个质数,a是一个整数,那么:a^p ≡ a(mod p) 或 a^(p-1) ≡ 1 (mod p)...

2020-05-18 17:55:59 391

原创 Thanos Power(动态规划)

CodeForces Gym 102263题目大意给一个数,通过加减10x( x>=0 ) 的运算来得到这个数,求最少的运算次数。如:231 = 100 + 101 + 101 + 101 +102 + 102,结果为6。999 = 103 - 100 ,结果为2。题目分析线性DP。dp[ i ][ j ],i表示数位,j为0或1,0表示这一数位采用先加后减的方式得到该数位上的数...

2020-04-22 22:15:15 239

原创 拓展KMP入门参考博客及例题汇集(更新中)

参考博客1模板题HDU 4300这道题数据较小,似乎二分+暴力能过。拓展KMP做法:假设原密文为zzzzzxxx(设原密文为字符串S),那么根据密码表转换后为xxxxx…(设转换后字符串为T)原密文的明文部分再次按密码表转换后无意义。这时,S:zzzzzxxx;T:xxxxx… 将S看作拓展KMP的母串,T看作子串,找出符合要求的明文即可。代码#include<iostream&...

2020-04-18 17:13:24 297

原创 马拉车入门参考博客及例题汇集

参考博客知乎模板回文串的半径各种情况的证明+例题例题最长回文(模板题)

2020-04-09 16:30:07 145

原创 KMP算法入门参考博客(更新中)

添加链接描述

2020-03-21 20:48:05 129

原创 图片网站汇集

Pixabay(英文网站支持中文检索,图片+视频)Pexels(根据主题英文检索,商务风)Unsplash(无版权,风景照片)Gratisography(图片较新颖怪诞)Visualhunt(根据颜色找图片)Foodiesfeed(食物图片)picjumbo1x(高格调,有水印,需裁剪,使用最好注明出处,似乎要科学上网)...

2020-03-21 14:24:06 325

原创 单调队列&单调栈入门参考博客及例题

单调队列初步单调队列与单调栈用法详解单调队列/栈,就像名字的那样是单调(递增或递减)的队列/栈假设数列为:8,7,12,5,16,9,17,2,4,6.N=10,k=3.那么我们构造一个长度为3的单调递减队列:首先,那8和它的索引0放入队列中,我们用(8,0)表示,每一步插入元素时队列中的元素如下:0:插入8,队列为:(8,0)1:插入7,队列为:(8,0),(7,1)2:插入12...

2020-03-18 21:19:02 187

原创 树状数组入门参考博客及例题汇集(更新中)

入门参考博客博客1博客2模板题POJ2352题目分析参考题解树状数组用来横坐标存小于等于x的星星的数量。因为输入是按照按照y递增,如果y相同则x递增的顺序给出的, 所以,对于第i颗星星,它的level就是之前出现过的星星中,横坐标x小于等于i星横坐标的那些星星的总数量(前面的y一定比后面的y小)。代码#include<iostream>#include<cst...

2020-03-14 14:38:15 107

原创 线段树入门参考博客及例题汇集(更新中)

线段树原理图文详解博客1注意博客1 区间修改,单点查询 第一段代码的sum应为num以作为标记(可能博主笔误进阶线段树 一节push_down函数中的data应为sum(可能博主笔误//博客1已经学到第4部博客2//博客2还未学,博客2有线段树实现的证明区间修改,区间查询模板题POJ3468#include<cstdio>#include<iostream&g...

2020-03-14 13:49:13 177

原创 2020.2.28 排位赛 F - News Distribution

题目分析简单并查集,父点保存已有节点数,每新加一个节点就加上该节点的父节点保存的节点数。代码#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;int a[500002],par[500002],Ran...

2020-03-12 21:36:48 195

原创 2020.3.08 排位赛 H - 完美排列

题目题目分析每个奇数与前一个偶数交换位置即出结果,且1在最前面代码#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<stack>#define PI 3.141592653#define mod 1000000007...

2020-03-12 21:26:25 235

原创 2020.3.08 排位赛 C - 积木(规律题)

题目题目分析打表后发现规律,利用前缀和得出结果代码#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<stack>#define PI 3.141592653#define mod 1000000007using na...

2020-03-12 21:23:14 133

原创 2020.3.08 排位赛 B - 好数

题目分析素数筛代码#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<stack>#define PI 3.141592653using namespace std;int ispr[1000000];int m...

2020-03-12 21:19:30 120

原创 2020.3.08 排位赛 G-斐波那契数列

题目分析本题重点在最大的与最小的差值不超过2,即二次函数a,b,c,最大的数(假设最大的数为c)c=a+b。代入b2-4ac发现小于0,当b为最大的数时b2-4ac大于0。但是这一规律不满足于斐波那契数列前三项,故特判斐波那契数列前三项。代码...

2020-03-12 21:16:49 127

原创 2020.2.25 排位赛H - Photoshoot(暴力枚举)

Photoshoot题目题目分析暴力枚举a[0],因为要求字典序最小所以从1开始。代码#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<cmath>#include<iostream>using nam...

2020-02-27 23:26:35 473

原创 2020.2.25 排位赛 E - Word Processor(签到题)

word Processor题目代码#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<cmath>#include<iostream>using namespace std;char s[110][20...

2020-02-27 23:19:06 288

原创 2020.2.25 排位赛 D - Race

RaceCodeforces题目分析要使时间最短,且时间不超过X,即冲线速度应为X,运动过程为先加速到一定速度后减速到X;可以先特判一直加速的情况,得到最大冲线速度mv以及最短冲线时间mv(加速度为1);若X<mv,因为运动是先加速后减速,所以运动过程中至少有两次到达速度X。可先计算出从1加速至X运动路程以及以X冲线时的运动路程。此时与总路程的差值可以看作是填补在两段路程中间,具...

2020-02-27 23:12:58 283

原创 排位赛[USACO20JAN]Loan Repayment(二分+数学)

洛谷参考博客题目分析答案在固定范围,考虑用二分法夹出答案。又因为在计算可能出现N很大,Y很小的情况,若一天一天计算则会超时。如:当N=1013,X=1012,则第一天Y=10,第二天Y=9,接下来999999999999天每天Y=9,此时必超时。因此要计算出还Y的天数,计算方法可看参考博客。代码:#include<cstdio>#include<algorithm&...

2020-02-27 17:46:40 671

原创 排位赛[USACO20JAN]Wormhole Sort S(二分+并查集模板)

Wormhole Sort洛谷参考博客题目分析由题容易知道答案一定是所给虫洞中的某一个,我们可以先假设最大的最小虫洞大小为wid,之后遍历所有虫洞,将大小大于wid的虫洞连接的两个点并入并查集,最后再检查所有需要交换位置的点能否在这个集合中,若在则证明这两个点可以通过这个集合转移到正确的位置。那如何找到这个wid呢?最原始的想法就是从最大的虫洞测试到最小的虫洞,但是这个方法会超时,于是就...

2020-02-27 17:19:57 502 1

原创 2020.2.22 排位赛 Fence Planning(并查集)

Fence Planning题面题目分析基础并查集,做题并查集刚学加上好久没用忘了这玩意,头铁写了个思想类似并查集的东西,又臭又长代码#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<cmath>#include&l...

2020-02-24 19:56:57 203

原创 2020.2.22 排位赛 G - Bucket Brigade(BFS)

Bucket Brigade题面题目分析BFS模板题代码#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<cmath>using namespace std;const int INF=100000000;...

2020-02-24 19:33:38 316

原创 2020.2.22 排位赛 H - I Would Walk 500 Miles(思维题)

I Would Walk 500 Miles题面题目分析比赛时没看到K个Group不能空,做成P-841-48N,过了前6个测试点就以为题目没看错,就去想特殊情况,结果就GG了代码#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include...

2020-02-24 19:17:10 141

原创 2020.2.22 排位赛 F - Milk Factory(Floyd算法)

Milk Factory题面题目分析基础图论,建立各个点到其他能到的点的最短路径,数据较小最后枚举所有的点即可。代码

2020-02-24 19:07:37 273

原创 2020.2.22 排位赛 B - Snakes(基础dp)

USACO19OPEN Snakes题面题目大意洛谷参考博客:click here代码:

2020-02-24 18:34:42 207

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除