摘要: 题目描述 大战将至, 美国决定实行计划经济。美国西部总共有 N 个城市,编号 为 0 ∼ N − 1,以及 M 条道路,道路是单向的。其中城市 0 是一个大城 市,里面住着 K 个人,而城市 N − 1 是一个农业城市。现在所有城市 0 的 居民都需要到城市 N − 1 去领取食物。由于担心体力不支 阅读全文
posted @ 2019-01-05 20:07 comld 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 题目描述 N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 题解 对于一个截止时间来说,越晚的变越好。 所以我们可以维护一颗以边的序号为关键字的最大生成树,然后用主席树维护一下。 询问直接在R的主席树里查就可以了。 代码 阅读全文
posted @ 2019-01-05 19:13 comld 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题目描述 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行或(c++,c的|,pascal 的or)操作。选择数字i的概率是p[i]。保证0<=p[i]<=1,Σp[i]=1问期望多少秒后,你手上的数字变成2^n-1。 题解 MIN-MAX容斥 大概就是这么 阅读全文
posted @ 2019-01-04 20:15 comld 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 最大值最小,一眼二分没的说。 然后考虑建出这么个图,每行看做一个点,每列看做一个点,每个点看做一条连接行与列的边,源点向每行连s-mid__s+mid的边,行与列连L__R的边,列到汇连s-mid__s+mid的边。 然后判断是否有有源汇可行流。 建图时要让边权先减去下界! 代码 阅读全文
posted @ 2019-01-03 21:53 comld 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目描述 https://www.luogu.org/problemnew/show/P4553 题解 思路比较显然,把图建出来,一个国家拆成两个点,中间设置上下界,然后跑费用流。 我把源那边的流量也设置了上下界,但是题解没有,为什么我按照题解的建图方法会WA? 代码 阅读全文
posted @ 2019-01-02 08:12 comld 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目描述 某校开展了同学们喜闻乐见的阳光长跑活动。为了能“为祖国健康工作五十年”,同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动。一时间操场上熙熙攘攘,摩肩接踵,盛况空前。 为了让同学们更好地监督自己,学校推行了刷卡机制。 学校中有n个地点,用1到n的整数表示,每个地点设有若 阅读全文
posted @ 2019-01-02 07:18 comld 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 题目描述 https://www.lydsy.com/JudgeOnline/problem.php?id=3160 题解 先把问题转化一下,我们要求的是非连续对称回文子序列。 ans=回文子序列数-回文子串数。 回文子串数可以用PAM或manachar求出来。 复习了一下PAM,用它求回文子串数和 阅读全文
posted @ 2019-01-01 19:50 comld 阅读(196) 评论(0) 推荐(1) 编辑
摘要: 题目描述 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 题解 做法很自然,建出后缀自动机,维护每个节点的right集合,对于询问直接在sam上跑就好了。 然后它是在线的,得用LCT维护。 然后细节极多,首先必须维护 阅读全文
posted @ 2018-12-31 20:16 comld 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在X星球上有N个国家,每个国家占据着X星球的一座城市。由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的。 X星球上战乱频发,如果A国打败了B国,那么B国将永远从这个星球消失,而B国的国土也将归A国管辖。A国国王为了加强统治,会在A国和B国之间修建一条公路,即选择原A国的某个 阅读全文
posted @ 2018-12-29 07:24 comld 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目描述 黑暗之主的蜈蚣几乎可以毁灭一切,因此小正方形陷入了苦战…… 小正方形现在需要减弱黑暗之主的攻击。 一个黑暗之主的攻击可以用一个仅有小写字母的字符串表示。 现在黑暗之主向小正方形发动了若干攻击,对于两个攻击,小正方形能选出它们最长的公共子串,并把这一段消除。 现在小正方形想要知道,对于任意两 阅读全文
posted @ 2018-12-28 10:43 comld 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数。例如S={1,1,1,4,13}, 1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = 4+1 6 = 4+1+1 7 = 4+1+1+1 8无法表示为集合S的子集的和,故集合S的神秘数为8。 现给定n 阅读全文
posted @ 2018-12-28 07:20 comld 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述 小Y家里有一个大森林,里面有n棵树,编号从1到n。一开始这些树都只是树苗,只有一个节点,标号为1。这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力。 小Y掌握了一种魔法,能让第l棵树到第r棵树的生长节点长出一个子节点。同时她还能修改第l棵树到第r棵树的生长节点。她 阅读全文
posted @ 2018-12-27 20:05 comld 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 我们可以先对trie树建出广义SAM,然后维护一下right集合大小(注意right集合在广义SAM上的维护方式)。 然后把匹配穿往广义SAM上匹配,假设现在匹配到了x节点,那么x的所有祖先后可以被匹配上,那么一个节点的贡献即为r[x]*(l[x]-l[fa[x]])。 维护这玩意的 阅读全文
posted @ 2018-12-27 11:55 comld 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目描述 奶酪店里最近出现了m只老鼠!它们的目标就是把生产出来的所有奶酪都吃掉。奶酪店中一天会生产n块奶酪,其中第i块的大小为pi,会在第ri秒被生产出来,并且必须在第di秒之前将它吃掉。第j只老鼠吃奶酪的速度为sj,因此如果它单独吃完第i快奶酪所需的时间为pi/sj。老鼠们吃奶酪的习惯很独特,具体 阅读全文
posted @ 2018-12-27 08:05 comld 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目描述 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生。最近,小X就因为航空管制,连续两次在机场被延误超过了两小时。对此,小X表示很不满意。 在这次来烟台的路上,小X不幸又一次碰上了航空管制。于是小X开始思考关于航空管制的问题。 假设目前被延误航班共有n个,编号为1至n。机 阅读全文
posted @ 2018-12-26 21:06 comld 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个1-n的排列,有一堆询问区间,定义一个好的区间为它的值域区间长度等于它的区间长度,求包这个询问区间的最小好的区间。 题解 做法太神了,根本想不到。 %%%i207m。 结论:当一个区间中相邻的数的对数等于区间长度-1,那么这个区间是好的区间,证明:*%%%%……*%%¥。 所以我们可 阅读全文
posted @ 2018-12-26 17:33 comld 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目描述 阿米巴是小强的好朋友。 在小强眼中,阿米巴是一个作文成绩很高的文艺青年。为了获取考试作文的真谛,小强向阿米巴求教。阿米巴给小强展示了几篇作文,小强觉得这些文章怎么看怎么觉得熟悉,仿佛是某些范文拼拼凑凑而成的。小强不禁向阿米巴投去了疑惑的眼光,却发现阿米巴露出了一个狡黠的微笑。 为了有说服力 阅读全文
posted @ 2018-12-26 14:37 comld 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 貌似只有回文树的解法。 回文树 一种自动机,可以识别所有的回文串。 性质:一个串中本质不同的回文串最多有n个。 和其他自动机一样,它记录了一个ch数组,一个fail数组,fail数组在这里的指向是这个串的最长回文后缀。 在回文树中,每个节点都存了一个回文串,为了区分奇数串和偶数串,1 阅读全文
posted @ 2018-12-25 15:06 comld 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 半平面交的具体过程原理再次不再过多赘述,只是整理一些细节。 1、设置边界,为了防止边界出锅,我们需要框一个大框,具体长这样。 2、把每条线段构造出来,然后用atan2算出线段与x轴的夹角。 3、将所有线段按照夹角排序,如果夹角相等就看哪条线段更靠里,这个可以用叉积算。 4、这个非常关键,如果有平行的 阅读全文
posted @ 2018-12-24 20:50 comld 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 唉,还是码力不行,写了一个多小时发现想错了又重构了一个多小时。 这道题意图很显然,动态维护联通块,有一个经典做法就是用LCT维护按照删除时间维护的最大生成树。 网上还有一种神奇的做法,线段树套并查集,蒟蒻表示不懂。。 这道题可以利用并查集操作可以撤销这种性质来做。 线段树分治 线段树 阅读全文
posted @ 2018-12-23 19:40 comld 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在人类的神经系统中,每个信号都可以用?1或+1来表示。这些信号组合起来最后形成 了喜怒哀乐,酸甜苦辣,红黄绿蓝等各种各样的复杂信息。纳米探测科技的突破让生物学家 可以测量大脑中特定区域的完整逻辑功能。然而超大数据的处理一直是令 H 教授头疼的问 题。 假设一个逻辑单元接受N个信号输入,并产 阅读全文
posted @ 2018-12-23 15:13 comld 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给一个小写字母字符串 S ,q 次询问每次给出 l,r ,求 s[l..r] 的 Border 。 Border: 对于给定的串 s ,最大的 i 使得 s[1..i] = s[|s|-i+1..|s|], |s| 为 s 的长度。 题解 这题的描述很短,给人一种很可做的假象。 暴力1:每 阅读全文
posted @ 2018-12-22 20:17 comld 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一张无向图,求一条1-n的路径,是路径边权的异或和最小。 题解 这道题的思路很妙,首先我们可以随便找出一条从1到n的路径来,然后我们可以选一些环。 其实不管这个环和这条路径有怎样的关系,我们都是可以直接选的。 比如说选了一个和这个路径没有交的环,等价于从1走到了这个环然后走了一圈又走回到 阅读全文
posted @ 2018-12-22 11:32 comld 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一棵树,求一条长度在L到R的一条路径,使得边权的平均值最大。 题解 树上路径最优化问题,不难想到点分治。 如果没有长度限制,我们可以套上01分数规划的模型,让所有边权减去mid,求一条路径长度非负。 现在考虑有L和R的限制,就是我们在拼接两条路径的时候,每条路径能够匹配的是按深度排序后 阅读全文
posted @ 2018-12-22 10:02 comld 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 这只是个人小结,没啥大意义。 后缀数组 其实就是通过把字符串的所有后缀排序来实现一些东西。 后缀排序可以用倍增+双关键字来实现。 然后排完之后可以求出height数组,然后就可以用RMQ求LCA了。 后缀自动机 各种复杂度都是线性的,非常优秀。 原理:把具有相同right集合的状态缩成一个点,这个点 阅读全文
posted @ 2018-12-21 21:51 comld 阅读(335) 评论(1) 推荐(1) 编辑
摘要: 最大流 dinic算法:每次增广出长度一样的若干条路径,用朴素的bfs和dfs实现。 费用流 EK算法:每次找出一条费用最小的流量跑走,这样可以保证最后一定是最大流且此时费用最小。 zkw费用流:不会,留坑代填。 最小割:给定一张图,问使源点和汇点不连通的最小代价,可以证明这是最大流。 最小割树:一 阅读全文
posted @ 2018-12-21 14:53 comld 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目描述 火星上的一条商业街里按照商店的编号1,2 ,…,n ,依次排列着n个商店。商店里出售的琳琅满目的商品中,每种商品都用一个非负整数val来标价。每个商店每天都有可能进一些新商品,其标价可能与已有商品相同。 火星人在这条商业街购物时,通常会逛这条商业街某一段路上的所有商店,譬如说商店编号在区间 阅读全文
posted @ 2018-12-19 23:03 comld 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题目描述 李哲非常非常喜欢柠檬树,特别是在静静的夜晚,当天空中有一弯明月温柔 地照亮地面上的景物时,他必会悠闲地坐在他亲手植下的那棵柠檬树旁,独自思 索着人生的哲理。 李哲是一个喜爱思考的孩子,当他看到在月光的照射下柠檬树投在地面上的 影子是如此的清晰,马上想到了一个问题:树影的面积是多大呢? 李哲 阅读全文
posted @ 2018-12-19 17:39 comld 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 今年的APIO好邪啊。 T1铁人两项 题目大意 给一个无向图,问有多少三元组(三个元素两两不同)使得它们构成一条简单路径 。 题解 无向图这种东西不好直接处理,考虑点双缩点建圆方树。 然后就出现了一个比较神的做法,把方点点权设为点双大小,圆点点权设为-1,那么我们枚举三元组中的起点和终点,那么这条路 阅读全文
posted @ 2018-12-19 12:03 comld 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 题面太鬼畜不粘了。 题意就是给一张n*m的网格图,每个点有点权,有k个关键点,让你把这k个关键点连成一个联通快的最小代价。 题解 这题nmk都非常小,解法肯定是状压,比较一般的解法插头dp,但不太好写。 但其实这道题是裸的斯坦纳树模型。 斯坦纳树是最小生成树的变形,在一般情况下是NP问题,但在k规模 阅读全文
posted @ 2018-12-16 19:22 comld 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 拉格朗日插值 构造原理:当x=xk时A(xk)=yk; 快速傅里叶变换 复数与复平面 为了将数域扩大,引入虚数,详情请见数学选修2-2。 欧拉公式 这个公式在FFT中会用到。 多项式:n次多项式,->最高次为n-1,n个点可以确定唯一的n次多项式。 多项式求值:秦九韶算法,O(n)的时间求出多项式的 阅读全文
posted @ 2018-12-14 22:44 comld 阅读(377) 评论(0) 推荐(0) 编辑
摘要: link-cut-tree 是一种维护森林的数据结构,可以在log的时间内完成修改、查询链上信息等操作 。 实链剖分 我们知道,树链剖分通过划分轻重链,保证了一个点到根最多有log跳轻链和log条重链从而保证复杂度为log。 而LCT通过把每条边划分成实边和虚边,把整棵树拆成若干部分,每部分在原树中 阅读全文
posted @ 2018-12-14 20:17 comld 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目描述 强强和萌萌是一对好朋友。有一天他们在外面闲逛,突然看到前方有一棵紫荆树。这已经是紫荆花飞舞的季节了,无数的花瓣以肉眼可见的速度从紫荆树上长了出来。仔细看看的话,这个大树实际上是一个带权树。每个时刻它会长出一个新的叶子节点。每个节点上有一个可爱的小精灵,新长出的节点上也会同时出现一个新的小精 阅读全文
posted @ 2018-12-01 19:47 comld 阅读(230) 评论(0) 推荐(0) 编辑
摘要: Access Globe 最近正在玩一款战略游戏。在游戏中,他操控的角色是一名C 国士 兵。他的任务就是服从指挥官的指令参加战斗,并在战斗中取胜。 C 国即将向D 国发动一场秘密袭击。作战计划是这样的:选择D 国的s 个城市, 派出C 国战绩最高的s 个士兵分别秘密潜入这些城市。每个城市都有一个危险 阅读全文
posted @ 2018-11-24 17:43 comld 阅读(278) 评论(0) 推荐(0) 编辑
摘要: DAY-2 上午准备走了,机房里充满了快乐的气氛。 做了一套XZY出的题,三道题都只会暴力,感觉要凉。 中午老R请食堂(迷)。 火车上和Luan和gyx一排,gyx写游记,Luan在切大神题,感觉自己好菜啊。。 然后gyx和Luan去理发。 其他人绕了一大圈到了火锅店,人贼少,我们坐二楼。 等了mq 阅读全文
posted @ 2018-11-21 14:01 comld 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 有n个岛屿, m座桥,每座桥连通两座岛屿,桥上会有一些敌人,玩家只有消灭了桥上的敌人才能通过,与此同时桥上的敌人会对玩家造成一定伤害。而且会有一个大Boss镇守一座桥,以玩家目前的能力,是不可能通过的。而Boss是邪恶的, Boss会镇守某一座使得玩家受到最多的伤害才能从岛屿1到达岛屿n(当然玩家会 阅读全文
posted @ 2018-11-06 15:32 comld 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 树是一种很常见的数据结构。 我们把N个点,N-1条边的连通无向图称为树。 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树。 对于两个树T1和T2,如果能够把树T1的所有点重新标号,使得树T1和树T2完全相 同,那么这两个树是同构的。也就是说,它们具有相同的形态。 现在,给 阅读全文
posted @ 2018-11-02 21:24 comld 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题意,给定n,k,求有多少排列是的 | p[i]-i |=1 的数量为k。 Solution 直接dp会有很大的后效性。 所以我们考虑固定k个数字使得它们是合法的,所以我们设dp[i][j][0/1][0/1]表示前i个数,填了j个数,当前位置有没有被选,下一位有没有被选,这样做的话,转移会比较简单 阅读全文
posted @ 2018-11-02 16:15 comld 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 有一类关于区间最大值和最小值之类的问题,利用单调性,可以采用分治算法解决。 SPOJ22343 Norma 题意,给定一个数列,定义区间的代价为区间最大值、区间最小值、区间长度的乘积,求所有区间的代价和。 既然是分治,我们肯定要处理一个数列跨过中点的答案。 假设当前数列的中点为mid,我们从mid往 阅读全文
posted @ 2018-10-31 08:55 comld 阅读(171) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-30 16:38 comld 阅读(1) 评论(0) 推荐(0) 编辑