随笔分类 - 图论
摘要:给你N个点的无向图 (1 <= N <= 15,000),记为:1…N。 图中有M条边 (1 <= M <= 30,000) ,第j条边的长度为: d_j ( 1 < = d_j < = 1,000,000,000). 现在有 K个询问 (1 < = K < = 20,000)。 每个询问的格式是:
阅读全文
摘要:给出一个N*N的矩阵B和一个1*N的矩阵C。求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大。其中A^T为A的转置。输出D Input 第一行输入一个整数N,接下来N行输入B矩阵,第i行第J个数字代表Bij. 接下来一行输入N个整数,代表矩阵C。矩阵B和矩阵C中每个数字都是不超过10
阅读全文
摘要:在这个“打鼹鼠”的游戏中,鼹鼠会不时地从洞中钻出来,不过不会从洞口钻进去(鼹鼠真胆大……)。洞口都在一个大小为n(n< =1024)的正方形中。这个正方形在一个平面直角坐标系中,左下角为(0,0),右上角为(n-1,n-1)。洞口所在的位置都是整点,就是横纵坐标都为整数的点。而SuperBrothe
阅读全文
摘要:一、网络流的定义:有向图G=(V,E)中,点集中有一源点S,一汇点T。且S入度为0,T出度为0。对于每条边edge,都有一权值函数c,表示其容量,一权值函数f,表示其实际流量。 满足对于任意一条边都有f(edge)<=c(edge)。 二、最大流的定义:在不违背网络流的定义下,S到T的最大流量。 三
阅读全文
摘要:我们在研究问题时经常能碰到这一类为题:在某个棋盘上有一种棋子,问最多放下几个棋子。或者有一堆棋子,问你移去最少的棋子数目,使得剩下来的棋子两两不攻击。 先看下面这道题 问题 E: P1035 题目描述 给出一张n*n(n< =100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨
阅读全文
摘要:首先求最小环有一个比较好想的方法:每次删掉一条边,看看这条边n所连的点i之间的距离(dijkstra),时间复杂度O(m*V^2*logv) 其实floyd也能完成这个功能。f[i][j][k]表示i到j在中间点为1~k的最近距离 对于一个环,我们假设i和j中只夹这一个数k,则环长为f[i][j][
阅读全文
摘要://Tarjan 求桥和割点 Tarjan(u,fa) { DFN[u]=LoW[u]=++time; Cu=grey; for each e=(u,v) { Tarjan(v,u); if(Cv=white) { low[u]=min(low[u],low[v])...
阅读全文
摘要:上次貌似在处理RMQ问题时提起了倍增,这玩意可以求动态LCA(比较牛),现在我们在讲dfs时间戳的时候发现了一个求静态LCA的算法 何为时间戳? 在这里我们定义两个数组f和d,在深度优先搜索时记录这两个的值——f表示对这个店开始搜索的时间,d表示对这个店完成搜索的时间 我们假设所有操作花费的都是单位
阅读全文
摘要:问题 C: 种树 题目描述 为了绿化乡村,H村积极响应号召,开始种树了。 H村里有n幢房屋,这些屋子的排列顺序很有特点,在一条直线上。于是方便起见,我们给它们标上1~n。树就种在房子前面的空地上。 同时,村民们向村长提出了m个意见,每个意见都是按如下格式:希望第li个房子到第ri个房子的房前至少有c
阅读全文
摘要:题目描述 小生和小森在玩兔子之谜游戏。有三只兔子排成一排。知道每只兔子的初始位置,以及三个兔窝的位置。 游戏的规则是,重复以下步骤k次:选择两个不同的兔子A和B,分别位于a和b。A可以跳过B到达2*b-a的点: 跳跃是不允许其他小兔子已经在点2*b-a的位置上: 跳跃也不允许一次跳过一个以上的兔子:
阅读全文
摘要:先给一个线性规划的定义: 在通用的线性规划问题中,我们通常给定一个m*n的矩阵A,一个m维的向量和一个n维向量(权值函数)。我们希望找到一个n维向量x,使得在由Ax<=b给定的m个约束条件下优化目标函数ci*xi,这里的优化是指目标函数的取值最大。 根据矩阵乘法,我们大概脑补出这样一幅图 ps:上图
阅读全文
摘要:上次我们学习了Dijkstra,其有一个不错的时间复杂度上限:O(n log n),但其对于负权边的处理会出错啦 一个简单的小例子: 这个图中如果我们发现以3号点为原点,跑一边dijkstra的话 我们先会取2号点进入原点集合,再取一号点。这样得到的dist[2]=3,dist[1]=4 错! 我们
阅读全文
摘要:dijkstra是一种单元最短路径算法,其能在较好时间复杂度内处理这一问题。但其对负权圈的处理让人不太满意——会陷入死循环 其思想和Prim算法差不多,都是贪心。 把图中的所有点划分为两个集合:包含远点S和不包含原点S的 每次从不包含原点S的集合中找出一个离原点S最近的点(这样就没有点能够比这个点更
阅读全文
摘要:转载一下YH大佬的blog地址http://blog.csdn.net/jokercold 。。 直译小丑严寒2333 以及HK大佬 http://blog.csdn.net/yuyaohekai 宿命的PSS 题目描述 最小生成树P.S.S在宿命的指引下找到了巫师Kismi。P.S.S希望Kism
阅读全文
摘要:今天听了CLRS的第二作者讲的课程,关于最小生成树的算法。 其实就是先模拟一下小样例(不是单纯模拟,而是发现其中的规律,要思考) 然后发现最优子结构-如果(u,v)是一条唯一连接两点的边,那么将原图拆分为两块(一块包含u,一块包含v),两图分别最优解+dist[u,v]就是原图的最优解了。 然后发现
阅读全文

浙公网安备 33010602011771号