只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2016-01-10 20:59 漫步者。!~ 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 图片原创:http://blog.csdn.net/water_glass/article/details/6853678 代码: 这个题WA了一遍是因为二分图染色之后连边不对了,标号后不能直接连。 1 2 3 4 5 6 7 8 按我原来的算法,左边的点集选的是1 3 5 7,但是看他 阅读全文
posted @ 2016-04-19 20:07 漫步者。!~ 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 首先求出dp[i],表示1 ... i的最长不降子序列的长度。(本来是严格递增的,但是数据出挫了,成了不降了)然后我们可以知道最长的不降子序列的长度 K,这是第一问的答案。接下来把每个i拆点,拆成<i, a> <i, b>对于每个i,如果有dp[i] = K,那么就insert(<i,b 阅读全文
posted @ 2016-04-19 17:17 漫步者。!~ 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 最大权闭合子图的裸题。 要求输出方案的话,就是与S点相连的边,直接DFS一遍就好了,注意走剩余流量大于0的边。 贴一个不错的学习网址:http://www.cnblogs.com/wuyiqi/archive/2012/03/12/2391960.html 代码: 阅读全文
posted @ 2016-04-19 12:06 漫步者。!~ 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 题目1 ZJOI 最小割 题目大意: 求一个无向带权图两点间的最小割,询问小于等于c的点对有多少。 算法讨论: 最小割 分治 代码: 题目2 CQOI2016 不同的最小割 题目大意: 求所有点对问不同的最小割数目。 算法讨论: 最小割 分治 和上面的一个题有区别么? 代码: 阅读全文
posted @ 2016-04-19 12:00 漫步者。!~ 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 直接决策单调性,至于怎么证,因为这是个凸包。然后为什么决策点在[i, i + n]范围内是正贡献,在这个之处要取反比较, 看了下面这个图你就明白了,为了保证决策单调。 代码: 阅读全文
posted @ 2016-04-19 11:35 漫步者。!~ 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 斯坦纳树生成森林。题解再补。 代码: 阅读全文
posted @ 2016-04-19 11:28 漫步者。!~ 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 并查集。我用了两个,一个来维护不等,一个来维护相同,如果有特别可恶的非法,那么在加入中途就可以判Fifa。 然后我们对最后的结果Check,如果两个点既在两个并查集中都是在一个集合中,那么一定是Fifa的。 然后你知道我被并查集卡爆栈了吗? 我从前的写法都是这样 fa[find(x)] 阅读全文
posted @ 2016-04-19 11:02 漫步者。!~ 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 树链剖分。我们考虑安装一个软件就是把其到根上的路径点全部变成1.把一个软件卸载就是把子树变成0. 那么我们用线段树染色来维护。即可。自己还傻逼似的原来传了N个标记。 代码: 阅读全文
posted @ 2016-04-19 10:58 漫步者。!~ 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 模板复习计划。图论:最短路:Dijkstra SPFA Floyed最小圈(*) 二维Dijkstra、SPFA倍增Floyed(*)最小生成树,各种生成树(里面有些还不会) 最小树形图二分图:各种概念,二分图最大权匹配(KM), HC算法(*)网络流:(把所有建模都看一遍,,,不管会不会的)费用流 阅读全文
posted @ 2016-04-18 07:28 漫步者。!~ 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 差分约束裸题。 但是有几个注意的地方: 差分约束可以构建最短路模型,也可以构建最长路模型。 如果有x1 >= 常数。如此的形式,就提醒我们要加超级源点啦。 统计答案的方式。 为了提高SPFA的效率,可以在开始的时候把所有的点都入队。 代码: 阅读全文
posted @ 2016-04-18 06:28 漫步者。!~ 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目大意: SDOI求一个区间内只出现一次的数的个数。多组询问。 HEOI 求一个区间内出现至少两次的数的个数。多组询问。 SDOI HH'neckplace如果每次询问都是1..r的话,那么我们只要把每种颜色的第一次出现的位置变成1,然后维护区间和就可以了。这是显然的。那么现在考虑如果区间变成2. 阅读全文
posted @ 2016-04-16 17:16 漫步者。!~ 阅读(170) 评论(0) 推荐(0) 编辑
摘要: \( J_\alpha(x) = \sum\limits_{m=0}^\infty \frac{(-1)^m}{m! + 1}{\left({\frac{x}{2}}\right)}^{2 m + \alpha} \) \( \sum\limits_{i = 0} ^ {n} \sum\limits 阅读全文
posted @ 2016-04-15 20:29 漫步者。!~ 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 由于叶子节点不超过20个,所以我们分别从每个叶子出发建立广义后缀自动机。注意树上的自动建立要时刻清楚last节点是哪个。 然后就可以发现,树的任何一个子串,都是自动机上的某个节点到其子孙的路径。然后本质不同的子串数量就是每个点和其pre指针的len差值。 加和就可以啦~~~ 代码: 阅读全文
posted @ 2016-04-15 19:57 漫步者。!~ 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 首先对这些串建立出广义后缀自动机,同时在建立的时候要保存当前结点都是哪些串的子串,然后建立出Parent树, 对树进行一遍DFS,把一个点的所以后代结点的颜色信息全部合并到自己身上,并用一个数组来维护当前结点有多少颜色,也就是多少个串的子串。 因为我们知道,一个点在Parent树上的父亲 阅读全文
posted @ 2016-04-15 17:53 漫步者。!~ 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 算法讨论: 先用SPFA处理出第i到第j天内起点到终点的最短路,然后Dp求解即可。 代码: 阅读全文
posted @ 2016-04-15 07:36 漫步者。!~ 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 题目1 NOI2008 志愿者招募 题解什么的后补吧,先上代码。 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 #include <iostream> 6 #include 阅读全文
posted @ 2016-04-12 19:54 漫步者。!~ 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 题目1: BZOJ 2716 题目大意:给出N个二维平面上的点,M个操作,分为插入一个新点和询问到一个点最近点的Manhatan距离是多少。 算法讨论: K-D Tree 裸题,有插入操作。 1 #include <cstdio> 2 #include <iostream> 3 #include < 阅读全文
posted @ 2016-04-12 15:49 漫步者。!~ 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目1: SPOJ 2832 题目大意: 求一个矩阵行列式模一个数P后的值。p不一定是质数。 算法讨论: 因为有除法而且p不一定是质数,不一定有逆元,所以我们用辗转相除法。 1 #include <cstdio> 2 #include <iostream> 3 #include <cstdlib> 阅读全文
posted @ 2016-04-12 09:38 漫步者。!~ 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 题目1 ZOJ2314 无源汇可行流 题目大意: 给一张有向图,每条边有容量上界可容量下界,求是否有可行流? 如果有,输出每条边的流量。 算法讨论: 首先,计算出每个点的M(i)值,就是流入下界和-流出下界和,如果M(i)小于0,就从i向T连-M(i)的边,如果M(i)大于0,就从S向i连M(i)的 阅读全文
posted @ 2016-04-08 14:36 漫步者。!~ 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目1 CodeForces 605 A 题目大意:给定一个长度为n的序列,每次可以把一个数放到开头或者最后,求升序排好的最小次数。 求出原序列位置的最长上升子序列,用n减去最大的。我们只要保证相对大小不变就可以了。 Code: 1 #include <cstdio> 2 #include <ios 阅读全文
posted @ 2016-04-03 19:41 漫步者。!~ 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 个人理解: 每个新的线段树的一个结点保存的是1...位置 i中的数字在相应的区间上有几个。 然后我们用r-(l-1)得到的就是l...r上的中字在相应的区间中出现了几个。 题目1 POJ2104 题目大意:静态查询区间第K小值。 裸的可持久化线段树。 1 #include <cstdlib> 2 # 阅读全文
posted @ 2016-04-03 14:00 漫步者。!~ 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 更。 阅读全文
posted @ 2016-04-03 07:53 漫步者。!~ 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目1 POJ2987 题目大意: 一个公司要裁员,每个成员都有自己的效益值,可正可负,而且每个人都有自己的直接下属,如果某个人被裁员,那么他的直接下属,他的下属的下属。。。。都会离开这家公司。 现在请你确定裁员的方案,求最小裁员人数和公司的最大收益。 算法讨论: 选了一个点,其后继都必须要选,这是 阅读全文
posted @ 2016-04-03 07:28 漫步者。!~ 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数。这是回文自动机的定义考查题。 1 #include <cstdlib> 2 #include <cstdio> 3 #include <cstring> 4 #include <algo 阅读全文
posted @ 2016-03-29 17:00 漫步者。!~ 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 算法讨论: 1、可以用最大流做,最大流等于最小割。 2、可以把这个图转化其对偶图,然后在对偶图上跑最短路即可。 一个平面图的最小割等价于其对偶图从S到T的最短路。并不是所有的图都有对偶 阅读全文
posted @ 2016-03-22 18:55 漫步者。!~ 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 题目1 COGS 很强的乘法问题 高精度乘法用FFT加速 题目2 BZOJ4259 残缺的字符串 算法讨论:(摘自Claris的博客,写得很清楚,我就是看这个才会做的) 注意:如果开第二个字符串的倍长的话,FFT会超时。还要注意统计答案的区间是什么。不要错了。 题目3 BZOJ 万径人踪灭 算法讨论 阅读全文
posted @ 2016-03-21 21:32 漫步者。!~ 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2243 算法讨论: 树链剖分把树放到线段树上。然后线段树的每个节点要维护的东西有左端点的颜色,右端点的颜色,以及是否被改变过颜色,和颜色段数。 向上合并的过程中,要注意如果左孩子的右端点和右孩 阅读全文
posted @ 2016-03-18 16:31 漫步者。!~ 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目1 BZOJ2453 / 2120 算法讨论: 用pre[i]表示与第i个位置颜色相同的上个位置在哪里,那么对于l...r内,如果一个位置的pre[i] < l,则说明这个颜色是第一次出现。 然后暴力分块。因为修改的次数很少,所以每次修改就重新计算pre[i],对于涉及的块重新构块。然后对于整块 阅读全文
posted @ 2016-03-18 14:26 漫步者。!~ 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 连边方式见图。 阅读全文
posted @ 2016-03-16 20:20 漫步者。!~ 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目1 BZOJ1455 罗马游戏 可并堆 + 并查集维护,是个可并堆的裸题。 题目2 BZOJ 4003 [JLOI2015]攻占城池 带标记的可并堆,注意的一个问题就是在KILL完根结点之后,把没有KILL掉的点再PUSHDOWN一下。否则你会WA死的。 题目3 BZOJ 2809 APIO d 阅读全文
posted @ 2016-03-16 10:10 漫步者。!~ 阅读(334) 评论(0) 推荐(0) 编辑