CCPC 2022 Weihai
下饭场。中间有几个题因为很 sb 的原因卡了很久,罚时炸了,而且最后 F 调了 40min 没调出来,差两名 Au。
A Dunai
记参赛选手中有 \(k\) 个曾经夺得冠军,5 个位置上的选手分别有 \(t_1,t_2,t_3,t_4,t_5\) 个,则答案为 \(\min\lbrace k,t_1,t_2,t_3,t_4,t_5\rbrace\) 。
证明可以考虑贪心组队,已经有一个冠军选手的情况下,其他选手尽可能地选不是冠军的人。
C Grass
先随便选一个点 \(P\) 作为 \(A\) 点,对其他点按照 \(P\) 为原点进行极角排序。若已经有从 \(P\) 出发的三条以上的不同射线,则已经找到了一组解;否则其他点分布在最多三条射线上,分类讨论即可。
D Sternhaima
状压记录棋盘状态进行 dp 即可。
E Python Will be Faster than C++
暴力算个 \(10^5\) 项判断即可。
F Mooncake Delivery
G Grade 2
I Dragon Bloodline
二分答案,check 时用一个优先队列维护当前每种精华剩余需要采集的数量,每次选出剩得最多的,用剩下的人当中能力最大的去采集这种精华即可。
J Eat,Sleep,Repeat
K I Wanna Maker
第一类限制可转换为 \(l\le L_i\) 且 \(r\ge R_i\) ,第二类限制可转化为 \(l>L_i\) 或 \(r< R_i\) 。对所有第一类限制取交集,对所有第二类限制按照 \(L_i\) 排序,那么 \(l\) 取在 \(L_i,L_{i+1}\) 之间时,需要满足 \(r<R_j\) 的第二类限制一定是 \(j\ge i+1\) 的,即一个后缀。从大到小依次枚举 \(i\) 并更新后缀的 \(\min R_j\) ,统计答案即可。