首页 > 其他分享 >104th 2024/10/8 模拟赛总结60

104th 2024/10/8 模拟赛总结60

时间:2024-10-11 22:34:19浏览次数:15  
标签:10 104th T1 60 改题 因为 直接 左偏

T1有感觉,因为AB组一起打,所以下意识认为是水题(实际上也不算难?)就直接开始想

从深向浅直接扫一遍,能转就转显然错,从浅向深扫一遍同样不对,因为不知道往上转移的顺序

比如,设该点为x,是0,有的儿子可能转移到x,其子树内转移的次数比另一个儿子多,所以就要优先它

不好处理,看到数据,给了一档2e5,一档5e5,这两档之间还有一组链的,就猜5e5是大常数O(n)解

对于一条链内,把1往上面堆显然对,对于岔路的处理就很麻烦,赛时一开始想着对于一个多子节点,就选它儿子里最长的一条链继续用,然后链拉长后用其他儿子的子树补,使其更长

结果自己出数据卡死了,完全没法处理,怎么办?

赛后:题解反着考虑了,没有动1,直接把0往下沉,沉到深度最大,这样是对的,因为下面全是0,相反的,可以把1,所以直接移0真的很好

得到策略,接下来是实现,发现瓶颈在于找深度最大的1,可以用线段树(最简单),可并堆(很明显),来实现

左偏树浅显地学了一下,大概是不断维护左偏树的性质,而左偏树只有log层,所以合并时只有log层,时间正确了

其他的题目赛时因为打T1上头了,而且没打出来,崩溃了,直接就没怎么思考,事实证明这很不应该,因为这直接导致了赛后改题时很难跟上讲题人的思路,因为自己没怎么独立思考

而且改T1时,有一些奇妙的感觉,一开始学左偏树时就理解地不是很深刻(当然问题并不在这),当时改题时对于一些变量的概念,辨析地不是很清晰,反复打错了好几次,而且对左偏树的部分操作也不是很熟悉(当然问题并不在这)

T1线段树做法及其好打且熟悉,但是为了学新的DS,而且觉得左偏树挺有用的,就打了左偏树

结果因为左偏树外其他部分实现方法不一,导致实现及其丑陋而扭曲,思维混乱至极

敢于挑战,这是好,但损失太大了,而且T2还有一些从未接触过的算法,比如Miller-Rabin,Pollard-Rho之类

要找时间去接触,离NOIP只有不到两个月了,怎么说的来着,起码要光彩地谢幕吧

标签:10,104th,T1,60,改题,因为,直接,左偏
From: https://www.cnblogs.com/tlz-place/p/18459493

相关文章

  • 103rd 2024/9/24 斜率优化
    总算是补上了很久之前的坑,一直没学,之前一直不肯动脑子?思路可以从简单的进行入手对于部分DP,若转移是\(i\)从一个\(j\)转移过来,且转移具有单调性,切极为明显,形如\(f_i=max(f_i,f_j+b_j+a_i)\)那么显然可以直接求之前的最值,用一个max记录即可但是有时候会出现跟双方都有关的贡献项......
  • C221110C. SolarPea与网格
    C221110C.SolarPea与网格是怎么想到dp定义的?思考下面这个情景:如果一个人在\(x\),另一个人在\(y\(x\lty)\),那么在\(x\)的人会把\(x\lti\lty\)的所有\(i\)全走一遍,走完之后\(x+1=y\)。对于这个情景,我们想到记\(f[i]\)表示一个人在\(i-1\),一个人在......
  • 【趣学C语言和数据结构100例】
    【趣学C语言和数据结构100例】问题描述一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,求它在第10次时共经过多少米,第10次反弹多高。猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一......