模拟赛打的一般,T1 做唐了,T2 转化完发现不会数据结构,T3 不会 AC 自动机白给了。
T3 鸽了,明天写个弱化版,嗯缝点东西我不知道怎么想的。
下午讲了几个图论题,感觉有好几个题听得很懂,抽空再写吧,现在题真的太多了。
神秘
手玩一下会发现,奇数里面必定有恰好除以二下取整个数取负号。
讨论一下奇数的数量,\(0\) 个对应偶数不能全选正或全选负,\(1\) 个对应偶数不能全选负,\(2\) 个以上偶数没有限制。
对于奇数记一下用了几个负号,bitset 优化背包即可,对于偶数直接背包,时间复杂度 \(O(\frac{n^3V}{\omega})\),Code。
树上问题
稍微推一下会发现,可能的贡献一定是叶子节点和他的某个父亲配对产生的贡献,且此时的配对是形如每个点到能配对的最远的点这样的。
有 DP ,令 \(f(u,i)\) 表示 \(u\) 内有叶子 \(i\) 向外去配对的最小贡献,有 DP:
可以求出后面这个 \(\min\) 的和,于是可以认为需要支持一个数据结构,维护若干个直线,满足合并、插入直线、查对于某个 \(x\) 的最小值、加截距。
李超线段树合并即可,\(O(n\log n)\),Code。