上一页 1 2 3 4 5 6 7 ··· 16 下一页
摘要: 题意:给出n对钥匙,每对钥匙只能选其中一个,在给出每层门需要的两个钥匙,只要一个钥匙就能开门,问最多能到哪层。思路:了解了2-SAT判定的问题之后主要就是建图的问题了,这里建图就是对于2*n个钥匙,分别分成a和a'两组,即选了比如a,b一组钥匙,选择了a则必须选择b',那么进行连边,而对于每层门,若... 阅读全文
posted @ 2013-08-25 20:24 amourjun 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 开始学习2-Sat,前面看了对称性解决2-sat的ppt,很有帮助。题意:n对夫妻,夫妻需要出席一人,给出不相容的关系,求每对是否能完成出席方案。思路:通过关系建图,Tarjan缩点,然后进行判断:条件:若有一对夫妻在同一个连通分量中,即不可组成方案。代码:#include #include #in... 阅读全文
posted @ 2013-08-25 10:57 amourjun 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个无向连通图,每次加一条边后,问图中桥的数目。思路:先将图进行双联通缩点,则缩点后图的边就是桥,然后dfs记录节点深度,给出(u,v)使其节点深度先降到同一等级,然后同时降等级直到汇合到同一个点为止。途中直接进行删边处理且桥的数目减少。代码:#include#include#includ... 阅读全文
posted @ 2013-08-25 09:48 amourjun 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意,给出边和权值,求出两个点间的最短距离。用离线算法的时候有个地方不知道怎么处理了。在线的本来想用倍增的,但发现倍增算法貌似需要预处理深度而不是权值,不知道怎么处理。套一个rmq的模板吧,用来处理权值的时候。代码:#include #include #include #include using ... 阅读全文
posted @ 2013-08-24 10:17 amourjun 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 今天学LCA,先照一个模板学习代码,给一个离线算法,主要方法是并查集加上递归思想。再搞,第一个离线算法是比较常用了,基本离线都用这种方法了,复杂度O(n+q)。通过递归思想和并查集来寻找最近公共祖先,自己模拟下过程就可以理解了。然后就是在线算法,在线算法方法就很多了,比较常用的是LCA的RMQ转换,... 阅读全文
posted @ 2013-08-17 21:04 amourjun 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个上限硬币数量s,给出n套硬币价值,求一套硬币能用不大于s数量的硬币组成从1开始连续的区间价值,其中,如果其最大值相同,输出数量小的和价值小的。思路:很明显的完全背包,纠结后面最大值相同时的情况没判断,WA好多次。代码:#include#include#include#include#d... 阅读全文
posted @ 2013-08-14 19:51 amourjun 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题意:给出不多于40个小棍的长度,求出用所有小棍组成的三角形的最大面积。思路:三角形3边求面积,海伦公式:p=(a+b+c)/2;S=p*(p-a)*(p-b)*(p-c);因为最大周长为1600 则三角形的边长小于周长一半800;则可以用背包思想dp[i][j]代表能组成的两条边i和j。dp为tr... 阅读全文
posted @ 2013-08-14 12:49 amourjun 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题意:给出n种面值的硬币, 和这些硬币每一种的数量, 要求求出能组成的钱数(小于等于m)思路:一开始直接用多重背包套上去超时了,然后就没辙了,然后参考网上的,说只需要判断是否能取到就行了,并不需要记录其价格,直接用bool判断是否能取到。就不会TLE了。代码:#include#include#inc... 阅读全文
posted @ 2013-08-13 21:22 amourjun 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题意:给出价值为1,2,3,4,5,6的6种物品数量,问是否能将物品分成两份,使两份的总价值相等。思路:求出总价值除二,做多重背包,需要二进制优化。代码:#include#include#includeusing namespace std;int n[7];int v,sum;bool flag;... 阅读全文
posted @ 2013-08-13 10:07 amourjun 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题意:给出猪罐子的空质量和满质量,和n个硬币的价值和质量,求猪罐子刚好塞满的的最小价值。思路:选择硬币,完全背包问题,塞满==初始化为无穷,求最小价值,min。代码:#include#include#includeusing namespace std;#define inf 10000000int... 阅读全文
posted @ 2013-08-12 19:16 amourjun 阅读(131) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 16 下一页