摘要:
给你一个数组,以及 k 个大小关系,然后要你找到一个最长的子序列,使得它相邻的两个数依次满足 k 个大小关系(跑完 k 个就回到一开始继续) 阅读全文
摘要:
给你一个长度为 n 的环,你每次操作可以把一个位置加上它两边的值。
然后给你初始状态和目标状态,问你至少要多少次操作才能实现,或者输出无法实现。 阅读全文
摘要:
给你一个 3*n 的字符串,分别有 n 个 R,G,B 字符。
然后你可以把一个 R,G,B 组成一组,费用是它们的最长距离差。
然后你要把字符串弄成 n 组,每个字符都被选到过,然后要他们的费用和最小。
问你有多少种弄的方案满足费用和最小。 阅读全文
摘要:
要你 O(1) 求两个数的 gcd,其中值域是 1~1e6。 阅读全文
摘要:
给你一棵树,其中 1 是根,然后给你每个点的 access 次数,要你规划一个 access 的顺序,使得轻重链的切换次数最大。
然后要支持修改,修改会增加一个点的 access 次数。 阅读全文
摘要:
给你一个无向图,边有贡献,然后你有一个油量,每走一条边油量减一,然后总贡献加上边的贡献。
然后你的油量不能是负数,你可以在一些地方加油,你有油量上限,每个地方也有能加到的油量,你的油量会变成这两个的最小值,然后每个地方加油也有对于的费用。
然后多次询问,每次告诉你出发点,要的总贡献和有的钱,然后问你要至少要有那么多的总贡献,最多能省下多少钱。
(如果用所有钱都没有那么多贡献就输出 -1) 阅读全文
摘要:
给你 n 个数,每次你可以选择删去最大的数,或者使所有非 0 数减一。
然后谁操作之后只剩 0 或者没有数,就输了。
然后问你先手还是后手必胜。 阅读全文
摘要:
给你一个数组,问你有多少个区间,使得它们的和减去它们的最大值是 k 的倍数。 阅读全文
摘要:
给你一棵树,i 的父亲是 i/k 下取整。
然后要一个点的权值大于等于它子树内每个点的权值。
然后给你 n 个数,要你分给 n 个点作为权值。
然后要你在合法的情况下,使得分出来的序列字典序最大。 阅读全文
摘要:
给你一个数组,然后要你支持一些操作:
给一个位置加值或者减值,询问最优的位置,让一段区间里面的位置都不能是最优位置,或让一段区间里面的位置可以是最优位置。
最优位置是可以作为最优位置的位置中,费用最小的。
定义一个位置的费用是每个位置到它的距离乘上每个位置的权值。 阅读全文
摘要:
要你实现一些操作:
在末尾加字符或删字符,记录当前的字符串。
将记录的第 i 个字符串的第 j 个字符设为不可匹配字符,即它不可以与任何字符匹配,两个不可匹配字符和不可以匹配。(如果这个位置原来就是,就改回之前的字符)
求两个记录下来的字符串的最长公共前缀。 阅读全文
摘要:
给你一棵树,然后你要找两条无相交边的路径,使得删去这两个路径的点和它相邻的边之后,这个树被分成尽可能多的连通块。 阅读全文
摘要:
给你一个基环树。
然后你可以在环上选一个边删掉,然后使它变成树。
一棵树的贡献是它里面最长路径。
然后要你求可以有的树的贡献的最大值。 阅读全文
摘要:
给你一棵树和若干条链,每个链有分数。
你可以选一些链要满足每两个链直接没有公共点。
要你最大化你选的链的分数和。 阅读全文
摘要:
给你一棵树,然后一开始都是颜色 0。
然后要维护两个操作:
修改一条链的颜色,只有三个颜色。
询问一个点所在同色连通块的大小。 阅读全文
摘要:
告诉你树的大小和一些限制条件。
限制条件要么是 a 是 b 的祖先,要么是 a 不是 b 的祖先。
然后要你构造一棵合法的树,任意一个即可,保证数据有解。 阅读全文
摘要:
给你一个数组,问你有多少个区间 [l,r] 满足 l 位置上的值乘 r 位置上的值小于等于区间中的最大值。 阅读全文
摘要:
给你一个序列,下标从 1 到 n。
然后有两类操作,要么是给出 k,l,r,x 把所有下标 %k 的值在 l~r 之间的位置都加上 x。
要么是区间求和。 阅读全文
摘要:
给你一个无向图。
多次询问,每次给你一个区间,你只能保留区间内的点,然后如果一条边连接的点中有不在的或两个点的编号差大于 K 那这个边也不存在。
所有询问的 K 相同,然后对于每个询问输出当前情况下图的连通块数。 阅读全文
摘要:
给你一个有向图,一开始之后 i 到 i+1 的有向边,保证这些边后面不会被操作。
然后有一些操作:加一条边,删去加的一条边,问你从一个点出发可以到多少个点。 阅读全文