noip模拟赛二
noip模拟赛二
\(1/23\) 挂了5分没有挂分,和其他学校大佬一起打的捏
T1 酸碱度中和
签到题,sort之后二分判一下就好了,开始的时候忘记sort了呃呃呃
外校大佬切题都这么快的么
T2 聪明的小明
好题,难题。
发现 \(k\) 和 \(m\) 都很小,考虑状压,记录 \(1\) 为之前没出现过的酒,\(0\) 为出现过的,转移是显然的:
1.如果当前状态最后一位是 \(1\),它只对新一位是 \(1\),前面平移的状态有贡献
2.如果当前状态最后一位是 \(0\),它对新一位是 \(1\),前面将一个 \(1\) 取反的状态有贡献
有点卡常
赛时憋了俩小时没想出来,最后写了 \(k=2\) 部分分,判了 \(k=m\) 还没判对,蚌
T3 线段树
区间 \(dp\),记忆化秒了
考虑这样一个结论,一个询问至少到达一个节点,所以贡献至少为一,当它被某个分割线分开两边递归时(不包括包含的节点内部的分割线),它的贡献就会增加 \(1\)。
考虑这样一个暴力分治,我们枚举每一块的分割位置,暴力枚举 \(q\),计算贡献即可,貌似是指数复杂度,反正能过且仅能过 \(30pts\)
我们发现我们同样的块算了好多遍,冲一发记忆化就能得到 \(50pts\) 高分,复杂度 \(O(n^3q)\)
接着我们只要优化掉对 \(q\) 的枚举即可获得满分,对于每个点,预处理包含它的询问个数,同时对于每个子块,预处理包含它的询问个数,单步容斥即可得到答案,这显然是个二维偏序,我赛时比较唐,写了树状数组,事实上值域很小,只需要 \(O(n^2)\) 暴力二维前缀和就好了,最后复杂度 \(O(n^3+q)\)
T4 公路
典,建议查看去年 csp-j T2,遇到油站直接加满,如果有更便宜的油直接换了,随便写个单调队列就维护了
外校大佬切题都这么快的么