08 2013 档案
摘要:这个因为点少用邻接矩阵做的。题意:求由1到n的t条不重复路径中最大边权值的最小值。思路:先对边权进行排序,然后二分边权值,建图求从1到n的最大流,当最大流为t时便求出答案。代码:#include#include#include#includeusing namespace std;#define N...
阅读全文
摘要:Ford-Fulkerson算法戳戳http://www.cnblogs.com/luweiseu/archive/2012/07/14/2591573.htmlFord-Fulkerson方法依赖于三种重要思想:残留网络,增广路径和割。Ford-Fulkerson方法是一种迭代的方法。开始时,对所...
阅读全文
摘要:其实2-SAT类型题目的类型比较明确,基本模型差不多是对于n组对称的点,通过给出的限制条件建图连边,然后通过缩点和判断冲突来解决问题。要注意的是在topsort输出结果的时候,缩点后建图需要反向连边,然后输出就可以了。2-sat题型差不多。题意:新娘新郎分别坐在长桌两边,n-1队夫妇来参加婚礼,要求...
阅读全文
摘要:发现建图的方法各有不同,前面一题连边和这一题连边建图的点就不同,感觉这题的建图方案更好。题意:给出每个婚礼的2个主持时间,每个婚礼的可能能会冲突,输出方案。思路:n个婚礼,2*n个点,每组点是对称的,用O(n2)的方法判断每个点之间的关系来建图,然后通过拓扑排序输出即可。代码:#include#in...
阅读全文
摘要:题意:给出n对钥匙,每对钥匙只能选其中一个,在给出每层门需要的两个钥匙,只要一个钥匙就能开门,问最多能到哪层。思路:了解了2-SAT判定的问题之后主要就是建图的问题了,这里建图就是对于2*n个钥匙,分别分成a和a'两组,即选了比如a,b一组钥匙,选择了a则必须选择b',那么进行连边,而对于每层门,若...
阅读全文
摘要:开始学习2-Sat,前面看了对称性解决2-sat的ppt,很有帮助。题意:n对夫妻,夫妻需要出席一人,给出不相容的关系,求每对是否能完成出席方案。思路:通过关系建图,Tarjan缩点,然后进行判断:条件:若有一对夫妻在同一个连通分量中,即不可组成方案。代码:#include #include #in...
阅读全文
摘要:题意:给你一个无向连通图,每次加一条边后,问图中桥的数目。思路:先将图进行双联通缩点,则缩点后图的边就是桥,然后dfs记录节点深度,给出(u,v)使其节点深度先降到同一等级,然后同时降等级直到汇合到同一个点为止。途中直接进行删边处理且桥的数目减少。代码:#include#include#includ...
阅读全文
摘要:题意,给出边和权值,求出两个点间的最短距离。用离线算法的时候有个地方不知道怎么处理了。在线的本来想用倍增的,但发现倍增算法貌似需要预处理深度而不是权值,不知道怎么处理。套一个rmq的模板吧,用来处理权值的时候。代码:#include #include #include #include using ...
阅读全文
摘要:今天学LCA,先照一个模板学习代码,给一个离线算法,主要方法是并查集加上递归思想。再搞,第一个离线算法是比较常用了,基本离线都用这种方法了,复杂度O(n+q)。通过递归思想和并查集来寻找最近公共祖先,自己模拟下过程就可以理解了。然后就是在线算法,在线算法方法就很多了,比较常用的是LCA的RMQ转换,...
阅读全文
摘要:题意:给出一个上限硬币数量s,给出n套硬币价值,求一套硬币能用不大于s数量的硬币组成从1开始连续的区间价值,其中,如果其最大值相同,输出数量小的和价值小的。思路:很明显的完全背包,纠结后面最大值相同时的情况没判断,WA好多次。代码:#include#include#include#include#d...
阅读全文
摘要:题意:给出不多于40个小棍的长度,求出用所有小棍组成的三角形的最大面积。思路:三角形3边求面积,海伦公式:p=(a+b+c)/2;S=p*(p-a)*(p-b)*(p-c);因为最大周长为1600 则三角形的边长小于周长一半800;则可以用背包思想dp[i][j]代表能组成的两条边i和j。dp为tr...
阅读全文
摘要:题意:给出n种面值的硬币, 和这些硬币每一种的数量, 要求求出能组成的钱数(小于等于m)思路:一开始直接用多重背包套上去超时了,然后就没辙了,然后参考网上的,说只需要判断是否能取到就行了,并不需要记录其价格,直接用bool判断是否能取到。就不会TLE了。代码:#include#include#inc...
阅读全文
摘要:题意:给出价值为1,2,3,4,5,6的6种物品数量,问是否能将物品分成两份,使两份的总价值相等。思路:求出总价值除二,做多重背包,需要二进制优化。代码:#include#include#includeusing namespace std;int n[7];int v,sum;bool flag;...
阅读全文
摘要:题意:给出猪罐子的空质量和满质量,和n个硬币的价值和质量,求猪罐子刚好塞满的的最小价值。思路:选择硬币,完全背包问题,塞满==初始化为无穷,求最小价值,min。代码:#include#include#includeusing namespace std;#define inf 10000000int...
阅读全文
摘要:题意:给出总资金和投资年份,n个股票 给出股票价格和其一年的利润。问如何选择能获得最大利润。思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序不同,因为完全背包没有次数的限制,因而其当前状态会受到之前选择的状态影响。这题由于每个股票的价格都是10...
阅读全文
摘要:题意:给出一个矩阵,其中#代表墙,不可走,0-9代表权值,*代表可以选择传送。求从0,0点开始出发能获得最大权值。思路:因为*的出现会有环的情况,先建图连边,将环进行Tarjan缩点,之后再从0,0用SPFA找最长路就行了。麻烦的地方在于建图,还有各种错代码:#include#include#inc...
阅读全文
摘要:题意:给出菜的价钱和自己的余额。使自己余额最少,注意余额大于5的情况可以买任意的菜。思路:小于5的余额不能买菜,直接输出,大于五的余额,留下5元买最贵的菜,剩下的余额进行01背包,将剩下的余额减去01背包消耗金额最大。就得出答案代码:#include#includeusing namespace s...
阅读全文
摘要:gcd模板:__int64 gcd(__int64 a,__int64 b){ retur b==0?a:gcd(b,a%b);}1108:#include#includeusing namespace std;__int64 gcd(__int64 a,__int64 b){ retu...
阅读全文
摘要:题意:给出一个有向无环图,每个顶点都有一个权值。求一条从入度为0的顶点到出度为0的顶点的一条路径,路径上所有顶点权值和最大。思路:因为是无环图,则对于每个点经过的路径求其最大权值有,dp[i]=max(dp[j]) j为i的子节点集合。再根据其要求入度为零为顶点,可以用拓扑排序每次枚举入度为零的点删...
阅读全文
摘要:题意:给出无向图的点,边,权值。求最小割。思路:根据题目规模,最大流算法会超时。网上参考的模板代码。代码:/*最小割集◎Stoer-Wagner算法:一个无向连通网络,去掉一个边集可以使其变成两个连通分量则这个边集就是割集;最小割集当然就权和最小的割集。prim算法不仅仅可以求最小生成树,也可以求“...
阅读全文
摘要:题意:一些骑士,他们有些人之间有矛盾,现在要求选出一些骑士围成一圈,圈要满足如下条件:1.人数大于1。2.总人数为奇数。3.有仇恨的骑士不能挨着坐。问有几个骑士不能和任何人形成任何的圆圈。思路:首先反向建立补图,然后问题转换成在图中找奇圈,圈肯定出现在双联通分量中,则求出图的双联通分量,又通过特性知...
阅读全文
摘要:题意:给出一个无向图,求割点以及去除这个点后图分为几部分;思路:割点定义:去掉该点后图将分成几个部分。割点:(1)当k为根节点且有>1个分支,则去除该点后图便被分成几个分支。(2)DFN[v]#include#includeusing namespace std;#define MAXN 1005#...
阅读全文
摘要:买一送一啊 3177和3352的区别在于3177数据有重边!但是我先做3177的 那么就直接ctrl+c+v搞3352了~。题意:给一个无向图,要令每个点之间至少有两条不重合的路,需要至少加多少条边。思路:找出无向图中边双联通的点进行缩点后,根据缩点图的每条边(割边)给缩点增加度数,通过图的结构可以...
阅读全文
摘要:这题搞了好久,先是拓扑排序这里没想到,一开始自己傻乎乎的跑去找每层出度为1的点,然后才想到能用拓扑排序来弄。拓扑排序的时候也弄了挺久的,拓扑排序用的也不多。题意:给一个图求是否从对于任意两个点能从v 到w 或者从w到v连通。思路:单连通,先强连通缩点,若scnt为1,或者出度为零的点为0,直接输出Y...
阅读全文
摘要:题意:给出一个有向图,定义:若节点v所有能到达的点{wi},都能反过来到达v,那么称节点v是sink。题目要求所有的sink点。思路:强连通缩点找出出度为零的点,输出即可。这题主要问题是读题,了解题意之后就好做了,然后在数组开小了导致WA?挺莫名其妙的。。代码:#include #include #...
阅读全文
摘要:题意:给出每个学校的list 代表该学校能链接的其他学校,问1:至少给几个学校资源使所有学校都得到;2:至少加多少个边能让所有学校相互连通;思路:1:找出缩点后入度为零的点个数 2:找出缩点后入度为零个数和出度为零个数之间的最大值。这题主要是在思考出入度和连通间的关系,了解了这个关系后就很水了。同时...
阅读全文

浙公网安备 33010602011771号