
ACM_算法
Rotepad
语言表述能力不行,在前面解释的不清,但是在代码中基本上每一个难懂的语句都在旁边有注释进行解释。
因为个人习惯带着代码去看题解,所以习惯把题解切入代码中,所以希望大家不要看到没什么解释就不看了,实际上后面的代码写的很详细
展开
-
二进制操作总结
对于二进制我相信大部分读者刚开始接触一定是一脸蒙蔽,当初我也是,但是通过长时间的刷题,二进制各种各样的操作都有了一些接触,我通过将每次刷题中有关于二进制的操作全都总结起来,今天在学树状数组时发现总结的还是有一点了,于是打算分享一下,毕竟这个神奇的二进制还是挺让人头疼的。以下附上我的总结(其实也是从各种博客,百度百科,360问答中弃其糟粕取其精华,总结的):C/C++我知道...原创 2016-10-12 19:44:39 · 937 阅读 · 0 评论 -
字典树算法概念及代码模板
字典树概述 字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。例题:NKOJ 1934 外地人 你考入大城市沙坪坝的学校, 但是沙坪坝...原创 2019-09-19 15:11:01 · 330 阅读 · 0 评论 -
关于三角函数,反三角函数的详细解释
反三角函数的范围:acos:[0,π]的弧度范围内asin:[-π/2,π/2]的弧度范围内atan:[-π/2,π/2]的胡度范围内弧度转角度,需要乘以(PI/180.0)注意:最好是代码:#include <iostream>#include <cmath> using namespace std;//#define PI 3....原创 2019-08-22 16:39:07 · 2601 阅读 · 1 评论 -
HDU - 4292 - Food(网络流-拆点建图)
题目:HDU-4292题意:有N个人,F种食品,D种饮料,接下来一行表示F种食品的数量,再下一行D种饮料的数量,接下来的N行F列表示N个人对F种食品的可以接受情况:Y为可接受,N为不可接受。再接下来N行D列表示N个人对D种饮料可以接受的情况,Y与N和上面的代表相同。问最多能满足多少人,一人任意一种可接受的一个食品和一杯饮料。题解:源点vs与每种食品建边,边权为当前食品的数量;每种饮料与汇点...原创 2019-08-22 00:53:23 · 164 阅读 · 0 评论 -
HihoCoder - 1398 - 网络流五·最大权闭合子图
题目:HihoCoder - 1398题意:题目说的很清楚了,题解也给了,就是最大权闭合子图,也有证明(虽然我看不懂)题解:就讲一下最大权闭合子图的做法吧:引入闭合子图的概念 : 通俗点说就是选出一个图的子图,使得子图中的所有点出度指向的点依旧在这个子图内,则说明此子图是闭合子图。最大权闭合子图 : 假设每个点具有点权值,在一个图的所有闭合子图中,点权之和最大的即是最大权闭合子...原创 2019-08-21 23:37:33 · 206 阅读 · 0 评论 -
Hash算法模板(1~i的hash值与,l~r的hash值)
一、从1到i的hash值:注意:1.hash值最好开到unsigned long long,定义的hash数值要为质数且尽可能大,例如:1311,2333,19260817。2.hash如果用到map判断应该开成unordered_map<LL, int>vis;题目:2019年CSUST省赛选拔赛J题:一个字符串hash题,用来说明从1~i求hash值的模...原创 2019-08-12 23:58:00 · 946 阅读 · 0 评论 -
网络流----最大流模板
网络流可以去戳一戳看视频学,然后结合再戳的模板进行学习代码:#include<bits/stdc++.h>#define N 100005#define M 100005#define INF 0x7fffffffusing namespace std;int n,m,c=0,s,t;int head[N],deep[N],cur[N];struct ljh{...原创 2019-08-10 01:19:01 · 188 阅读 · 0 评论 -
UVA-11354-Bond(最小瓶颈路=最小生成树+LCA)
题目: 题意:给定q个查询,每个查询包括u,求u到v的路上所有走过的边中的最大值最小,也就是最小瓶颈路题意分析:因为是个m条边的图,并且最小瓶颈路包括在最小生成树中(因为最小生成树上任意两个点能互相到,并且最短的边都在上面)有两种情况:1.数据比较小的时候,我们可以先建立一棵最小生成树,然后在树上dfs2.优化:建立完最小生成树(注意不要用路径...原创 2019-07-25 10:16:25 · 262 阅读 · 0 评论 -
A*算法模板(SPFA+类似Dij跟启发式搜索)最容易理解的A*算法解释
网上的要么是解释一大堆,枯燥乏味,要么代码恶心难以理解,以下图片生动形象的解释了A*算法,后面的解释也是通俗易懂,可以带着解释去看代码,看的很容易理解,学算法就是这样,找到一篇好的博客,理解学习都很迅速。先了解A*算法:最容易理解的A*算法解释现在来解决A*求K短路问题 在一个有权图中,从起点到终点最短的路径成为最短路,第2短的路成为次短路,第3短的路成为第3短路,依此类推,第k短的路...原创 2019-07-23 21:56:29 · 598 阅读 · 0 评论 -
一般DFS搜索图(把每条边都跑到)的代码模板
#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define M 10005#define N 1005#define LL long longusing namespace std;int t,n,m,S,F,ans,diss,c,num;int dis[N],head[N];bool vis[N];map<LL,...原创 2019-07-23 16:51:29 · 176 阅读 · 0 评论 -
最短路+次短路长度与条数模板
题目是HDU-1688传送门模板:#include<bits/stdc++.h>#define N 1005#define M 10005#define LL long long#define INF 0x3f3f3f3fusing namespace std;int t,c,S,F,n,m;int head[N],dis[N][2],num[N][2];/...原创 2019-07-23 16:48:34 · 153 阅读 · 0 评论 -
拓扑排序模板
直接上模板,具体意思看书,模板里有具体意思#include<bits/stdc++.h>#define N 100005using namespace std;int n,m,x,y;int in[N];vector<int>v[N];queue<int>q;int main(){ scanf("%d%d",&n,&m);...原创 2019-06-02 01:01:54 · 349 阅读 · 0 评论 -
二分图匹配模板+代码详细解释(匈牙利算法)
二分图匹配的定义跟匈牙利算法的解释在网上找就行,都解释的很详细,我这里主要对算法模板的疑难点进行解答,在每一步很难理解的地方我在代码后面都详细解释了,方便大家理解。具体看代码跟代码后面的注释,感觉瞎口胡没有实际代码支撑要写出来还是很难的。(还是不理解就自己带个数据进去跑一遍,跑到一半就会理解了!)代码:#include<bits/stdc++.h>#define K 100...原创 2019-06-05 10:40:11 · 474 阅读 · 0 评论 -
KMP算法模板
推荐两篇博客:传送门1 传送门2先上大学学的KMP吧,下面那个是高中时候学的:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char s[1005...原创 2019-04-04 08:37:41 · 245 阅读 · 0 评论 -
单调队列
之前就听说过单调队列,这两天才认真看了一下,后来发现晚上的代码各种各样,比如说指针啊,等等一些高级代码(像我这种蒟蒻根本就不怎么熟练),后来终于发现了一篇容易看得懂的博客(http://blog.youkuaiyun.com/acvay/article/details/46772771)然后加上了一些自己的理解详细解释,便写出来供大家参考,后面注释是自己的理解,语文不好,有可能表达意思不清晰,或者表达有误,请...原创 2016-10-10 16:16:00 · 6815 阅读 · 2 评论 -
树状数组
树状数组基本操作每一句代码后面都有详细解释原创 2016-10-12 19:22:30 · 410 阅读 · 0 评论 -
欧拉路、欧拉回路相关知识及代码模板
欧拉回路欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次,称这条回路为欧拉回路。具有欧拉回路的图成为欧拉图。判断欧拉路是否存在的方法有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。无向图:图连通,只有两个顶点是奇数度,其余都是偶数度的。判断欧拉回路是否存在的方法有向图...原创 2019-09-19 15:42:41 · 376 阅读 · 0 评论