
小知识
文章平均质量分 58
Mr_Treeeee
这个作者很懒,什么都没留下…
展开
-
memset函数初始化和最短路中的最大值
在最短路中最大值:最好把最大值设置为0x3f3f3f3f,而非0x7fffffff 理由如下。#include #include #define MAX1 0x7fffffff #define MAX2 0x3f3f3f3f int a[3]; int main() { memset(a,0x3f,sizeof(a)); printf("%d原创 2017-04-23 18:52:23 · 1354 阅读 · 0 评论 -
二叉树的非递归遍历实现
#include <iostream>#include <stack>#include <vector>#include <algorithm>#include <cmath>#include <unordered_map>#include <string.h>using namespace std...原创 2019-03-28 16:38:57 · 296 阅读 · 0 评论 -
BST的插入+删除任意节点的递归实现
主要是在bst上删除任意一个节点。通过寻找中序后继节点来完成连接。 #include <iostream>#include <vector>#include <cstdio>#include <queue>#include <cmath>#include <string.h>using namespa...原创 2019-02-22 22:23:15 · 789 阅读 · 0 评论 -
组合数取合数mod
using namespace std; const int MAXN = 200005; bool ispri[MAXN];int prime[MAXN];int priCnt; void CalPrime(){ priCnt = 0; memset(ispri,false,sizeof(ispri)); for(int i = 2;i < ...原创 2018-08-29 23:06:35 · 407 阅读 · 0 评论 -
堆排序
#include<iostream>#include<vector>#include<string.h>#include<map>#include<algorithm>#include<queue>using namespace std;#define LL long longconst int Max = ...原创 2018-04-23 16:52:09 · 172 阅读 · 0 评论 -
C++ bitset 常用函数及运算符
C++ bitset——高端压位卡常题必备STL以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力。bitset存储二进制数位。bitset就像一个bool类型的数组一样,但是有空间优化——bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一。bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,表达式foo[3]访问了它的第...转载 2018-03-23 09:19:38 · 761 阅读 · 0 评论 -
map, set, vector 的erase函数的正确使用方法
点击打开链接在C++中, 如果我们使用STL,那 如何使用 erase() 来删除 map, set, vector 的所有数据?下面将给出正确的使用方法。STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque); 另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要转载 2017-12-21 21:20:03 · 1305 阅读 · 1 评论 -
网络流对于二分图的 最小点覆盖数 最大匹配数 最大独立点集数 的作用
二分图:即可以把图中所有顶点归为A部分和B部分,A中的各自顶点没有边相连。B中也一样。可以用染色法判断。以下都在二分图中讨论:最大匹配数:即匈牙利算法实现求的最大匹配数。比如HDU 2063 过山车。实现最大配对对数。最小点覆盖数:选取最小数量的点集,可以使所有边中的某一端点(或两个)存在于这个点集。最大独立点集数:选取最大数量的原创 2017-08-29 13:58:36 · 1536 阅读 · 0 评论 -
Tarjan算法
http://blog.sina.com.cn/s/blog_69a101130100k1cm.html#cmt_3184785#include #include #include #include #include #include using namespace std;#define LL long longconst int m原创 2017-08-23 14:39:23 · 307 阅读 · 0 评论 -
最短路基础总结(Floyd Dijkstra SPFA)
只是想记录一下这三个最短路算法的模板。Floyd://邻接矩阵mp[N][N];//把各个点之间的最短路全算出来了。//时间复杂度:O(n^3)void floyd(){ for(int k=1; k<=n; k++) { for(int i=1; i<=n; i++) { if(mp[i][k]!=inf)原创 2017-05-04 22:11:51 · 474 阅读 · 0 评论 -
最小生成树基础总结(Prim Kruskal)
Kruskal:随便贴一个题吧://时间复杂度:时间复杂度为O(eloge)(e为网中边的数目)int v[N];int findi(int x){ return x!=v[x]?v[x]=findi(v[x]):v[x];}int main(){ int n,m; while(~scanf("%d %d",&n,&m)&&n) {原创 2017-05-04 22:32:08 · 383 阅读 · 0 评论 -
记录一下中国剩余定理的代码
#include #includeusing namespace std;#define ll long long/*int exgcd(int a,int b,int &x ,int &y){ int d; if(b==0) { d=a; x=1; y=0; } else {原创 2017-07-13 22:26:35 · 1010 阅读 · 0 评论 -
欧拉函数性质和模版
概念梳理: 欧拉函数是少于或等于n的数中与n互质的数的数目。 欧拉函数的性质:它在整数n上的值等于对n进行素因子分解后,所有的素数幂上的欧拉函数之积。 欧拉函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)原创 2017-07-19 13:08:03 · 404 阅读 · 0 评论 -
RMQ模板
感觉还是线段树比较清楚一点,当然RMQ也挺方便的。对于查询次数特别多的处理比较优秀。#include #include #include using namespace std;#define LL long longconst int N = 1e6;int a[N];//数组1开始int n;int mx[N][30];void RMQpre(){ in原创 2017-07-31 21:51:07 · 280 阅读 · 0 评论 -
四种博弈总结
一. 巴什博奕(Bash Game):1、 本游戏是一个二人游戏;2、 有一堆石子一共有n个;3、 两人轮流进行;4、 每走一步可以取走1…m个石子;5、 最先取光石子的一方为胜;POINT:如果n能被(m+1)整除,后手赢,其他情况先手赢。可以写写sg函数,就知道了。 if(n%(m+1)==0)原创 2017-07-14 20:34:27 · 1132 阅读 · 0 评论 -
upper_bound和lower_bound
http://blog.sina.com.cn/s/blog_62582b7e0100eyqz.html#include #include //必须包含的头文件using namespace std;int main(){ int point[10] = {1,3,7,7,9}; int tmp = upper_bound(point, point转载 2017-03-23 20:51:11 · 652 阅读 · 0 评论 -
实现next_permutation
#include <iostream>#include <vector>#include <stack>#include <map>#include <list>#include <thread>using namespace std;const int N = 1e5+5;void Reverse(int...原创 2019-03-22 21:23:09 · 501 阅读 · 0 评论