首页 > 其他分享 >NOIP 加塞 5

NOIP 加塞 5

时间:2024-11-15 21:18:14浏览次数:1  
标签:NOIP trie res 票数 合法 加塞 节点 冗余

打成 史 了,\(0+20+0+45\),还有半个月 NOIP 了,怎么还是打这点分呢 ??

CTH 要看,所以先发了

比赛链接

A. 暴力操作

二分答案

对于一个数 \(a_i\) 它变成 \(\lfloor \frac{a_i}{x} \rfloor\) 的代价是 \(c_x = \forall y\mid x, min( c_y+c_{\frac {x}{y}} )\) 。

调和级数复杂度处理出来每个 \(c_i\),再对 \(c\) 数组取后缀最小值二分答案即可

B. 异或连通

赛时没多想这道题(也想不出来,毕竟不会线段树分治),打了 0/1 的部分分和暴力,结果 0/1 的还挂了

【 线段树分治 + 0/1 trie 】 / 【 trie 树分治 】

对于每次询问离线下来按询问的 \(x\) 大小排序插进 0/1 trie 里,较容易发现都经过 trie 树上同一个点的一定是一段连续的区间,所以按排序后的询问编号为线段树下标,建好 0/1 trie 后查询每一个边权 \(c_i\) 时把这条边插进经过的点所代表的区间的线段树里。

C. 诡异键盘

D. 民主选举

二分类答案

对于一个节点 \(x\), \(size_x\) 表示以 \(x\) 这个节点为根的子树大小,\(son_x\) 表示和 \(x\) 直接相连的子节点个数

考虑找到一个最小的值 \(res\) 满足所有点得到的票数 \(<res\),多余的票数上传给父亲,能分完所有的票没有冗余

发现 \(res\) 具有单调性,直接二分做,时间复杂度 \(O(n\log )\) ,每次 check 需要跑一遍 dfs,具体实现自己想想,和暴力相同。

这个时候如果直接特判 \(size_i - 1 \ge res\) 就合法,否则不合法,其实少考虑了一种合法的情况:

当我们判断 \(i\) 点是否合法的时候,发现其实除了 \(i\) 以外的点才需要满足最多有 \(res-1\) 张票,而 \(i\) 点可以有 \(res\) 张票。

那么也就是说若 \(size_i=res\) 也有可能是合法的,此时有可能是虽然没办法让所有点得到的票数都小于 \(res-1\),但有可能除了 \(i\) 以外的其他点得到了 \(res-1\) 张票,而 \(i\) 自己得到了 \(res\) 张票是可以做到的。

所以有对于所有 \(size_x=res\) 的点特判:

做一遍二分时的 \(check(res-1)\) ,dfs 的过程中记录到每个点 \(i\) 目前冗余的票数(直接拿子节点传上来的票数加上 \((son_i-(res-1))\),和 0 取 max)

  • 最后根节点的冗余票数若为 0,则 \(x\) 点一定合法;

  • 若根节点的冗余票数 \(>1\),则一定合法:因为这种情况下即使 \(x\) 比别的点多选一张票,也就是少向上传一张票,也做不到让根节点的冗余票数为 0;

  • 而根节点的冗余票数恰好为 1 的时候有可能合法:此时即为 \(x\) 点少向上传一张票从而使得根节点的冗余票数为 0。

    • 这个时候再特判一下从根节点到 \(x\) 的路径上是否存在冗余票数为 0 的情况,若有则还是不合法的:因为若存在冗余票数为 0,再减去 \(x\) 少上传上去的这一张票就成负的了,意味着到这个点便不会再向上继续减去那一张票了。

标签:NOIP,trie,res,票数,合法,加塞,节点,冗余
From: https://www.cnblogs.com/YuenYouth/p/18548393

