算法模板
2999KK
这个作者很懒,什么都没留下…
展开
-
Dijkstra算法讲解(通过边实现松弛)
在下边的学习中,主要是学习指定一个点(源点)到其余的各个顶点的最短路径,也叫做“单源最短路径”。例如下图中的1号顶点到2,3,4,5,6顶点的最短路径:在这里要和flody算法一样,在这儿也需要用二维数组e来存取顶点之间和边之间的关系,数值如下:在这儿我们还需要用一个一维数组dis来存取1号顶点到各个顶点的初始路程,如下:因为dis中存取的是各个顶点到1号顶点的初始距离...原创 2019-01-16 21:38:31 · 3102 阅读 · 0 评论 -
敌兵布阵(HDU 1166)(树状数组法)
敌兵布阵题目链接C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究...原创 2018-07-20 14:54:24 · 215 阅读 · 0 评论 -
Stars (POJ - 2352)(线段树or树状数组)
Stars题目链接Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not ...原创 2018-07-20 15:07:00 · 318 阅读 · 0 评论 -
Andy's First Dictionary(UVA - 10815 )集合set
题目链接:Andy's First Dictionary集合和映射也是两个常用的容器。set就是数学上的集合——每个元素最多出现一次,和sort一样自定义类型也可以构造set,但同样必须定义“小于”的运算符。题意:输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写,分析:这一题也没有太多的技巧,就是为了向我们展示set的用法,由于string已经...原创 2018-08-17 15:47:19 · 152 阅读 · 0 评论 -
POJ2318 (二分+叉积)
题目链接题目大意:给你一个矩形和一些线段,给的这些线段将矩形分割为从左到右的若干个部分(不会相交,点不会再线上,题意给出了),之后给出一些玩具的坐标,求分割的若干部分每个部分的玩具数量。题解:这是一个计算几何的水题,考一些基础问题,我们注意,题目上给线段的顺序是从左到右给出的,我们可以考虑的是每一个点(玩具)是在这条线的左边还是右边,(一定会存在一个分界使它的左边的线段都在玩具的右边,它右...原创 2018-11-14 21:33:21 · 264 阅读 · 0 评论 -
POJ 1125 Stockbroker Grapevine(floyd算法)
原文链接题目大意:众所周知,股票经纪人对谣言反应过度。你被委托开发一种在股票经纪人之间散布虚假信息的方法,使你的雇主在股票市场上获得战术优势。为了达到最大的效果,你必须以最快的速度传播谣言。 对你来说不幸的是,股票经纪人只信任来自他们“可信来源”的信息,这意味着你在开始谣言时必须考虑他们的联系结构。一个股票经纪人要把谣言传到他的每个同事身上需要一定的时间。你的任务将是编写一个程序,...原创 2019-01-13 17:44:06 · 328 阅读 · 0 评论 -
有关lower_bound( )和upper_bound( )的常见用法
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。都是STL库里边的函数需要注意:两个函数都是要在一个有序(从小到大)的数组里进行二分的。如果无序,调用就会出错,我们可以先排序再调用函数。lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的...转载 2019-02-26 19:38:07 · 548 阅读 · 0 评论 -
牛客小白月赛12 B华华给月月的礼物E
题目链接:https://ac.nowcoder.com/acm/contest/392/E题目描述二月中旬虐狗节前夕,华华决定给月月准备一份礼物。为了搭建礼物的底座,华华需要若干根同样长的木棍。华华手头上有一些长度参差不齐的木棍,他想将每根都裁剪成若干段自己想要的长度,并丢掉多余的部分。因为华华的手很巧,所以他的裁剪过程不会有任何的失误。也就是说,对于一根长度为N的木棍,华华可以精...原创 2019-03-15 21:18:53 · 128 阅读 · 0 评论 -
POJ 2236 Wireless Network(并查集的应用)
题目An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wireless network with the lap computers, but an unexpected aftershock attacked, all computers in t...原创 2019-04-09 17:22:25 · 122 阅读 · 0 评论 -
最小公倍数(HDU 1108)
题目链接 给定两个正整数,计算这两个数的最小公倍数。Input输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.Output对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。Sample Input10 14Sample Output70题解:最小公倍数=两数的乘积/最大公约(因)数, 解题时要避免和最大公约(因)数问题...原创 2018-07-20 14:46:36 · 527 阅读 · 0 评论 -
最短路HDU2544(floyd算法)
题目链接在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗? Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号...原创 2018-07-20 14:30:47 · 192 阅读 · 0 评论 -
最短路径算法对比比较(bellman-ford,dijkstra,spfa,floyd比较)
floyd (弗洛伊德算法) Dijkstra(迪杰斯特拉算法) bellman-ford(贝尔曼夫德算法) spfa 空间复杂度 O(N²) O(M) O(M) O(M) 时间复杂度 O(N³) O((m+n)logN) O(MN) 最坏也是O(NM) 适用情况 稠密图和顶点关系密切...原创 2018-07-12 22:09:16 · 12276 阅读 · 4 评论 -
KMP算法模板
/* * next []的含义: x[i - next[i] ... i - 1] = x[0 ... next[i] - 1 ] * next[i] 为满足 x [i - z ... i - 1 ] = x[0 ... z-1] 的最大值就是z值(就是x的自身匹配) */ void kmp_pre(char x[] , int m , int next[]) { int ...原创 2018-04-09 21:19:50 · 114 阅读 · 0 评论 -
凸包 Wall
题目:Once upon a time there was a greedy King who ordered his chief Architect to build a wall around the King's castle. The King was so greedy, that he would not listen to his Architect's proposals to b...原创 2018-04-18 10:52:33 · 155 阅读 · 0 评论 -
单调递增最长子序列模板 Longest Ordered Subsequence
题目 :A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence ( a1, a2, ..., aN) be any seq...原创 2018-04-18 17:16:26 · 138 阅读 · 0 评论 -
Beauty Contest POJ - 2187 旋转卡壳
题目:Bessie, Farmer John's prize cow, has just won first place in a bovine beauty contest, earning the title 'Miss Cow World'. As a result, Bessie will make a tour of N (2 <= N <= 50,000) far...原创 2018-04-13 21:01:34 · 300 阅读 · 0 评论 -
最小生成树-Prim算法和Kruskal算法
假设以下情景,有一块木板,板上钉上了一些钉子,这些钉子可以由一些细绳连接起来。假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样的情况,即用最少的细绳把所有钉子连接起来。更为实际的情景是这样的情况,在某地分布着N个村庄,现在需要在N个村庄之间修路,每个村庄之前的距离不同,问怎么修最短的路,将各个村庄连接起来。以上这些问题都可以归纳为最小生成树问题,用正式的表述方法描述为:给定一个无方向...转载 2018-04-13 21:40:00 · 190 阅读 · 0 评论 -
快速幂求a的b次方
快速幂的目的:快速求幂 ,a的b次方。平常我们算一个a的b次方的时间为O(b),也就是O(n)的时间复杂度,当然,如果b很大时,我们是不是就没法下手了,时间就会很多,导致超时,我们可以用快速幂算法来将时间复杂度降低点儿,降低为O(log n )就是最好的答案。假设我们要求a^b,那么其实我们可以把b拆成二进制来运算,就是把幂拆分,该二进制的第 i 位的权为2^(i-1) ,例如当 b = 11 时...原创 2018-05-04 14:43:44 · 8785 阅读 · 2 评论 -
矩阵快速幂
POJ 3070 矩阵快速幂FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 18051 Accepted: 12550DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥...原创 2018-05-08 10:23:39 · 134 阅读 · 0 评论 -
poj1502解题报告(Dijsktra算法)
想看更多的解题报告:http://blog.csdn.net/wangjian8006/article/details/7870410 转载请注明出处:http://blog.csdn.net/wangjian8006题意:给你一个不完全的矩阵,数字表示权值,x表示两点间不可达由于自身到自身花费的时间为0,所以没有给出...转载 2018-07-10 16:18:32 · 238 阅读 · 0 评论 -
Manacher算法求最长回文字串模板
我们通常用这个算法来求最长回文字串。例如: * abaaba * i : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 * Ma[i]: $ # a # b # a # a $ b # a # * Mp[i]: 1 1 2 1 4 1 2 7 2 1 4 1 2 1 模板,所以就直接上模板了:/*求最长回文子串*/const int MAXN =...原创 2018-04-09 08:34:48 · 135 阅读 · 0 评论