有一颗 个节点的树 和 种冰淇淋,树上的第 个节点有 个冰淇淋,且所有相同种类的冰淇淋在树上构成了一个联通块。
构造一个新的图 , 有 个节点, 中的 之间有边,当且仅当存在至少一个在 上的节点满足他同时有第 种和第 种冰淇淋。
你的任务是用尽可能少的颜色种类数给 的每一个节点染色,使得没有两个相邻的节点有相同的颜色,要求输出方案。
注意空的点集也被认为是一个联通块。
,,。
CF1311E Construct the Binary Tree 做题记录
要求构造一个 n 个节点的二叉树,节点 1 为根,要使所有节点到根的距离之和为 d。要求先判断可不可以构造,如果可以输出
YES
,下一行输出 2 到 n 号节点的父亲节点,否则输出NO
。
CF1158B The minimal unique substring 做题记录
构造一个长度为 n 的 01 串 s,使得:
任意长度小于 k 的 01 串,或者不是 s 的子串,或者在 s 中出现了至少 2 次
至少存在一个长度为 k 的 01 串,在 s 中出现了恰好一次
保证 n≡k(mod2)。
1≤k≤n≤105。
CF1526D Kill Anton 做题记录
给定一个字符串 a,你可以任意打乱 a 中字符的顺序,记打乱后的字符串为 b。记 b 的价值为将 b 转换为 a 所需的最小交换次数(交换指交换两个相邻元素)。输出价值最大的 b。
若有多种答案,任意输出一种。
1≤∣a∣≤105。
CF549G Happy Line 做题记录
给定一个 n 个元素的整数序列 a, 任意时刻对于任一对相邻元素 (ai−1,ai),若 ai−1>ai 则要依次执行如下操作:
a[i-1]--,a[i]++
,然后交换 ai−1 和 ai 的位置。经过若干次操作后,若能使整个序列变成非降的,则输出最终的序列;否则输出
:(
。1≤n≤2×105,0≤a[i]≤109。
CF1305E Kuroni and the Score Distribution 做题记录
构造一个序列 a 满足以下条件:
- 长度为 n 。
- ∀i,1≤ai≤109 。
- ∀i>1,ai>ai−1。
- 满足 i<j<k 且 ai+aj=ak 的三元组 (i,j,k) 数量恰好为 m。
1≤n≤5000,0≤m≤109。
CF690A3 Collective Mindsets (hard) 做题记录
一共有 n 个僵尸,每个僵尸头上有一个值域 [1,n] 的数字 ai,每个僵尸只能看到其他 n−1 个僵尸头顶的数字,当然,他们也知道自己的编号。 要求提供一种策略,使所有僵尸只利用自己知道的信息同时猜自己头顶的数字,保证至少有一个僵尸猜对。
对于每组数据,第一行包含两个正整数 n 和 r,表示僵尸总数与当前僵尸的编号,下一行包括 n−1 个正整数,表示当前僵尸看到的所有其他僵尸头顶的编号是多少(按僵尸编号升序排列)。你要输出当前僵尸应该猜测的数字。
时间复杂度要求线性。