- 博客(21)
- 收藏
- 关注
原创 基础程序模板
#include<cstdio>#include<cstring>#include<algorithm>#define long long#define double db#define ms(i,j) memset(i,j)#define FOR(j,k) for (int i=j;i<=k;i++)#define REP(j,k) for (int i=k;i>=j;i--)#d
2017-03-25 16:10:09 348
原创 |算法讨论|二分查找 学习笔记
以下程序对比了lower_bound和自写函数的比较,基本上能够保证正确#include<cstdio>#include<cstring>#include<algorithm>#include<ctime>using namespace std;#define ms(i,j) memset(i,j,sizeof i);const int MAXN = 1000;int n = 20;
2017-03-24 19:39:17 387
原创 |BZOJ 3445|最短路|[Usaco2014 Feb] Roadblock
bzoj传送门 Luogu免权限地址 先对原图进行一次最短路,然后记录最短路上的边,然后枚举每一条边加倍,进行最短路,取每次最短路的答案减去原图最短路即可#include<cstdio> #include<algorithm> #include<cstring>#include<queue> #define ms(i,j) memset(i,j, sizeof i);using
2017-03-19 21:20:36 839
原创 |BZOJ 1619|搜索|[Usaco2008 Nov]Guarding the Farm 保卫牧场
bzoj传送门 Luogu免权限地址 从高的地方开始BFS灌水#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define ms(i,j) memset(i,j,sizeof i)using namespace std;const int MAXN = 700 + 5;struct po{
2017-03-19 21:17:16 511
原创 |BZOJ 3183|记忆化搜索|[HAOI2016]食物链
bzoj传送门 Luogu免权限地址 裸搜索,根据生物学知识可得入度为0的结点是食物链开端,出度为0则是末端 为防止超时使用了记忆化#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define ms(i,j) memset(i,j,sizeof i)using namespace std;co
2017-03-19 21:13:55 563
原创 |poj 1995|快速幂|Raising Modulo Numbers
poj传送门根据题目公式 (AB11+AB22+...+ABhh)modM(A_1^{B_1}+A_2^{B_2}+ ... +A_h^{B_h})\mod M 快速幂即可#include<cstdio> #include<algorithm> #include<cstring> #include<cmath>#define ms(i,j) memset(i,j, sizeof i
2017-03-12 21:35:26 383
原创 |poj 2478|欧拉函数|Farey Sequence
poj传送门 筛选法求欧拉函数每个询问答案是∑1nφ(n)\sum_1^n\varphi(n)#include<cstdio> #include<algorithm> #include<cstring> #include<cmath>#define ms(i,j) memset(i,j, sizeof i);using namespace std;#define ll long
2017-03-12 19:14:01 561
原创 |poj 2407|欧拉函数|Relatives
poj传送门 简单的求φ(n)\varphi(n),复习了一下模板#include<cstdio> #include<algorithm> #include<cstring> #include<cmath>#define ms(i,j) memset(i,j, sizeof i);using namespace std;int phi(int n){ int m = s
2017-03-12 18:08:17 508
原创 |算法讨论|贪心算法 学习笔记
题目模板及讲解选择不相交区间int end = -1, cnt = 0;//end 是上一选择区间的结束点,cnt为选择的区间个数 sort(A,A+n);//按照b排序 for(int i=0;i<n;i++)//循环每个区间 { if(end < A[i].a) //如果区间不相交
2017-03-11 17:05:47 335
原创 |算法讨论|Hash表 学习笔记
题目模板及讲解哈希表的基本操作 程序实现输入n,m,分别表示有n个数要插入,有m个询问 每个询问包含一个整数,如果在Hash表里,就输出”True.”,否则输出”False.” #include<cstdio> #include<algorithm> #include<cstring> #define ms(i,j) memset(i,j, sizeof i); using n
2017-03-11 17:01:21 313
原创 |算法讨论|Trie树 学习笔记
题目模板及讲解输入两个整数m,n(m,n<=10),分别代表字典里有m个字符串和有n个查询 接下来m行输入m行字符串,每个字符串长度不超过255,且均为小写字母 接下来n行输入n行询问,如果询问的字符串在字典里,输出1,否则输出0输入样例6 4appleappappdlbyubyuyewappewbyyyappdl输出样例1101#include<cstdio> #
2017-03-11 16:58:38 296
原创 |算法讨论|强连通分量Tarjan 学习笔记
题目 [树形DP, 缩点]BZOJ 2427:缩点后跑树上背包模板及讲解参考资料:https://www.byvoid.com/blog/scc-tarjan/#include<cstdio> #include<cstring> #include<algorithm> #include<stack> #include<vector> #include<cma
2017-03-11 16:56:38 423
原创 |算法讨论|最短路 学习笔记
题目模板及讲解知识点: 1、 求两点最短距离 2、求次短路 3、求最小环1 求两点最短距离//堆优化dijkstra #include<cstdio> #include<algorithm> #include<cstring> #include<queue> #define ms(i,j) memset(i,j, sizeof i); using namespace
2017-03-11 16:54:03 357
原创 |算法讨论|并查集 学习笔记
题目 [树状数组, 并查集]BZOJ 3211:并查集辅助树状数组求值 [左偏树, 并查集]Hdu 1512: 左偏树模板题模板及讲解参考资料:http://www.tuicool.com/articles/UjqUziE知识点: 1. 拆点 2. 带权 3. 辅助数组1 拆点 题目:http://blog.csdn.net/darost/article/details/53013154
2017-03-11 16:51:12 493
原创 |算法讨论|树状数组 学习笔记
题目 [树状数组]BZOJ 1452:开多个树状数组解决问题 [树状数组, 并查集]BZOJ 3211:并查集辅助树状数组求值模板及讲解知识点: 1. 点修改,求x~y区间值 2. 区间修改,求某一点值 3. 二维树状数组 4. 离散化求逆序对1 点修改,求x~y区间值#include<cstdio> #include<algorithm> #include<cs
2017-03-11 16:41:15 366
原创 |算法讨论|线段树2 学习笔记
题目 [线段树]BZOJ 1012:裸线段树单点修改+区间求最大值 [线段树]BZOJ 1593:线段树合并模型 [线段树]poj 2528:线段树离散+区间染色模型 [线段树]Hdu 1542:线段树离散化+扫描线求面积并模型 [线段树]Hdu 1828:线段树扫描线求周长并模型模板及讲解知识点: 1、单点修改 2、区间修改 3、离散化 4、扫描线求周长并 5、扫描线求面积并
2017-03-11 16:26:48 431
原创 |POJ 3461|KMP|Oulipo
Poj传送门 纯KMP模板题,又复习了一下模板#include<cstdio> #include<algorithm> #include<cstring> #include<vector>#define ms(i,j) memset(i,j, sizeof i);using namespace std;const int MAXL = 1000000 + 5; int T;
2017-03-05 21:14:34 445
原创 |BZOJ 2429|生成树|[HAOI2006]聪明的猴子
BZOJ传送门 最小瓶颈路,求一条路径,使得u−>vu->v路径上的最大边权最小。 可以知道,最小瓶颈路必在最小生成树上,所以用最小生成树求解 求出最小的最大边权后和每个猴子的距离比较即可 (PS: 之前还用dfs跑。。结果发现直接比较即可。。)/* Date: 04-03-17 10:27 bzoj 2429*/#include<cstdio>#include<algorit
2017-03-04 11:35:10 460
原创 |Hdu 1512|可并堆|并查集|Monkey King
Hdu传送门 左偏树模板题,细节一定要注意#include<cstdio>#include<algorithm>#include<cstring>#define ms(i,j) memset(i,j,sizeof i);using namespace std;const int MAXN = 100000 + 5;struct node{ int l, r;//左偏树左、右孩
2017-03-03 21:58:05 446
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人