摘要: 给出一个只有01的字符串,请找出最长的的01的数目的相等的字串。。这题最暴力的解决方法就是就是先预处理每个区间01的数目,然后枚举起点和重点,时间复杂度是O(N^2)。下面我们来介绍一种O(n)时间复杂度的做法。。。首先我们可以用一个数组B[i]把串A当中A[0...... 阅读全文
posted @ 2015-12-31 09:05 __NaCl 阅读(155) 评论(0) 推荐(0)
摘要: 题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1475这题一开始我是用贪心去做的,但是一直没过。。。貌似贪心并不能得到最优解法。然后这道题用优先队列来写首先我们先把对于第i的中间站... 阅读全文
posted @ 2015-12-31 08:48 __NaCl 阅读(107) 评论(0) 推荐(0)
摘要: 因为商业线只能坐一次我们可以枚举做哪条。。先用两次迪杰斯特拉算法预处理出从起点到各个点的最短距离和终点到各个距离的最短路= =假设d1[]存的是起点到其他点的距离,d2[]存的终点到其他点的距离。那么总共的时间就是d1[a]+T(a,b)+d2[b];#include... 阅读全文
posted @ 2015-12-31 08:48 __NaCl 阅读(85) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2680题意就是给你n个起点,一个重点,问从起点到终点最小的花费是多少= =首先这题是有向图,然后我们把起点看成是终点,终点看成起点。然后用迪杰斯特拉算法求最短路。然后因为我们把终点和... 阅读全文
posted @ 2015-12-31 08:47 __NaCl 阅读(90) 评论(0) 推荐(0)
摘要: 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2444 就会给你n个人,m个朋友关系,然后让你判断是否能把他们分成两组然后里面谁也不认识对方如果能,输出最大的组的人数 解法,先判断二分图,然后在二分图匹配 #include... 阅读全文
posted @ 2015-12-31 08:44 __NaCl 阅读(122) 评论(0) 推荐(0)
摘要: 这题真的是并查集的经典题目= =题意是给出n个人,然后给出若干的操作1表示让a,b成为朋友,若与前面的朋友敌人关系相矛盾,输出-12表示让a,b成为敌人,若与前面的朋友敌人关系矛盾输出-13判断a,b是否是朋友,是输出1,不是输出04判断a,b是否是敌人,是的话输出1... 阅读全文
posted @ 2015-12-31 08:44 __NaCl 阅读(113) 评论(0) 推荐(0)
摘要: 这题是最小费用最大流的问题,给出边的关系和花费,然后给吃D和K,D是要运输的数据流。K表示每条边能运输的最大流量,这图的应该构造无向图,而且自己发现,凡是要无向图的网络流问题最好还是用邻接表来表示这样就可以解决重边和反向边问题,之前用邻接矩阵来表示一直错= =我们还要... 阅读全文
posted @ 2015-12-31 08:44 __NaCl 阅读(135) 评论(0) 推荐(0)
摘要: 这两道题都是和欧拉图的判定有关,一个是有向图,一个是无向图的欧拉图的判定还有一个是有向图= =先看10129。。。我们把单词的首字母看做是入度,最后一个字符看做是初度,那么这道题就变成图中是否存在欧拉回路。判断有向图的条件是该图是连通图和最多最有两个点的出度不等于入度... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(185) 评论(0) 推荐(0)
摘要: 二叉排序树是一种左子树的值小于根,而右子树的值大于根的的一棵树,通过中序遍历可以得到一个有序的序列= =#include#include#include#include#includeusing namespace std;typedef struct node{ ... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(114) 评论(0) 推荐(0)
摘要: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1221这道题前19行给出城市的联通关系比如1 3 2 3 4 3 4 5 6 1 6 1 7 2 12 13 1 8 ... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(88) 评论(0) 推荐(0)
摘要: 这是一道关于拓扑排序的题,并且要输出其中一种拓扑序列#include#include#include#includeusing namespace std;const int maxn=150;int c[maxn];int topo[maxn],t;int G[ma... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(90) 评论(0) 推荐(0)
摘要: 这题是要你求讲所有点连起来的最小的代价是多少。连起两点的代价是两个点之间的距离。。。最基本的最小生成树#include#include#include #include#includeusing namespace std;const int maxn=200;int... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(195) 评论(0) 推荐(0)
摘要: 这题还是最小生成树 ==已经修建的道路的权值位0,然后再用克鲁斯卡尔算法#include#include#includeusing namespace std;const int maxn=2000;int p[maxn];struct node{ int u,... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(82) 评论(0) 推荐(0)
摘要: 这题的意思是给出p个点,然后p的点可以由无线电通信或者是卫星通信,然后只有m的点能通过卫星通信,然后用无线电通信的点的距离不能超过D超过D的话惠氏通信的成本增加,问在使通信成本就低的情况下求D这题还是最小生成树,用prim算法构造MST,在构造的过程将每次算的最小的权... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(121) 评论(0) 推荐(0)
摘要: prim算法是构造最小生成树的一种算法= =个人觉得写起来没有克鲁斯卡尔那么优美首先我们用个二维数组G[N][N]来保存权值,用low[N]数组来保存最小权值,vis[N]来保存是否已经添加到MTS中然后结合poj1258实现prim算法#include#includ... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(108) 评论(0) 推荐(0)
摘要: 题意:给出n的城市m条通道,然后每条通道最大的承载人数给出来了,然后给出起点和终点以及要搭载的人数,问最少要走多少次才能把全部游客送到目的地因为导游每次都要跟团,所以每条交通道路搭载的最大人数要减1= =克鲁斯卡尔算法,就会排序的时候按照运输人数的从大到小排序,然后当... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(84) 评论(0) 推荐(0)
摘要: 这道题要注意重边问题= =#include#include#include#includeusing namespace std;const int maxn=1000;int G[2*maxn][2*maxn];int f[2*maxn],d[2*maxn];#de... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(121) 评论(0) 推荐(0)
摘要: 很裸的一道dijk算法题,因为顶点数太多无法用邻接矩阵表示,所以要用临界表来表示AC代码#include#include#include#include #include#includeusing namespace std;using namespace std;c... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(111) 评论(0) 推荐(0)
摘要: 这道题是要判断图中是否存在负环。。。用BF算法。。从0开始松弛存在负环,说明经过n-1次的松弛之后,还可以继续松弛。BF算法#include#include#include#include using namespace std;#define inf 9999999... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(85) 评论(0) 推荐(0)
摘要: 这题是要你求从顶点1到顶点n然后再从n到1的最小的花费,注意两次走的边不能有相同的。。。原本单蠢的以为求一遍最短路,然后把边给删掉。。然后在跑一遍。后来想想不行啊,这样第一次的最短路会造成第二次回去无路可走。其实关键是在求第二次的最短路的时候我们要对图进行一下处理,把... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(66) 评论(0) 推荐(0)
摘要: 这题的题意是给出n的点,每个点有容量限制,然后给出每条边的运输的容量,问你从XX城市运送电量到YY城市最大的电量是多少。。最大流的模板题,直接用EK算法。。XX城市设定0,YY城市为n+1。还有一点要注意的是在求最小的残量的是还要看每个顶点容量。。#include#i... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(114) 评论(0) 推荐(0)
摘要: 题意:给你n个插座,然后接下俩的n行是对插座类型的描述,然后给你m个电器,接下来的m行是对电器的描述,电器的种类和电器的插座类型,然后给出k种转换器,接下来的k行就是第一个字母表示该转换器可以和那种电器相连,第二个字母表示该转换器可以和那个插座相连,注意一种转换器可以... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(91) 评论(0) 推荐(0)
摘要: 题意:有6种类型的志愿服,给你n件衣服(n一定是6的倍数),然后m个志愿者,接下里有m行,有两个字符串,表示志愿者能穿的衣服的尺码,问你是否所有志愿者都能找到合适的衣服= =最大流:0为源点,m+7为汇点,源点到每种志愿服的容量是n/6,志愿服和志愿者之间的容量是1,... 阅读全文
posted @ 2015-12-31 08:43 __NaCl 阅读(136) 评论(0) 推荐(0)
摘要: Slash Maze By filling a rectangle with slashes (/) and backslashes ( ), you can generate nice little mazes. Here is an example:As ... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(143) 评论(0) 推荐(0)
摘要: 原题链接http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126这题我们应该先求出他的周期来。。。。。 for(i=3;i#include#include#includeusing names... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(86) 评论(0) 推荐(0)
摘要: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1498题意的意思是给你n个房间,每个房间有一个价值,每个房间可以通向一些其... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(103) 评论(0) 推荐(0)
摘要: 题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=473= =这题就是就是给你一个三维的图,然后给你一个起点,一个终点... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(71) 评论(0) 推荐(0)
摘要: 原题链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=598这题就是在一堆*里找X,相邻的X算一个,所以我们可以两次dfs... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(115) 评论(0) 推荐(0)
摘要: B. Bear and Three Musketeerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputDo y... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(99) 评论(0) 推荐(0)
摘要: 原题链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1092这题其实可以把字符串str反转一下然后再求两个字符串的最长公共子序列的长度,然后len(str)-那个长度就是答案了= =#i... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(75) 评论(0) 推荐(0)
摘要: 原题链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1050如果没有循环的条件,那么我们可以用常规的方法算出最大的字段和max1然后加上循环这个条件,我们可以先求出整个数组的和,然后在求... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(89) 评论(0) 推荐(0)
摘要: 有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。例如N = 3,K = 2。无论A如何拿,B都可以拿到最后1颗石子。Input第1行... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(94) 评论(0) 推荐(0)
摘要: 原题链接:http://www.51nod.com/onlineJudge/questionCode.html#problemId=1095&noticeId=20791老实说这题,我是很不想用字典树,因为不熟~~~但后来没搞出来,就用了字典树。。。。。。。。。。当然... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(106) 评论(0) 推荐(0)
摘要: 就是一个国际象棋的棋盘,可以八个方向走,问从起点到终点的最少步数是多少,还给出一个一个点是不可走的,简单的bfs#include#include#include#include#include#include using namespace std;int vis[1... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(80) 评论(0) 推荐(0)
摘要: 原题链接http://acm.hdu.edu.cn/showproblem.php?pid=5410因为他每买一件物品就会得到Ai颗糖,每买一种物品就会得到Bi颗糖。有两个价值。。所以我们应该先用一次01背包把两个价值统一起来。。。因为01背包中每种物品只能取一次。。... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(75) 评论(0) 推荐(0)
摘要: 这题其实很简单的说,第一次用邻接表来存图= =首先图的储存结构是结构体+head数组。。。其实head数组保存的struct node{ int v; int next;}V[200*200]; 假设现在有u节点,v表示的是和他邻接的点,next保存的是v... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(110) 评论(0) 推荐(0)
摘要: 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5400这题其实就是求有多少公差为d1和公差为d2的等差序列和前半段是公差为d1后半段的公差为d2的序列。。。。。我们可以用个b数组保存序列中相邻两项的和,然后直接查找b数组... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(133) 评论(0) 推荐(0)
摘要: 原题链接http://acm.hdu.edu.cn/showproblem.php?pid=3068查找字符串中最长的回文串,我们用到manachar算法。要实现manachar算法我们有有两步要做1:对字符串进行处理,把所有的字符串的长度统一化为奇数。。 1 in... 阅读全文
posted @ 2015-12-31 08:42 __NaCl 阅读(169) 评论(0) 推荐(0)
摘要: 原题连接http://acm.hnu.cn/online/?action=problem&type=show&id=13396这道题并不难,他已经给出公式了k+k+1+k+2+k+3+....+b=N;我们可得(2*k+d-1)*d=2*N;然后我们从2~根号2*n枚... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(104) 评论(0) 推荐(0)
摘要: 题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1278这道题需要用到两个姿势第一将圆相离的模型转换成线段和线段之间不想交,然后还有一个就是修改循环变量的步长。达到降低时间复杂度的效... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(113) 评论(0) 推荐(0)
摘要: 题目链接http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1279这道题要求的就是当顶被封之前有多少盘被扔下去= =当顶被封住时 即使下面的盘子再小也不能扔下去我们用a[]保存井的宽度,数组b[... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(94) 评论(0) 推荐(0)
摘要: 1:最大公约数的求法欧几里得算法实现。递归实现 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 __int64 gcd(__int64 y,__int64 x) 7 { 8 ... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(124) 评论(0) 推荐(0)
摘要: http://acm.hnu.cn/online/?action=problem&type=show&id=13362&courseid=0或者是http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=7... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(104) 评论(0) 推荐(0)
摘要: 原题链接:http://acm.hnu.cn/online/?action=problem&type=show&id=13397对于每一个已经开始运动的轮子要求它周围和他相接触的轮子的运动状态,然后让那些轮子依次进入队列= =速度关系== 高中学过物理应该都知道吧 ... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(182) 评论(0) 推荐(0)
摘要: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=88791(题目连接)这道道题就是让你在大矩阵里找小矩阵,用矩阵hash用矩阵hash之前我们先定义下面这些玩意hash1[][]记录横列的的has... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(132) 评论(0) 推荐(0)
摘要: 建立哈弗曼树要求我们每次都选频率权值最小的点构成节点,即权值小的点在树的深处,权值大的点在树的浅处,根据节点选择的特点,我们可以把节点的值放在优先队列中,包括新形成的节点。我们先定义优先队列的优先级别。1 struct cmp2 {3 bool operator... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(113) 评论(0) 推荐(0)
摘要: Cent Savings Time Limit: 5000ms, Special Time Limit:12500ms, Memory Limit:65536KB Total submit users: 59, Accepted users: 45 Problem 13345 : No speci... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(166) 评论(0) 推荐(0)
摘要: Judging Troubles Time Limit: 5000ms, Special Time Limit:12500ms, Memory Limit:65536KB Total submit users: 91, Accepted users: 72 Problem 13352 : No s... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(111) 评论(0) 推荐(0)
摘要: Joke with permutation Time Limit: 3000ms, Special Time Limit:7500ms, Memory Limit:65536KB Total submit users: 87, Accepted users: 60 Problem 13341 : ... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(117) 评论(0) 推荐(0)
摘要: 题目链接http://acm.hnu.cn/online/?action=problem&type=show&id=13342&courseid=0 Problem description The races became more popular than ever at Pandora plan... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(130) 评论(0) 推荐(0)
摘要: DescriptionMany people like to solve hard puzzles some of which may lead them to madness. One such puzzle could be finding a hidden prime number in a ... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(80) 评论(0) 推荐(0)
摘要: Problem DescriptionThere are n apple trees planted along a cyclic road, which is L metres long. Your storehouse is built at position 0 on that cyclic ... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(89) 评论(0) 推荐(0)
摘要: Your current task is to make a ground plan for a residential building located in HZXJHS. So you must determine a way to split the floor building wit... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(118) 评论(0) 推荐(0)
摘要: Kruskal算法的过程:(1) 将全部边按照权值由小到大排序。 (2) 按顺序(边权由小到大的顺序)考虑没条边,只要这条边和我们已经选择的边步构成圈,就保留这条边,否则放弃这条边。算法 成功选择(n-1)条边后,形成一个棵最小生成树,当然如果算法无法选择出(n-1)... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(361) 评论(0) 推荐(0)
摘要: 对于背包问题,网上有很多博客= =,如果有不小心点进来的朋友,看到我挫逼的博文然后看不懂,可以自行百度一篇,其中本文的博文内 容参照 http://blog.csdn.net/lyhvoyage/article/details/8545852#0-qzone-1-46291-d020d2d2a4e8... 阅读全文
posted @ 2015-12-31 08:41 __NaCl 阅读(67) 评论(0) 推荐(0)
摘要: 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str,输出Str里最长回文子串的长度。Input 输入Str(Str的长度 #include#include#includ... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(89) 评论(0) 推荐(0)
摘要: #include#include#include#include#include#include#define max 500using namespace std;typedef struct node{ char data; struct node *le... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(133) 评论(0) 推荐(0)
摘要: 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注给出一个整数N,将N表示为2个整数i j的平方和(i #include#include#include#define N 33333using namespace std;__int64 f[N];int mai... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(108) 评论(0) 推荐(0)
摘要: 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。例如N = 3,K = 2。... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(69) 评论(0) 推荐(0)
摘要: 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题收藏关注一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下向右走,求能够获得的最大价值。例如:3 * 3的方格。1 3 32 1 32 2 1能够获得的最大价值为:11。Inp... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(89) 评论(0) 推荐(0)
摘要: 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。Input输入N(1 #include#include#include#include usin... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(101) 评论(0) 推荐(0)
摘要: 给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。Input输入1个数N(1 #include#include#includeusing namespace std;int main(){ long... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(112) 评论(0) 推荐(0)
摘要: 基准时间限制:1 秒 空间限制:131072 KB 分值: 5难度:1级算法题 收藏 关注 取消关注 1,10,100,1000...组成序列1101001000...,求这个序列的第N位是0还是1。Input第1行:一个数... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(74) 评论(0) 推荐(0)
摘要: 基准时间限制:1 秒 空间限制:131072 KB 分值: 5难度:1级算法题 收藏 关注 取消关注 X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 2... 阅读全文
posted @ 2015-12-31 08:40 __NaCl 阅读(110) 评论(0) 推荐(0)