摘要: 训练的题目模拟题,蛇形矩阵,保证是n*n的矩阵,并且n是奇数 , 在矩阵中填数,从最中心开始填,逆时针转圈,1,2,3…………n*n。输入n,表示矩阵的大小,输入一个数字m,找出m在矩阵的哪行哪列其实这个蛇形矩阵可以分为一圈一圈来看,要找m,可以先确定它在哪一圈每一圈都值的范围是 [ k^2+1 , (k+2)*(k+2) ] ,其中k是奇数看一圈的四个角,右上角最大: max = (k+2)*(k+2)左上角次之: max - (k+2) + 1左下角再次: max - 2*(k+2) + 2右下角 : max - 3*(k+2) + 3所以可以以这4个值作为一个范围,将这个圈分成4份,.. 阅读全文
posted @ 2013-04-30 20:31 Titanium 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 训练的题目最大流题意:题意直白,就是一个网格从(0,0)编号到(N-1,M-1),每个点可以走到和它相连的4个点,没条边都有容量,为你从(0,0)到(N-1,M-1)的最大流1.建图细心一点不要出错,注意检查2.无向图,本来建的是无向图,无端端注释掉一部分,WA了一次才想起来怎么注释掉了,改回来过了3.建图后,直接上最大流模板,这里用EK#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;#define N 10100 阅读全文
posted @ 2013-04-30 20:18 Titanium 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 训练的题目最短路变形题意:这个题意,太长了,总结回来只有两三句话。输入n表示n个点,从0到n-1,输入m表示m条无向边,输入t,表示终点。要你求起点0到终点t的最短路,不过要先满足一个条件,就是路径的点数不超过10个(包括起点和终点在内 <= 10),如果在10个点内娶不到或者图根本不连通,那么输出no,否则输出最短路又是一个加了限制的最短路,是要先满足10个点以内再求最短路的,训练的时候就是看错了一直WA。这题和 poj 1724 ROADS 是一样的题目。可以看作每条边的花费是1点数,你从0出发,手上有9点数,在点数够用的情况下走到终点t的最短路因此仿照poj这题的代码,写了一个dp 阅读全文
posted @ 2013-04-30 20:10 Titanium 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 差束约分有人将这题归为最短路的中等题,所以做一下,但是发现其实是裸的差束约分题意:n个人,m个信息,每行的信息是3个数字,A,B,C,表示B比A多出来的糖果不超过C个,问你,n号人最多比1号人多几个糖果m行信息,所以得到m个不等式 : XB - XA <= C , 所有不等式加起来就是一个差束约分系统对应最短路模型,一开始是 d[v] >= d[u]+w (有向边u--->v) , 在进行完最短路后则变为 d[v] <= d[u] + w ,转化为 d[v] - d[u] <= w这个和上面的 XB - XA <= C 是相同的模式 , 因此建图的时候有向边 阅读全文
posted @ 2013-04-30 00:17 Titanium 阅读(1018) 评论(0) 推荐(0) 编辑