5.6模拟赛总结

Posted Flame♡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.6模拟赛总结相关的知识,希望对你有一定的参考价值。

zzzzzz

蚊子 你坏事做尽,你猎食就算了,怎么吃的时候还要嗡嗡嗡啊qwq 就不能你安安静静吃,我安安静静睡么(恼)

时间安排

7.40-8.00

看题 感觉T1 ,3比较可做,T2不是特别有想法

8.00-10.00

推T1正解

10.00-10.30

写了T3的部分分

10.30-11.00

写了T1的部分分

11.00-12.00

又推了推T1,感觉时间不够冲正解想写个 k 2 k^2 k2, 最后发现idea假掉了(悲) 最后火急火燎十几分钟打了个暴力

题目分析

T1

首先 ∑ t = ∑ 到 达 点 i , 节 点 数 单 增 , 长 度 单 减 的 路 径 条 数 \\sum t=\\sum 到达点i,节点数单增,长度单减的路径条数 t=i

显然单词询问要做到复杂度 O ( k l o g n ) O(klogn) O(klogn) 左右

然后考虑一定不会向回走,所以应该是考虑区间覆盖

可以证明,从一个 a [ i ] a[i] a[i]走到的,对答案有贡献的点,是一个区间

然后就要考虑怎么弄出这些区间,感觉是可以二分的(貌似要确定两次边界再取min)

赛场上没有想出来完 呜呜

主要是考场上也有个细节不会处理 就是可能会有一个点 有两个位置可以同时到达它,并且长度,节点数都相同

update

其实建模已经对了 二分也对了 没想到的主要是二分之后那个节点的限制可以直接考虑左右区间,然后rmq,而且也属实是没考虑到log^2 一直感觉是神奇单log算法(恼)

就算带上那个细节也是能做的(题解里有) 只要考虑限制一下左边的更优就好了,细节就是二分边界

T2

不会,只会暴力,咕咕

暴力建出线段树模拟计算 咕咕

update

和考试时候的想法有一点类似,我考试的时候想到了维护 f [ i ] [ j ] f[i][j] f[i][j] 表示第 i i i 次操作时 j j j号节点上有多少棵线段树有值,然后发现下传之类的很难维护(其实就是少个 g [ j ] g[j] g[j]表示1- j j j节点里完全没有标记的方案书)

T3

n 2 n^2 n2做法: 抽出路径上的所有点,然后做树上差分,最后统计答案

update

考试里貌似想到了线段树合并,不过想的方向和这个略有出入…这个考虑dfs树的做法非常高妙,老实说和部分分的树上差分是有联系的(以及单独考虑每个点的思想)

以上是关于5.6模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章

3.24模拟赛总结

11.6模拟赛总结

4.5模拟赛总结

7.13模拟赛总结

5.18模拟赛总结

7.29模拟赛总结