摘要: 题面 题意 题目中给出两个数组 \(A[]\) 和 \(B[]\) ,你拥有一个存货数量,在第 \(i\) 天的上午会加上 \(A_i\) ,下午你可以选择减少 \(B_i\) 的存货来满足一个顾客的要求。问 \(n\) 天内你最多能满足多少顾客。 做法 我们先尽可能满足所有我们遇到的顾客,并且使用 阅读全文
posted @ 2020-08-16 17:21 Macesuted 阅读(68) 评论(0) 推荐(0) 编辑
摘要: CF319D 这么棒的题居然没有人写。 很类似的题:P1117(也是黑色的)(和我写的这道题的的博客) 题意分析 题目意思是告诉我们一个字符串,然后让我们从短到长依次缩短相邻且相同的字符串(例如abcabc变为abc)。 我们枚举缩短的字符串的长度$len$,然后判断有没有长度为$2 * len$的 阅读全文
posted @ 2020-07-21 20:03 Macesuted 阅读(70) 评论(0) 推荐(0) 编辑
摘要: P1117 跟这道题很像:CF319D(这也是黑色的) 分析 这是一道后缀SA+ST的题目,但是众所周知字符串哈希是一种异常优秀的算法,所以我们使用字符串哈希解决这一道问题。在这道题中字符串哈希相比于SA的方法虽然慢了一个$O(logn)$,但是依旧在复杂度可承受范围内。 在这道题中我们需要求出拆分 阅读全文
posted @ 2020-07-21 19:47 Macesuted 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 题面 题意分析 题目中会给出n个点,每个点都有一个父亲,这样形成一个图,让你在某一处(可以在点上,也可以在边上)安置一个快餐店使得整张图上离它最远的点最近。 很容易想到在题目最后至少有两个点离快餐店的距离相同,因为如果不相同,快餐店可以朝较远点的方向移动一段距离,最后答案更优。而由于快餐店离这两个点 阅读全文
posted @ 2020-06-13 14:01 Macesuted 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题面 题意 这道题的大致意思就是,在一个以0号节点为根的树上,我需要在k个结点修建伐木场。然后对于每一个点,它对答案的贡献是他木头产量乘上它离下游最近伐木场的距离。让你合理分配伐木场安置距离以使得贡献最小。 分析 其实很容易就会想到用$f_{i,j}$来表示在i号点为根的子树上修建j个伐木场所得的最 阅读全文
posted @ 2020-06-12 06:43 Macesuted 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题面 题意 大致就是你有若干种货币,每种货币都有各自的价格,并且每种货币都有一定的数量。现在有若干物品,每种物品都有自己的价格,现在问你对于每一种物品的价格能否直接用已有的货币凑出。 分析 由于物品数量 \(m\) 最大可达 $105$,对于每个物品进行方案的枚举肯定是不可行的。又看到 \(n\) 阅读全文
posted @ 2020-05-27 20:01 Macesuted 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题面 黑色大模拟一题,身为大模拟爱好者的我当然要A掉它并且写一篇题解。 刚进来的同学切勿被黑色的难度给吓出去 切入正题 题意 题目中给出了一种很像象棋的棋叫做鸭棋的,具体告诉了你鸭棋的玩法。然后题目告诉你红蓝双方在棋盘上对弈的操作情况,让你模拟棋局,输出一些题目中需要的信息。 总的来说,一共有七种棋 阅读全文
posted @ 2020-05-13 20:31 Macesuted 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题面 题目大意 给定一张$n*m$的地图,包含有一个起点及一个终点,询问从起点到终点的最优路线。 其中人物的运动方法有两种,第一可以用正常的走法,可以向八个方向移动一格;第二可以用瞬移,我们使用一次瞬移技能就可以向四个方向移动$d$格。 分析阻挡人物运动的因素,第一就是人物不能超出地图边界(如果你的 阅读全文
posted @ 2020-05-08 15:17 Macesuted 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 题面 分析 对于题面我们很容易发现,我们可以将n个数分成若干个长度相同的环。 通过样例我们就可以发现,对于每个环,我会把最大的数都放在里面,我会在最大的边上放次大的和更次大的。 如果你无法理解,我们看样例解释 样例1中给出的是1 2 3 4 5 6这几个数 k=1 我们的方案是${3,1,2,4,6 阅读全文
posted @ 2020-03-08 09:42 Macesuted 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题面 题目 大意就是给定一个序列,对其进行两个操作,交换相邻的两个数,或者对全序列进行一遍冒泡排序。 分析 观察题面可以发现 当ti=1时我们需要交换相邻的两个数 当ti=2时我们需要对全序列进行冒泡排序 由于数据量极大,显然暴力的模拟一定不行 我们记录第i位数前面比它大的数的数量为$before[ 阅读全文
posted @ 2020-03-08 09:08 Macesuted 阅读(142) 评论(0) 推荐(0) 编辑