CF804C Ice cream coloring 做题记录

有一颗 nn 个节点的树 TTmm 种冰淇淋,树上的第 ii 个节点有 sis_i 个冰淇淋,且所有相同种类的冰淇淋在树上构成了一个联通块。

构造一个新的图 GGGGmm 个节点,GG 中的 u,vu,v 之间有边,当且仅当存在至少一个在 TT 上的节点满足他同时有第 uu 种和第 vv 种冰淇淋。

你的任务是用尽可能少的颜色种类数给 GG 的每一个节点染色,使得没有两个相邻的节点有相同的颜色,要求输出方案。

注意空的点集也被认为是一个联通块。

1n,m3×1051\le n,m\le 3\times 10^{5}0si3×1050\le s_{i}\le 3\times 10^{5}si5×105\sum s_i\le 5\times 10^5

阅读全文 »

CF1158B The minimal unique substring 做题记录

构造一个长度为 nn0101ss,使得:

  • 任意长度小于 kk0101 串,或者不是 ss 的子串,或者在 ss 中出现了至少 22

  • 至少存在一个长度为 kk0101 串,在 ss 中出现了恰好一次

保证 nk(mod2)n\equiv k (mod 2)

1kn1051\le k\le n\le 10^5

阅读全文 »

CF1526D Kill Anton 做题记录

给定一个字符串 aa,你可以任意打乱 aa 中字符的顺序,记打乱后的字符串为 bb。记 bb 的价值为将 bb 转换为 aa 所需的最小交换次数(交换指交换两个相邻元素)。输出价值最大的 bb

若有多种答案,任意输出一种。

1a1051\le |a|\le 10^5

阅读全文 »

CF549G Happy Line 做题记录

给定一个 nn 个元素的整数序列 aa, 任意时刻对于任一对相邻元素 (ai1,ai)(a_{i-1},a_i),若 ai1>aia_{i-1} > a_{i} 则要依次执行如下操作:

a[i-1]--,a[i]++,然后交换 ai1a_{i-1}aia_i 的位置。

经过若干次操作后,若能使整个序列变成非降的,则输出最终的序列;否则输出 :(

1n2×105,0a[i]1091 \leq n \leq 2\times 10^5, 0 \leq a[i] \leq 10^9

阅读全文 »

CF1305E Kuroni and the Score Distribution 做题记录

构造一个序列 aa 满足以下条件:

  1. 长度为 nn
  2. i,1ai109\forall i, 1\leq a_i\leq 10^9
  3. i>1,ai>ai1\forall i>1,a_i>a_{i-1}
  4. 满足 i<j<ki<j<kai+aj=aka_i+a_j=a_k 的三元组 (i,j,k)(i,j,k) 数量恰好为 mm

1n50001\le n\leq 50000m1090\le m\leq 10^9

阅读全文 »

CF690A3 Collective Mindsets (hard) 做题记录

一共有 nn 个僵尸,每个僵尸头上有一个值域 [1,n][1,n] 的数字 aia_i,每个僵尸只能看到其他 n1n - 1 个僵尸头顶的数字,当然,他们也知道自己的编号。 要求提供一种策略,使所有僵尸只利用自己知道的信息同时猜自己头顶的数字,保证至少有一个僵尸猜对。

对于每组数据,第一行包含两个正整数 nnrr,表示僵尸总数与当前僵尸的编号,下一行包括 n1n−1 个正整数,表示当前僵尸看到的所有其他僵尸头顶的编号是多少(按僵尸编号升序排列)。你要输出当前僵尸应该猜测的数字。

时间复杂度要求线性。

阅读全文 »