![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法模板
记录一些算法的模板备用。
诗鸩
这个作者很懒,什么都没留下…
展开
-
lcm(最小公倍数) gcd(最大公约数)的模板(unsigned long long)
#include<iostream>#include<algorithm>using namespace std;#define ull unsigned long long ull gcd(ull a, ull b){ return b == 0 ? a : gcd(b, a % b);}ull lcm(ull a, ull b){ re...原创 2018-07-23 16:43:32 · 876 阅读 · 0 评论 -
POJ1995 Raising Modulo Numbers (快速幂模板)
传送门:http://poj.org/problem?id=1995#include<queue>#include<stack>#include<cmath>#include<cstring>#include <cstdio>#include<iostream>#define ll long longusi...原创 2019-04-12 18:17:39 · 87 阅读 · 0 评论 -
杭电 1285 确定比赛名次(拓扑排序入门)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1285拓扑排序:按某种顺序输出没有前驱的点。思路:题目即要求按字典序拓扑排序。AC代码:#include<algorithm>#include<iostream>#include<cstring>using namespace std;in...原创 2018-08-08 10:14:22 · 165 阅读 · 0 评论 -
杭电 3308 LCIS (线段树+单点更新+区间求和)
Given n integers. You have two operations: U A B: replace the Ath number by B. (index counting from 0) Q A B: output the length of the longest consecutive increasing subsequence (LCIS) in [a, b]. ...原创 2018-08-03 08:44:55 · 259 阅读 · 0 评论 -
杭电 1520 Anniversary party(没有上司的约会) 树形DP
题意:先输入n个人,接下来n行输入他们的快乐值,再接下来输入一些数对<a,b>,表示b是a的上司(别看反了)! 要求直属上司和员工不能同时出席宴会,求宴会最大的快乐值。思路:第一道树形DP题,本来做的动态规划题也不多。 如果一个上司来了,那么ta的员工一定不来;如果上司不来,那么员工有两种可能,应该取最佳状态。AC代码:#i...原创 2018-08-11 11:07:21 · 195 阅读 · 0 评论 -
杭电1542——Atlantis(线段树+扫描线+离散化)
题目简述:输入n个矩形的左下和右上点,求出所有矩阵覆盖的最大面积。样例输入: 2 10 10 20 20 15 15 25 25.5 0 样例输出: Test case #1 Total explored area: 180.00 大致思路: 1)尽管坐标的范围在0-100000;但只有100个点,故应当想到离散化。 ...原创 2018-08-01 21:03:57 · 162 阅读 · 0 评论 -
杭电 2544 最短路(Floyd、Dijkstra入门)
目录一、Floyd算法二、dijkstra算法 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2544一、Floyd算法算法复杂度 o(n³)算法思路:从a到b的路线,引入中间点c,如果走a->c->b比a->b快,那么将maze[a][b]置为maze[a][c]+maze[c][b]。最终 ...原创 2018-08-07 15:30:26 · 315 阅读 · 0 评论 -
POJ 3667 Hotel
题意:n个房间,可以进行 操作1(插入连续的x个人,并输出这批人占据的第一个房间号,如果放不下,输出0); 操作2(从第x个房间开始,连续清空y个房间)。思路:区间更新AC代码:#include<iostream>#include<cstdio>using namespace std;...原创 2018-08-01 14:24:55 · 88 阅读 · 0 评论 -
二叉树的(非)递归遍历及其它常规操作(挖坑向)
一、二叉树的创建//前序创建二叉树 void creat(node *& T){ int c; cin>>c; if(c==0) T=NULL; else { T=new node; T->data=c; creat(T->l); creat(T->r); }}不难看出还可以有后序、层序创建。样例输入:1 2 ...原创 2018-07-26 19:21:46 · 121 阅读 · 0 评论 -
线段树入门(转载)
数据结构——线段树目录〇、引例一、基本概念二、线段树的基础操作三、总结 四、空间优化五、模板题六、经典例题〇、引例A.给出n个数,n<=100,和m个询问,每次询问区间[l,r]的和,并输出。一种回答:这也太简单了,O(n)枚举搜索就行了。另一种回答:还用得着o(n)枚...转载 2018-07-28 20:34:54 · 535 阅读 · 0 评论 -
POJ3494 Largest Submatrix of All 1’s (最大01矩阵\单调栈)
传送门:https://vjudge.net/problem/16256/origin题意:在已给01矩阵中找最大的全1矩阵。思路:我们完全可以把矩阵按行分割,记录每行每个元素可上延的高度,这样每行就构成了一个与HDU1506完全一致的题目。 #include<iostream>#include<cstring>#include<cs...原创 2019-04-19 09:45:29 · 227 阅读 · 0 评论