随笔分类 -  ACM/算法/数据结构

上一页 1 2 3 4 5 6 ··· 9 下一页
摘要:感觉这题比较裸,表现出了2-sat的本质。 不过构图我想的还是太简单了,a&b=1我只连了 a1->b1,b1->a1,但其实是不对的。这样连,a0和b0可以同时选到。应该连a0->a1,b0->b1这样就能保证a0,b0都不被选到。或运算同理。 阅读全文
posted @ 2016-09-19 19:02 我不吃饼干呀 阅读(209) 评论(0) 推荐(0) 编辑
摘要:题面很邪恶啊。。。 一对新人请n-1对夫妻吃饭,人们坐在一张桌子的两侧,每一对互为夫妻关系的人必须坐在桌子的两侧。而且有些人两两之间会存在“通奸”关系,通奸关系不仅在男女之间,同性之间也有。新娘对面不可以座有通奸关系的人。判断是否存在可行的排座方案,存在的话输出和新娘同一排的人。 因为新娘对面不可以 阅读全文
posted @ 2016-09-19 17:24 我不吃饼干呀 阅读(483) 评论(0) 推荐(0) 编辑
摘要:按字典序输出 直接dfs就好了(hdu1814(抄自 http://www.cnblogs.com/kuangbin/archive/2012/10/05/2712429.html) 输出任意一组解 阅读全文
posted @ 2016-09-19 13:03 我不吃饼干呀 阅读(916) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std; const int N = 5005; const int M = 100010; struct Edge { int to, next; } edge[M]; int head[N]; int cntE; void addedge(int u, int v) { edge[cntE].to = v; edge[c... 阅读全文
posted @ 2016-09-19 11:50 我不吃饼干呀 阅读(481) 评论(0) 推荐(0) 编辑
摘要:题意:有n个点,m条边,有重边。现在可以任意在图上添加一条边,求桥的最少数目。 题解:思路就是求出双连通分量之后缩点成为一棵树,然后求出树的直径,连接树的直径就能减少最多的桥。 难点在于:有!重!边! 像我这样习惯于无脑用模板的人来说。。。。头疼死了。。。。。。 既然有重边,dfs的时候就不要标记点 阅读全文
posted @ 2016-09-18 20:39 我不吃饼干呀 阅读(280) 评论(0) 推荐(1) 编辑
摘要:题意:有n*m的格子,每一个格子包含一个数字,0-9。你初始的能量为0,你可以玩k次,每一个你可以选择你现在的格子的正下方或者正右方的任意一个格子跳,但必须是之前没有跳过的格子。每玩一次你都可以跳任意次。每跳一次,从(x1, y1) 到 (x2, y2),你将花费|x1-x2|+|y1-y2|-1的 阅读全文
posted @ 2016-09-16 11:18 我不吃饼干呀 阅读(192) 评论(0) 推荐(0) 编辑
摘要:题目:My Brute Seaco是一个漂亮的妹子,喜欢玩一款名叫My Brute的游戏。情人节快到了,starvae和xingxing都想邀请妹子过节,但是妹子只能陪一个啊,于是两个人决定打一架,用男人的方式对决,来一场My Brute吧! 一开始两个人都有n(n<100)只宠物,每个宠物有生命值 阅读全文
posted @ 2016-09-15 13:00 我不吃饼干呀 阅读(319) 评论(0) 推荐(0) 编辑
摘要:比较简单的题了。 只需从左上角到右下角找两条路就可以了。 因为每个点只能走一次,所以拆点,限制流量为1。 因为求的是最大值,所以权值取反求最小值。 因为第一个点和最后一个点经过两次,只算一次,最后要减去。 ps:数组还是开大点好。。。。不知道什么时候就SB了。。。 注意汇点可能不是最后一个点(模板的 阅读全文
posted @ 2016-09-14 18:34 我不吃饼干呀 阅读(334) 评论(0) 推荐(0) 编辑
摘要:因为每个点只能经过一次 所以考虑拆点 这题有坑,有重边。。 KM算法 把一个点拆成入点和出点 入点在X部,出点在Y步。 如果u,v之间有路径,就在X部的u点连接Y部的v点 求完美匹配。 当完美匹配的时候,每个点都有一个入度和一个出度,可知成环。 因为完美匹配求得是最大匹配 记得把每条边权值取相反数 阅读全文
posted @ 2016-09-12 23:55 我不吃饼干呀 阅读(247) 评论(0) 推荐(0) 编辑
摘要:最简单的Ford-Fulkerson,复杂度O(FE) (F是最大流量,E是边数 每次从源点到汇点dfs寻找增广路。 const int MAXV = 2005; const int INF = 1<<30; struct Edge{ int to, cap, rev; }; std::vector 阅读全文
posted @ 2016-09-09 23:31 我不吃饼干呀 阅读(399) 评论(0) 推荐(0) 编辑
摘要:准备开始学习最大流。模板是在网上抄的,感觉这个看起来比较优雅。http://blog.csdn.net/d891320478/article/details/8424820 持续更新。 (hdu zoj poj vj 都挂了 还怎么刷题啊……) (2016.9.6 sgu326. Perspecti 阅读全文
posted @ 2016-09-06 20:10 我不吃饼干呀 阅读(246) 评论(0) 推荐(0) 编辑
摘要:树状数组这个真心想了好久,还是没想出来 %%% www.cppblog.com/Yuan/archive/2010/08/18/123871.html 树状数组求前缀和大于等于k的最大值,第一次看到这种方法,很神奇,就是没看懂= = 二分也是可以求的,不过感觉会慢一些…… 思路就是把所有没有询问到的 阅读全文
posted @ 2016-09-03 11:54 我不吃饼干呀 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题意:每次找出第i大的数的位置p输出,然后将i~p之间的数反转。 题解:每次把要的区间转成一棵子树,然后更新。因为每次将第i小的数转到了了i,所以k次操作后,可知前k个数一定是最小的那k个数,所以以后的操作一定不会和前k个数有关,所以每次操作后可以把操作完的数删掉。所以每次把p转到根,然后翻转左子树 阅读全文
posted @ 2016-09-02 11:13 我不吃饼干呀 阅读(277) 评论(0) 推荐(0) 编辑
摘要:Bellman-Ford可以求有负权的图的最短路,也可以判断是否有负环存在。 单源最短路模板 如果没有环,最多更新n-1次,n是点的个数,如果更新了n次,证明图中有环。因为求的是最短路,所以一般判断的是负环,正环也可以判断的。 poj3259 Wormholes 求是否存在负环 #include < 阅读全文
posted @ 2016-09-01 20:12 我不吃饼干呀 阅读(213) 评论(0) 推荐(0) 编辑
摘要:虽然有点难,但是这套题都挂了一个月了啊喂…… 网上模板好多……最后还是抄了kuangbin聚聚的,毕竟好多模板都是抄他的,比较习惯…… POJ 3468 题意:给n个数,两种操作,区间整体加一个数,或者区间求和。 题解:把区间的前一个数挪到根,区间后一个数挪到根的右子树,根的右子树的左子树就是要处理 阅读全文
posted @ 2016-09-01 16:21 我不吃饼干呀 阅读(281) 评论(0) 推荐(0) 编辑
摘要:题意:Bob想要开一个运动会,有n个房子和n-1条路(一棵树),Bob希望每个人都从不同的房子开始跑,要求跑的尽可能远,而且每条路只能走最多一次。Bob希望所有人跑的距离的极差不大于q,如果起点的编号需要连续,那么最多多少个起点。 题解:首先求出每个点所能跑的最大距离(参考hdu2196),问题将转 阅读全文
posted @ 2016-08-31 09:43 我不吃饼干呀 阅读(308) 评论(0) 推荐(0) 编辑
摘要:题意:给你一堆字符串,仅包含数字'0'到'9'。 例如 101 123 有一个字符串集合S包含输入的N个字符串,和他们的全部字串。 操作字符串很无聊,你决定把它们转化成数字。 你可以把一个字符串转换成一个十进制整数。 如果一个数字出现了多次,只留一个。 计算所有数字的和,模2012。 1<=N<=1 阅读全文
posted @ 2016-08-30 15:35 我不吃饼干呀 阅读(340) 评论(0) 推荐(0) 编辑
摘要:题意&题解: http://www.cnblogs.com/wuminye/p/3245546.html 说实话看了题解觉得很简单,但是比赛的时候真的是毫无头绪。 然而印象中做过一道类似的二进制贪心的题目。竟然……没想到……sigh……太弱辣!!! 应该思考题目为什么要给2^i,而不是轻易的认为是为 阅读全文
posted @ 2016-08-30 09:30 我不吃饼干呀 阅读(258) 评论(0) 推荐(0) 编辑
摘要:题意:给n个字符串。进行k次游戏。每局开始,字符串为空串,然后两人轮流在末尾追加字符,保证新的字符串为集合中某字符串的前缀,不能操作者输,新一轮由上一句输的人先手。 题解: #看到此题毫无头绪,队友写了神(xiang)一样的sg函数,我在旁边默默说,不太对吧,应该求必输必赢什么的,然后……然后怎样? 阅读全文
posted @ 2016-08-27 21:50 我不吃饼干呀 阅读(499) 评论(0) 推荐(0) 编辑
摘要:题意:求区间内与其他任何数都互质的数的个数。 题解:求出每个数左右互质的边界。然后对询问排序,通过树状数组求解。 讲道理真的好难啊= = http://blog.csdn.net/dyx404514/article/details/15507209 这个博客讲的最清楚(竟然是戴神的博客=。= 听过戴 阅读全文
posted @ 2016-08-27 17:52 我不吃饼干呀 阅读(244) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 9 下一页