摘要:
一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3 -1-1 31 2Input第1行:M和N,中间用空格隔开(2 #include#includ... 阅读全文
摘要:
N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小... 阅读全文
摘要:
求:3^0 + 3^1 +…+ 3^(N) mod 1000000007 Input 输入一个数N(0 #include#include#includeusing namespace std;typedef long long ll;const int mod=100... 阅读全文
摘要:
给出一个只有01的字符串,请找出最长的的01的数目的相等的字串。。这题最暴力的解决方法就是就是先预处理每个区间01的数目,然后枚举起点和重点,时间复杂度是O(N^2)。下面我们来介绍一种O(n)时间复杂度的做法。。。首先我们可以用一个数组B[i]把串A当中A[0...... 阅读全文
摘要:
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1475这题一开始我是用贪心去做的,但是一直没过。。。貌似贪心并不能得到最优解法。然后这道题用优先队列来写首先我们先把对于第i的中间站... 阅读全文
摘要:
因为商业线只能坐一次我们可以枚举做哪条。。先用两次迪杰斯特拉算法预处理出从起点到各个点的最短距离和终点到各个距离的最短路= =假设d1[]存的是起点到其他点的距离,d2[]存的终点到其他点的距离。那么总共的时间就是d1[a]+T(a,b)+d2[b];#include... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2680题意就是给你n个起点,一个重点,问从起点到终点最小的花费是多少= =首先这题是有向图,然后我们把起点看成是终点,终点看成起点。然后用迪杰斯特拉算法求最短路。然后因为我们把终点和... 阅读全文
摘要:
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2444 就会给你n个人,m个朋友关系,然后让你判断是否能把他们分成两组然后里面谁也不认识对方如果能,输出最大的组的人数 解法,先判断二分图,然后在二分图匹配 #include... 阅读全文
摘要:
这题真的是并查集的经典题目= =题意是给出n个人,然后给出若干的操作1表示让a,b成为朋友,若与前面的朋友敌人关系相矛盾,输出-12表示让a,b成为敌人,若与前面的朋友敌人关系矛盾输出-13判断a,b是否是朋友,是输出1,不是输出04判断a,b是否是敌人,是的话输出1... 阅读全文
摘要:
这题是最小费用最大流的问题,给出边的关系和花费,然后给吃D和K,D是要运输的数据流。K表示每条边能运输的最大流量,这图的应该构造无向图,而且自己发现,凡是要无向图的网络流问题最好还是用邻接表来表示这样就可以解决重边和反向边问题,之前用邻接矩阵来表示一直错= =我们还要... 阅读全文