赛后惊觉对面学校的大佬正巧比我高4pts
A. Sushi for Two
题目大意
给定一个只有1,2的数组。求最长的长度为$ans$的子段满足前后$ans\over 2$部分各为不同的数字
题目分析
把相同数字的子段缩成一个点,再以两两最小值取答案最大值。
B. Circus
题目大意
每一个位置有两个权值$t_i,a_i$。要求将n个数分为两部分$\{A\},\{B\}$满足$\sum\limits_{x\in A}t_x=\sum\limits_{y\in B}a_y$,输出任意方案数。
题目分析
记00有$A$个,选$M$个;01有$B$个,选$N$个;10有$C$个,选$P$个;11有$D$个,选$Q$个。则有
$\begin{equation}
\left\{
\begin{array}{lr}
C+D=\sum t_i\\
B+D=\sum a_i \\
M+N+P+Q={n\over 2}\\
P+Q=(B+D)-(N+Q)\\\end{array}
\right.
\end{equation}$
那么我们就首先枚举$M$再枚举$N$,时间复杂度$O(n^2)$
听说有机房$O(n)$贪心于是全线红灿灿FST?
C. Skyscrapers