CodeForces 1369B. AccurateLee
摘要:题意:给出一个长度为n的01串,我们每次可以进行一次操作,选取这个01串相邻的两个字符'1','0',并且擦除其中一个,我们的目标是使得这个字符串的长度最小,如果存在两个长度相等的字符串,我们则选择其中字典序最小的。 分析:我们可以发现,我们每次只能对'10'这个子串进行操作,并且不管怎么样,擦去这
阅读全文
CodeForces 1312D.Count the Arrays(组合数学)
摘要:题意:你的任务是计算满足如下性质的数组的数量 1.每个数组包含n个元素 2.每个元素的范围是$[1, m]$ 3.对于每个数组,有一对相同的元素 4.对于每个数组,存在着一个下标i,使得左边的元素严格递增,右边的元素严格递减 分析:每个数组包含n个元素,并且有一对相同,意味着有n - 1个不同的数,
阅读全文
CodeForces 1362D. Johnny and Contribution
摘要:题意:约翰尼准备书写n个博客。一个博客覆盖一个主题,一个主题可以被多个博客覆盖。相邻的博客之间不能有相同的主题。约翰尼每次书写博客的时候,该博客的主题的编号必须是除了已经书写好的相邻博客的编号的集合中的最小非负整数。给定每个博客的主题,求按什么顺序书写,可以得到题目指定的主题编号? 分析:一种直观的
阅读全文
CodeForces 1363F. Rotating Substrings
摘要:题意:你被给予了两个字符串s和t,每个字符串的长度都是n并且是小写字母,你的目标是让s变成t。 你可以进行如下的操作多次,使得字符串s变成字符串t,选择字符串s的子串并使得它旋转,即让$s[l, l + 1...r]$变成字符串$s[r, l, l + 1...r - 1]$,其它字符保持原有的位置
阅读全文
CodeForces 1363D. Guess The Maximums
摘要:题意:通过查询构造出答案要求的密码,每次查询可以询问数组A中指定的集合的最大值,最多可以查询12次,我们要构造的密码序列,对于一个密码Pi, Pi为除了Si这个集合中索引对应的数组A中的数字的最大值,Si是k个互不独立的集合。 分析:题目中说Si是k个互不独立的集合,也就是最大值的下标最多出现在一个
阅读全文
CodeForces 1363E. Tree Shuffling
摘要:题意: 分析:看到这道题目,我们直观的感受(贪心思考),对于一个节点i,如果i的祖先节点的花费比它小,显然可以让i作为这个祖先节点的子树中的某个节点,因为我们有一个高度更高并且花费更小的节点在它之上,并且管辖它。然后,我们还要考虑不行的局面,对于0-0、1-1的类型,我们没有必要去改动它,我们只需要
阅读全文
CodeForces 1363B.Subsequence Hate
摘要:分析:一个二进制字符串,可以进行一些操作,把0改成1,把1改成0,求不包含010、101这样的子串,求最少的操作次数。 子串是不连续的,所以我们可以得出,最终的结果只有4种,我们需要枚举分界点i,然后枚举两种情况,前面全是1的,后面全是0的,还有前面全是0的,后面全是1的,我们预处理一个0和1的前缀
阅读全文
CodeForces 1363A. Odd Selection
摘要:题意:从数组a中选出x个数,并且这x个数的和等于奇数,求是否能组成奇数。 分析: 我们先统计奇数个数和偶数个数,可以看出图片里面的规律,奇数 + 奇数 = 偶数,奇数 + 偶数 = 偶数,也就是我们必须要有奇数个奇数,才能组成奇数的和,而偶数对和是没有影响的,奇数加偶数还是奇数,那么我们i 遍历1,
阅读全文
CodeForces 1358E.Are You Fired?
摘要:题意:Levian在一家大公司当会计员。Levian知道公司连续n个月的营收,第i个月的营收是ai(正数表示盈利,负数为亏损)。由于疫情的隔离,第一个$\lceil n/2 \rceil$的收入是不稳定的,但是剩下的每个月的收入都是相同的。 Levian准备告诉董事长n - k + 1个数字 每连续
阅读全文
CodeForces1358 C. Celex Update
摘要:题意:给定一张表,求从一个起点(x1, y1)出发到(x2, y2)的所有路径的和的不同数量。 分析:数学思维题。 我们先看看每条路径和的关系1 >2 >4 >8 >13,当我们走第二条路径的时候,1 >2 >5 >8 >13的时候, 路径和增加了1,即5比4多了1,我们依次改良,可以发现每次改变路
阅读全文
E. K-periodic Garland
摘要:题意:你被给予了一个n个灯的花圈,灯的状态由长度为n的字符串组成,字符串s的第i个字母为'0',表示这个灯关闭,为'1',表示这个灯开着。你被给予了一个正整数k。 每一个操作,你可以选择一个灯泡,并且改变它的状态。 一个周期为k的花圈如果是合法的,意味着每一对相邻的开着的灯泡的距离为k,考虑k =
阅读全文
CodeForces1256 E. Yet Another Division Into Teams
摘要:题意:这里有n个同学在你的大学,第i个同学的编程技巧是ai,作为一个教练,你想把它们分成很多组。每组至少3个人。 求每组差异的值的总和。如何分组,才能使得差异值的总和最小。 分析:先排序,肯定是连续数字的组中最大值和最小值差值最小。然后考虑分组的人数的上限,我们最多一组5个人, 因为假设有6个人,差
阅读全文
CodeForces1216F-Wi-Fi (DP+线段树优化)
摘要:题意:给定n和k,n表示n个房间,k表示wifi的传播范围,同时给定一个字符串,表示可以放置路由器的房间,如果可以放置路由器,那么max(1, n k) 和min(n, n + k)范围里的房间都可以得到信号,从而可以不直接联网,每个房间联网的代价为它的下标i。 分析: 我们假设f[i][0 / 1
阅读全文
B.Chemical Table
摘要:题意:有个n m的元素周期表,如果我们有元素在(r1, c1), (r1, c2), (r2, c1),那们我们可以产生(r2, c2)元素。 给定q个元素的坐标,求最少放置多少个元素,使得棋盘上拥有n m个元素。 分析:左边是n个行号,右边是m个列号,我们产生的每个元素都是一个行号和一个列号连边,
阅读全文
CodeForces-776D The Door Problem(2-SAT)
摘要:题意:有n间房间,一些房间是上锁的,一些是未上锁的,只有所有门未上锁的时候,所有人才能逃出去,这里有m个开关,每个开关都可以控制多扇门,一旦按下一个开关,控制的门的状态都会发生变化,未上锁的变成上锁,上锁的变成未上锁。求是否存在一种情况使得所有的门都未上锁。 分析:题目中给出了暗示,说每个门只被两个
阅读全文
CodeForces1288D-Complete Tripartite(三分图染色)
摘要:分析:三分图染色,题意中说到相同集合中的点之间没有边,但是和其它点都有边。 1.如果u1和u2在同一个集合中,那么所有和它没有相连的点都是同一个集合。 2.选择一个数u,那么所有和它没有相连的点都是同一个集合 3.持续第二步多次,如果不能构成3个集合,或者有一个点不在集合中,就不能构成3个集合,输出
阅读全文
CodeForces 1240B.Sequence Sorting
摘要:题意:给定一个整数序列a1, a2, ..., an 你可以采用如下的操作:选择一个整数x, 移动这些整数x, 放置在序列的前端和后端。可以进行多次操作,求把该序列变成非降序列的最少操作次数。 分析:通常这种题目,一般求这个序列中的最长上升子序列,然后整个序列的长度减去这个最长上升子序列,就是答案,
阅读全文
B. Train
摘要:题意:火车有n节车厢,从头到尾1到n编号,偷渡者和监管者一开始在不同的两节车厢,每一分钟,火车会处于两个不同的状态 移动或者停靠在车站,每一分钟,监管者都在移动,偷渡者可以选择移动或者不动。 控制者的移动如下:它有移动的方向,朝火车车头或者车尾,在移动中,它朝着移动的方向移动,如果到顶则换一个方向
阅读全文
3.31 CodeForces练习
摘要:F. Tourist Reform (2400)(无向图的边双连通分量) 分析:最大的连通分量大小是答案,证明在[https://codeforces.com/blog/entry/47890]。 然后把边的双连通分量大小改成强连通分量。
阅读全文
3.30 CodeForces练习
摘要:1027D. Mouse Hunt (1700) 分析:每个点有且仅有一条出边,也就是基环内向树。 所有的老鼠最终都会跑到环里,我们只要把捕鼠夹放在这个环里的最小花费的地方,就可以捕捉所有老鼠。 我们使用有向图的强连通分量,出度为0的强连通分量就是基环。
阅读全文