随笔分类 -  题目来源-Codeforces

摘要:[toc] "比赛链接" CF1335E Three Blocks Palindrome 我们直接讲E2(hard version)。 设子序列用到的两个字符分别为$a$, $b$,它们的出现次数分别为$x$, $y$(这和题面中的定义是相同的)。考虑枚举$a$,枚举$x$,则可以确定左边第$x$个 阅读全文
posted @ 2020-04-14 08:56 duyiblue 阅读(503) 评论(0) 推荐(0) 编辑
摘要:比赛链接 CF1338A Powered Addition 我们知道,任何一个数,都能被唯一分解为若干个不同的$2$的次幂相加。那么,如果已知了所有操作结束后的结果序列$b$,则答案就是$\lfloor\log_2(\max_^b_i-a_i)\rfloor$。 因此,我们就是要求出一个序列$b$, 阅读全文
posted @ 2020-04-13 22:28 duyiblue 阅读(394) 评论(0) 推荐(1) 编辑
摘要:[toc] "比赛链接" CF1333D Challenges in school №41 把向左的人看做是斜向上走一个单位,向右的人看做是斜向下走一个单位,则原序列可以转化为一个折线图。如图,是序列 的折线图: 一次操作,相当于是把一段形如 的折线翻折成 。 我们的目标是要让最终的图形成为一个 单 阅读全文
posted @ 2020-04-09 15:40 duyiblue 阅读(306) 评论(1) 推荐(0) 编辑
摘要:12.03 在我心目中一直是一个特别的数字呢 QwQ "比赛链接" CF1203F1 Complete the Projects (easy version) "题目链接" 暴力做法,是直接枚举全排列。如果想要DP,则必须记录之前已经用过了哪些项目,复杂度势必大于$2^n$。故考虑挖掘题目的性质,尝 阅读全文
posted @ 2020-04-08 13:41 duyiblue 阅读(204) 评论(1) 推荐(0) 编辑
摘要:题目链接 如果$a\times b$是完全平方数,$a\times c$是完全平方数,那么$a2\times b\times c$也是完全平方数,又因为$a2$是完全平方数,所以$b\times c$也是完全平方数。也就是说,完全平方数具有传递性。据此,我们可以把给定的序列划分为若干个集合,使得同一 阅读全文
posted @ 2020-04-07 23:13 duyiblue 阅读(232) 评论(1) 推荐(0) 编辑
摘要:考虑一个没有Monotone Triples的序列具有哪些性质。 当序列长度为$3$时,一定是以下两种情况之一: $a_1a_3$。即先上升,后下降。至于$a_1,a_3$的大小关系,没有要求。 $a_1 a_2,a_2\max(a_1,a_4),\min(a_2,a_3)a_i$的位置$x$,再找 阅读全文
posted @ 2020-04-01 16:43 duyiblue 阅读(461) 评论(0) 推荐(0) 编辑
摘要:[toc] "比赛链接" CF1327D Infinite Path 首先,题目关于Infinite Path的定义,其实就是要找到排列中的一个循环圈,使得圈里的每个位置颜色相同。 对每个位置$i$,我们建一条$i\rightarrow p_i$的有向边。则每个循环圈就是图上的一个环。 考虑一次乘法 阅读全文
posted @ 2020-03-31 15:18 duyiblue 阅读(213) 评论(2) 推荐(0) 编辑
摘要:[toc] "比赛链接" CF1328D Carousel 注意,题目并没有要求同一种动物必须染相同的颜色。虽然样例的确满足这一点。 我们断言,需要的颜色数不会超过$3$。我们从$1$到$3$依次尝试,当构造成功了就直接输出答案。 要使答案为$1$,显然只有一种情况,就是整个序列只有一种动物。 要使 阅读全文
posted @ 2020-03-27 10:26 duyiblue 阅读(647) 评论(2) 推荐(1) 编辑
摘要:前言 考虑一个简单的模型。有$n$个物品,$m$个位置,第$i$物品只能放在$1\dots p_i$中的某个位置上。求有多少种方案,使得每个物品恰好匹配一个位置,每个位置上至多只有一个物品。 标题所说的“一个简单的计数技巧”,指的正是解决这个问题的方法。 我们把所有$p_i$从小到大排序。此时每个物 阅读全文
posted @ 2020-03-23 17:06 duyiblue 阅读(542) 评论(1) 推荐(0) 编辑
摘要:CF1326F2 Wise Men (Hard Version) 题目大意 有 \(n\) 个人。给出 \(n\) 个人的「认识情况」(双向且保证合法)。 对于每个长度为 \(n\) 的排列 \(p\),可以用它生成一个长度为 \(n - 1\) 的 \(01\) 串 \(s\)。其中 \(s_i\ 阅读全文
posted @ 2020-03-20 20:42 duyiblue 阅读(484) 评论(0) 推荐(0) 编辑
摘要:可以发现答案是单调不增的,于是问题可以转化为,判断大于等于某个数的值,能否全部被炸弹。从右往左看第 i 个关键点右边是否至少有 i 个炸弹即可。 阅读全文
posted @ 2020-03-20 10:10 duyiblue 阅读(953) 评论(4) 推荐(2) 编辑
摘要:CF1316E Team Building "题目链接" 如果只选 观众 ,则我们取$a_i$最大的$k$个人就好。如果只选 运动员 ,则我们可以做一个简单的状压DP:设$dp[i][mask]$表示考虑了前$i$个人,$mask\in[0,2^p)$中的这些位置已经被占,此时的最大收益。DP复杂度 阅读全文
posted @ 2020-03-19 22:26 duyiblue 阅读(217) 评论(1) 推荐(1) 编辑
摘要:感觉,是我做过最神的DP题之一了。 观察题目给出的比赛结构图。可以发现,除了最开始的那一轮胜者组比赛和最后一场决赛外,剩余的比赛构成了 两棵相同的树形结构 (而且是满二叉树)。其中,胜者组的一个节点代表 一场比赛 ,败者组的一个节点代表 两场比赛 。 让参赛队伍标号为$[0,2^n 1]$。类似于建 阅读全文
posted @ 2020-03-16 17:39 duyiblue 阅读(216) 评论(2) 推荐(0) 编辑
摘要:题解 CF700E Cool Slogans 题目链接 建出SAM及parent树。根据大家所熟知的套路,我们可以用线段树合并来维护enspos集合,这样就可以$O(\log n)\(查询线段树某个节点上的子串在原串的某个区间\)[l,r]$内出现了几次。具体做法请见 NOI2018你的名字。 引理 阅读全文
posted @ 2020-02-29 16:15 duyiblue 阅读(203) 评论(0) 推荐(0) 编辑