不来也不去的一只失忆蝴蝶

曾迷途才怕追不上满街赶路人

[UOJ#84]水题走四方

题目大意一颗树,两个人初始从根节点出发,每一步每个人可以选择原地不动或者走向某个儿子。一步后,一个人可以瞬移到另一个人所在节点上。 最少需要多少步,使得每个节点都被遍历过?做法我们可以认为存在一个本体以及一个分身,每次都是分身瞬移到本体的位置。 如果本体A和分身B在节点C分道扬镳,本体A在D节...

2018-04-12 11:32:02

阅读数:108

评论数:0

[bzoj3716]Muzeum

题目大意 商场是一个平面直角坐标系。 lihua想要来偷珠宝,一共有nnn个珠宝,分布在不同的位置,第iii个珠宝在(axi,ayi)(axi,ayi)(ax_i,ay_i)有价值为aviaviav_i。 但是有mmm个保安,第iii个保安在(bxi,byi)(bxi,byi)(bx_i,b...

2018-03-26 22:41:45

阅读数:79

评论数:0

[Neerc2013]Dictionary

题目大意 给你n个长度不超过10的小写字母字符串。 请你构造一颗节点数最少的字典树。 使得对于任意一个人给定字符串,字典树中都存在一条祖先后代链对应的字符串与其相等。 做法 首先显然,如果字符串a包含字符串b,可以直接剔除字符串b。 我们考虑最优解,一定是按照某个顺序添加字符串进入...

2018-03-26 11:39:45

阅读数:42

评论数:0

[SRM554-500]TheBrickTowerMediumDivOne

题目大意给你一个序列a,定义一个排列b的价值为∑n−1i=1max(bi,bi+1)\sum_{i=1}^{n-1}max(b_i,b_{i+1})。 请你给出一个价值最小的排列,使得其字典序最小。贪心首先,不会出现相邻三个组成了高峰。 否则我们将最高和次高交换,使得价值变得更优。 容易发现...

2018-02-28 10:25:28

阅读数:118

评论数:0

[agc014c]Closed Rooms

题目大意一个网格图,从一个起点出发。 有些格子上锁。 每一轮你都可以不断往一个已解锁的四相邻格子走,最多走k次,走完后你可以选择至多k个未解锁的格子,将它们解锁。 求最少多少轮,你能走到一个边界格子。做法发现走的次数和可以解锁的次数相等。 因此第一轮走完,以后都不会撞锁。 bfs求出第一...

2017-11-16 11:28:56

阅读数:156

评论数:0

[arc080f]Prime Flip

题目大意有无穷个硬币,初始有n个正面向上,其余均正面向下。 你每次可以选择一个奇质数p,并将连续p个硬币都翻转。 问最小操作次数使得所有硬币均正面向下。做法不妨考虑差分。差分后1的数量一定为偶数。 然后一次操作[l,r]会翻转两端l-1与r。 现在问题变成两两配对使得操作次数尽量少。 有...

2017-11-03 08:38:50

阅读数:298

评论数:0

[arc080e]Young Maids

题目大意一个长度为偶数的排列p,每次取出相邻两个数并从p中删除,然后将这两个数按顺序加入q的开头(q初始为空)。 问能得到最小字典序的q。做法在堆中保存若干个区间(l,r),以及从中选出最小的和l奇偶性相同的位置u,以及在这个位置之后最小的和r奇偶性相同的位置v。记作(l,r,u,v)。 然后...

2017-11-03 08:30:46

阅读数:318

评论数:0

[agc006d]Median Pyramid Hard

前言一道见过的题。题目大意一个长度为奇数的排列,令b[i]=median(a[i],a[i+1],a[i+2])。 median表示中位数。 不断执行上述变化序列最终变成1个数,它是什么?做法二分后变成01序列,考虑最终什么时候会是0。 我们发现相邻两个是同一个数字,这两列都是柱子,即从下到...

2017-11-01 14:51:45

阅读数:162

评论数:0

[agc005e]Sugigma: The Showdown

前言要知道怎么判-1,接下来就好办许多了。题目大意一个有红边和蓝边的图,只保留红边或蓝边都是一颗树。 现在A和B初始都在一个点上,轮流进行,A先操作。 A每次可以不动或沿着相邻的红边走到另一节点。 B类似,但只能走蓝边。 A和B相遇游戏结束。 A要最大化游戏时间,B要最小化游戏时间,若A...

2017-10-31 10:46:38

阅读数:339

评论数:0

[agc004f]Namori

前言这题好牛逼啊。题目大意给你一颗全白的树或环套树。 你每次可以选择一条连接两个同色点的边,将两个端点反色。 问变成全黑的最小步数,要求判断无解。树的做法树是一个二分图,看起来很棒的样子。 我们不妨设深度为奇数(根的深度为1)的点是一个空位,而深度为偶数的点有一个硬币。 我们发现,一次操作...

2017-10-30 15:26:34

阅读数:280

评论数:0

[agc004d]Teleporter

前言贪心题,我一开始想错了,最终算法其实很简单。题目大意n个点形成环套树,改变最少数量的点的出边,使得任意点出发走k步能走到1。 初始满足任意点能走到1。做法显然1一定要自环。 然后可以贪心了,自下往上做,满k要断出边。 详见代码。#include<cstdio> #includ...

2017-10-30 14:53:58

阅读数:203

评论数:0

[agc003d]Anticube

前言简单贪心,最难的部分居然是分解质因数。题目大意从一个10^10的数列里选出最多的数,使两两乘积不为立方数。做法把每个数最简表示,即每个质因数的指数都模3。 还要求出这个最简数的补数,也就是满足最简的与其乘积为立方数的数。 对于数列中一个数集团和它的补数集团,贪心的选择较大的那个。 如果一...

2017-10-27 10:04:50

阅读数:352

评论数:0

[agc008d]K-th K

前言简单构造,一开始看错题瞎写了一发。题目大意给了一个长度为n的序列x。 请构造一个长度为n*n的序列a,只包含1~n这n个元素,每个元素出现n次,且对于元素i,a的第xi个位置是元素i,且前xi个位置恰好有i个i。构造显然可以正反各贪心一遍,不懂就看程序,正确性显然。 瞎填以后还可以n^3验...

2017-10-19 17:15:16

阅读数:183

评论数:0

[agc009d]Uninity

前言我居然一开始觉得点分治最优秀。题目大意类似点分治过程,只不过分治中心任意选择。 求点分树最小深度。做法首先直接点分治深度不超过log,所以答案上界是log。 假设我们给每个点一个标号表示它在点分树的深度。 那么我们发现,对于两个标号同为k的点,它们的路径上一定存在一个点的标号大于k。 ...

2017-10-18 21:48:33

阅读数:436

评论数:0

[agc009b]Tournament

前言简单题。题目大意若干轮比赛,每个人在某一轮可以参赛,和另外一个人pk,输的人淘汰。 最后1是冠军,已知其余每个人输给了谁,请问最少设置多少轮比赛?做法你显然可以根据每个人输给了谁建一颗树,然后处理f[x]表示x淘汰所有输给他的人所需要的最小轮数。 转移很简单,根据儿子的f排序,然后详见代码...

2017-10-17 22:12:40

阅读数:174

评论数:0

[agc010e]Rearranging

前言想到了相对顺序和连图。 想到了多个合并。 似乎没想到按照大小连出拓扑图,导致不知道怎么样才是最小不可操作的。题目大意一个长度为n的序列。 先手可以任意打乱,然后后手可以执行若干次以下操作:交换两个相邻且互质的数。 先手希望字典序最小,后手希望字典序最大,最后序列会变成啥样?做法容易发现...

2017-10-17 17:31:24

阅读数:244

评论数:0

[agc010c]Cleaning

前言这是一个与经典性质有关的题。题意一颗点权的树。 每次操作你可以选择两个不同的叶子(度数为1的点),满足其间路径任意点点权不为0,然后把这些点点权-1。 是否能通过任意次操作使得所有点点权为0?做法首先判掉n=2那么一定可以找到度数>1的做根。 我们假如把操作这样描述: 一颗点权边...

2017-10-14 09:05:40

阅读数:172

评论数:0

[agc019f]Yes or No

前言一道数形结合的题目。 发现本质则十分简单(考虑分数相加则麻烦无比)。题意n+m个询问,有n个询问的答案是Yes,其余m个是No。 你依次回答这些询问,每个询问给出Yes或No,给出后告诉你答对了没有。 求最优策略下你期望答对的询问个数。解法不妨令n>=m。 最优策略,选择剩余多的...

2017-10-12 16:44:05

阅读数:269

评论数:0

[agc019d]Shift and Flip

前言这是一个简单题但是我细节一开始没想清楚?题目大意两个01字符串a和b,你可以把a左旋、右旋。 还有一种翻转操作,如果bi=1那么你可以把ai取反。 问a变成b最少操作次数。做法先判断无解,当b中有1时一定有解,全0时如果a不是全0就会GG。 然后看看怎么算答案。 先对每个位置预处理至少...

2017-10-10 21:40:23

阅读数:349

评论数:0

[agc019c]Fountain Walk

前言这是一道比较简单的题。 但是我没想好答案增大的情况,所以我一开始觉得细节讨论有点麻烦。。题目大意不想说,看网站做法先通过一系列翻转交换等满足x1<=x2,y1<=y2。 我们注意经过温泉有减少答案(走1/4圆) 和增加答案(走1/2圆)两种。 我们不希望增加答案,希望尽量减...

2017-10-10 21:33:58

阅读数:289

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