随笔分类 - YACS乙组月赛题解
不定期更新YACS月赛乙组题目的题解
摘要:题目链接1 题目链接2 题目链接3 题目链接4 T1 折半水题,不多说了,代码: #include <bits/stdc++.h> #define For(i, a, b) for (int i = (a); i <= (b); i ++) #define int long long using n
阅读全文
摘要:题目链接 小清新的区间 DP 题。 看到数据范围以及回文一眼盯真得到是区间 DP。 设 为区间 成为回文串最少要经过几次操作,转移一个个看。 首先可以删掉第 个, ,同理也可以删掉第 $i
阅读全文
摘要:题目链接 乙组中比较好的一道思维题。 首先考虑暴力,如果没满就倒满了就往下继续倒,直到倒完或溢出为止,但如果开始就全满然后每次都从最上面倒那么 就超时了。 我们希望找到一个数据结构(当然不是也行)能够快速得到从某个位置向下(包括当前位置)第一个没满的香槟塔,显然并查集。 初始时每个
阅读全文
摘要:题目链接 这道题是乙组里比较新奇的一题,本来一眼看下来不会,后来蒙了个按照单位时间内收到罚款排序居然对了,十分意外。 简单的证明一下:假设有两个工作,时间分别为 ,假设把第一个放在前面更优,前面的罚款不变。 则有 $t_1\times f_1+(t_1+
阅读全文
摘要:题目链接 一道诈骗题,英语课上一直在想然后想出来了( 正难则反,我们很难按照题目所说的得到最少步数,可以考虑从排好序的状态开始。 这样,每次就从首或尾中选择一个移到任意一个位置了,简单了些。 (因为我们只能移动首尾,当前移动到哪里最优貌似可以贪心) 所以下面令初始状态为有序的那个,目标状态为初始时给
阅读全文
摘要:题目链接 应大家的要求,早上起来更一下乙组 T4。 这一道题目我们发现不仅会加元素了,还会重复执行任务。 很容易想到用两个树状数组来维护每个任务的执行次数,以及每个单元格中的数字。 逆向扫一下,轮到这个操作的时候先把这个操作执行次数算一下, 然后把这个操作的贡献做执行次数次就行了。 用指针写的话可以
阅读全文
摘要:题目链接 一道结论题,代码相当的短。我们先来考虑会拼出重复的情况:那必定是第一个字符串里有一个 (其他的也行),第二个也有一个 。 那么我们就可以选择拿第一个字符串 前面的和第二个字符串 后面拼。至于两个 ,选其中一个就可以构造出两个一样的了。 需要注意的是, 如果
阅读全文
摘要:题目链接 题目最后一行的东西开始忘看了,以为是莫队。 写了不知道为啥 了还 了,后来看到了,就用 表和二分 了。 有了最后一行的条件后,固定数字在数组中的出现位置肯定是连续的。 那么我们先把连续的数字都缩一下,用这个区间的左端点和右端点来存储。 询问很简单,用二分
阅读全文
摘要:题目链接 纪念一下,两件事。 打 一年了,时间过得好快啊。 第一次 乙组。 高精板子。 进制转十进制,很简单。 小数部分第一位的数字乘上 ,第二位就乘上 ,以此类推。 加起来就是答案,可是用 来算会爆
阅读全文
摘要:题目链接 上完编程课回来的深夜,更一篇吧。 这一题一看数据范围 ,阶乘暴力打不了,就是状压。 其实我还是比较喜欢状压的,不过这几个月怎么这么多状压? 首先:设计状态 不难发现,如果想要统计客户的建议所贡献的美味值,那就需要记录上一道上的菜。 设 为上一道选的菜是 ,
阅读全文
摘要:题目链接 好久没更了,闲话一句,我的初赛成绩只有 , 才能进 ,所以就更一篇吧 首先先考虑暴力算法,枚举两个数,设这两个数为 和 , 如果 ,那就标记为 , 这种方法可以优化,怎么优化呢? 假如一
阅读全文
摘要:题目链接 太水了, 我不会(现在知道也是状压了),讲一下 。 状压DP题解 首先我们需要记住一个结论就是: 这种需要你算排列组合的但是你打 暴力过不了的,数据范围又在 以内的,多半是状压。 相似题目: 吃奶酪 先来解释一下状压
阅读全文
摘要:题目链接 错误的单调队列做法 刚看到这题我觉得是一个类单调队列做法。 先把输入的区间从左到右排序,然后把和第一个区间有交集的区间放到 里。 到第二个时就把前面不合法的删掉,后面如果有新的合法的,就把他放进去。 这样,每一轮结束时 的长度 (自己不能和自己相交
阅读全文