给定 和一个 的排列 ,考虑以下过程:
维护一个初始为空的栈,然后从 到 枚举 :
- 比栈顶严格大或栈为空,那么把 加入栈中;
 - 否则:
 
- 把栈顶弹出,并把 加入栈中。注意,你需要保证操作完成后栈中元素从底到顶严格单调递增;
 - 什么也不干;
 请你求出最后栈大小的最大值。
。
CF1278E Tests for problem D 做题记录
给一棵 n 个点的树,构造 n 条线段,要求每个端点都是 [1,2n] 中的整数且不重复,并使得两个点 i,j 在树上有边,当且仅当线段 i,j 相交且不包含。
1≤n≤5⋅105。
CF1468H K and Medians 做题记录
给定奇数 k 和长度分别为 n,m 的序列 a,b,序列 a 包含所有整数 i 满足 1≤i≤n,b 是给定的单调不减的序列。
现在你可以进行零次或若干次操作,每次操作选择序列 a 的 k 个整数,然后删除这 k 个数里除了他们的中位数的其他 (k−1) 个数。
求能否通过零次或若干次操作从序列 a 的到序列 b。能就输出
YES,不能输出NO。3≤n≤2×105;3≤k≤n;1≤m<n,1≤b1<b2<...<bm≤n。
CF804C Ice cream coloring 做题记录
有一颗 n 个节点的树 T 和 m 种冰淇淋,树上的第 i 个节点有 si 个冰淇淋,且所有相同种类的冰淇淋在树上构成了一个联通块。
构造一个新的图 G ,G 有 m 个节点,G 中的 u,v 之间有边,当且仅当存在至少一个在 T 上的节点满足他同时有第 u 种和第 v 种冰淇淋。
你的任务是用尽可能少的颜色种类数给 G 的每一个节点染色,使得没有两个相邻的节点有相同的颜色,要求输出方案。
注意空的点集也被认为是一个联通块。
1≤n,m≤3×105,0≤si≤3×105,∑si≤5×105。
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。