相关文章

  • NOIP2024加赛5
    喜欢每个包绑一个hack是吧。暴力操作(opt)容易发现答案具有单调性,考虑二分答案。还发现只需要处理\(1\sim\left\lceil\frac{n}{2}\right\rceil\)即可。发现如果\(c_{i}>c_{j}且i<j\),那么选\(j\)肯定更优。有\(\left\lfloor\frac{a}{bc}\right\rfloor=\left\lfloor\frac{\left\l......
  • P9870 [NOIP2023] 双序列拓展 题解
    P9870[NOIP2023]双序列拓展题解NOIP2023T3,特殊性质题。什么是特殊性质题?就是题目给出了你极其神秘的性质,从而引导你想出正解。本篇题解将从部分分的角度,一步步讲述部分分与正解的关系。这样看的话,本题会变得十分简单。\(\text{Task}1∼7,O(Tnm)\)简化题意其实就是要求......
  • NOIP 备赛:CF 2E 板刷
    从\(2024.11.05\)之前的比赛排着刷。CF2028E给定一棵树,根为\(1\)。爱丽丝的起点位于某个顶点\(v\)。她想走出洞口,但不幸的是,红心皇后已经下令处死她。每分钟都会掷一枚公平的硬币。如果硬币是正面,爱丽丝就可以移动到她当前位置的相邻顶点,反之,红心皇后就可以把爱丽丝拉到......
  • NOIP2024加赛5
    NOIP2024加赛5题目来源:2023NOIPA层联测31\(T1\)HZTG5777.暴力操作(opt)\(40pts\)先将\(\{a\}\)升序排序。因为\(\left\lfloor\dfrac{\left\lfloor\frac{a}{b}\right\rfloor}{c}\right\rfloor=\left\lfloor\dfrac{a}{bc}\right\rfloor\),先钦定\(......
  • 2024.11.15 NOIP 模拟 - 模拟赛记录
    返乡(home)不给大样例是怕我找规律出答案吗?但是我还是找到规律了。题解说是结论题,但是这个结论即使观察小样例也很好猜(如果我是出题人就把样例打乱一下顺序)。首先考虑只有二维偏序时的最优放置方法:首先第一个数是不能重复的,因为一旦重复,第二个数无论怎么选,都会构成偏序;第二个......
  • NOIP2024模拟赛#21 总结
    坐牢3h+。赛时开T1,发现好唐啊,10min切了。过了全部大样例。开T2,现在是8:10。?现在是8:27,我怎么把T2大样例全过了。是不是太水了。我只是胡了一个贪心啊。开T3,现在是8:30。草,T1加样例了,做法假了。先不管T1了,先去看T3。感觉保证每次操作后都会满足对于\(i......
  • 241115 noip 模拟赛
    省流:\(90+100+25+10\)。T1题意:给定一个长为\(n\)的排列,定义一次操作为选出排列中至多\(4\)个不同的数,将它们任意重排,求最少操作次数让这个排列单调递增。\(n\leq10^6\)。找出排列的所有置换环,设环长为\(t_1,t_2,t_3,\cdots,t_m\),则答案为:\[\sum_{i=1}^m\lflo......
  • NOIP模拟赛 #11
    A一个\(R\timesC\)的矩阵\(A\),有\(N\)个位置已知,第\(i\)个为\(A_{r_i,c_i}=a_i\)。求是否存在一种填写剩下数字的方案,满足每个数字都非负且对于任意\(i,j(1\lei\leR-1,1\lej\leC-1)\)都有\(A_{i,j}+A_{i+1,j+1}=A_{i,j+1}+A_{i+1,j}......
  • [2024.11.15]NOIP 模拟赛
    赛后的思路永远比赛时清晰。赛时T1玩了一会发现\(a_3\sima_7\)一定是相邻的,所以只需要考虑两个数字即可。答案显然有单调性,所以考虑先二分\(a_2\),再二分\(a_1\)。两个二分的思路都很简单,第二个二分用lower_bound即可。第一个的话其实就是模拟lower_bound内置,赛时调......
  • 【NOIP提高组】 传纸条
    【NOIP提高组】传纸条C语言版本C++版本Java版本......