SD6.18集训总结
Posted Flame♡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SD6.18集训总结相关的知识,希望对你有一定的参考价值。
zzzz
感觉最近越来越喜欢睡觉了? 今天晚上睡了快八个小时还是有点没睡够的感觉
时间安排
8.00-11.00
看了看题 发现T1是dp 冷静写了个50之后调了半小时(有个地方手瓢打错了)
然后去看了看别的题 感觉都不是很懂 T2会n^4 (因为降智了 其实次方在动归过程内维护就好)
T3是个显然数论题
然后看了看之后写T1的换根 顺手就卡了卡常
11.00-12.00
推了推T3 准备做k=0 很有感觉 结果写完了发现自己的答案有负数 发现自己的卷积假了 自己卷积的结果是 ∑ i − 1 n ( 2 w − 1 ) \\sum\\limits_i-1^n(2^w-1) i−1∑n(2w−1) 其中 w w w 是对 i i i 进行因式分解的质因数个数 这玩意根本没法快速求快速求快速求
然后接受了20
12.00-13.00
把T2打了 又看出来 c = 0 c=0 c=0 本质等差数列二分check 速速写掉
题目分析
T1
首先 考虑一定是包含关系 那么有这个点大于等于子树内的所有点,和某一个子树内的点大于这个点两种情况
考虑 f [ i , j , o p ] f[i,j,op] f[i,j,op] 表示在以点 i i i 为根的子树内 这个点的值是 j j j 无/有 子树内有比他大的点
转移考虑维护前缀和
然后考虑换根dp 把第一遍dp的过程逆过来就好
T2
直接写upd了
根号分治
f [ i , j ] f[i,j] f[i,j] 现在的和是 i i i 上一个数是 j j j 的值(对于小于根号的做,复杂度是 n ∗ B n*B n∗B
g [ i , j ] g[i,j] g[i,j] 现在选了 i i i 个数 ∑ k = 1 i x k − a 1 = j \\sum\\limits_k=1^ix_k-a_1=j k=1∑ixk−a1=j 对大于根号的做
转移考虑枚举第一个数 (把之前的第一个数变成第二个)
感觉这个题在赛时拿到50就比较好,牛牛选手要A掉
T3
好像第一步的结论就不会 寄
以上是关于SD6.18集训总结的主要内容,如果未能解决你的问题,请参考以下文章