用户工具

站点工具


2020-2021:teams:farmer_john:jjleo:educational_codeforces_round_91_rated_for_div._2_virtual_participation

目录

A B C D E F G
+ + + + + + +

rank:14

A

  • 题意:水。
  • 题解:摸。

B

  • 题意:给出一个电脑的石头剪刀布序列,会按照所有循环同构进行一轮,现在求一个你的石头剪刀布序列,对于每一轮都按照这个序列出,使得获胜次数最多。
  • 题解:显然每次都出克制出现次数最多的手势的手势即可。

C

  • 题意:选人组队,可以有人不在任何一个队,每人有一个权值,要求每个队伍的权值最小值乘以队伍人数至少为$x$,问最多能组几个队。
  • 题解:按权值从大到小贪心扫一遍即可,能组就组,不能组就接着往下来。

D

  • 题意:每次可以对一个元素互不相同的序列进行如下两种操作:1.花费$x$,删除连续$k$个元素;2.花费$y$,选择两个连续的元素,删除小的元素。问将序列$a$变成序里$b$的最少花费,或判断无解。保证$a,b$都是元素互不相同的序列。
  • 题解:如果$b$不是$a$的子序列显然无解。否则相当于判断删掉$a$中数个连续区间的最小代价。首先如果某一个区间长度小于$k$两侧端点往左往右两个值又小于区间中最大值,那么显然无解,因为那个最大的无法删除。否则一定有解,在两种操作中选择价格低的即可。

E

  • 题意:将$1$到$n$分成$m$组,每次操作可以将一组$a$中部分元素移动到另一组$b$,要求$a$中每一个过去的元素都要小于$b$中的最小值。现在一共有$m-1$次合并,每次会合并两组(以上一次合并后为基础),求最开始和每次合并后,将所有元素移动到一组需要的最小操作数。$(2 \le m \le n \le 2 \cdot 10^5)$
  • 题解:经过一番转(乱)化(猜)可以发现答案其实就是每组的连续区间个数$-1$再加上组数$-1$,前者是将所有组都变成连续元素的次数,后者是将这些连续的数字合并在一起的次数。因此只需要维护$m$个set,set里面放连续区间。每次插入的过程中将前驱后继拿过来看能不能合并,然后对于题目中的$m-1$次合并采取启发式合并即可。每个元素最多被合并$\log n$次,总复杂度$O(n \log ^ 2 n)$。

F

  • 题意:定义一种不进位加法,即两个数字最低位对齐然后每一位相加得到一个一位数或两位数,不进位,将所有得到的数字排成一行即得到结果,例如$999+999=181818$。现在给出一个长度为$n$的数字$c$,$m$次询问,每次修改某一个位置上的数字,问修改后有多少组数字$(a,b)$满足$a+b=c$,对$998244353$取模。$(1 \le n, m \le 5 \cdot 10^5)$
  • 题解:线段树维护某个区间考虑/不考虑第一位考虑/不考虑最后一位的方案数这四个值,合并的时候需要考虑不进位的情况,即两个数之和$x$在$[10,18]$的范围,此时的方案数为$9 - (x - 9) + 1$。对于不进位的情况,叶子节点直接赋值即可,设某一位为$x$,则方案数为$x + 1$。

G

  • 题意:将$n$个值分配到长度为$n$的环上,并指定$k$个点为特殊点。玩家会等概率地出现在一个点,顺时针一直走直到遇到特殊点停下(出现在特殊点则直接停下),路径上所有非特殊点的权值和是此次游戏得分。现在求$k=1,2, \cdots , n$时的最小期望得分,对$998244353$取模。$(2 \le n \le 3 \cdot 10^5)$
  • 题解:可以发现每个点对于期望的贡献就算每个点距离上一个特殊点的距离乘以该点的权值,再乘以$n^{-1}$。因此尽量让权值大的离上一个特殊点更近一些,将权值排序后,从大到小,$k$个$k$个地选取,将对应的权值和乘以$0,1,2 \cdots $即可。预处理前缀和,复杂度为调和级数的$O(n \log n)$。
2020-2021/teams/farmer_john/jjleo/educational_codeforces_round_91_rated_for_div._2_virtual_participation.txt · 最后更改: 2020/07/17 15:13 由 jjleo