ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

IOI2022

2022-08-29 23:00:26  阅读:172  来源: 互联网

标签:容器 Easy 可以 texttt IOI2022 答案 mathcal


鲶鱼塘 \((\texttt{Easy} \ 0 / 3)\)

设第 \(i\) 列的高度为 \(h_i\),若 \(h_{i - 1} > h_i < h_{i + 1}\),则可以直接令 \(h_i = 0\)。

于是可以设 \(f_{i, j}\) 表示 \(h_{i - 1} \le j = h_i\) 的答案;\(g_{i, j}\) 表示 \(h_{i - 1} > j = h_i\) 的答案,则根据上面的性质可以方便地转移。

注意到一个状态 \((x, y)\) 有效当且仅当 \(y = m - 1\) 或 \((x, y + 1)\) 有鲶鱼,于是可以把状态数缩到 \(\mathcal{O}(n + m)\),时间复杂度 \(\mathcal{O}((n + m) \log m)\)。

囚徒挑战 \((\texttt{Easy} \ 3 / 5)\)

先考虑一个做法:从高到低查询 \(n\) 的二进制位,这样可以得到一个 \(m = \mathcal{O}(\log n)\) 的做法。

发现可以对于每一位采用不同的进制,搜索最优解可以做到 \(m = 24\)。

发现如果当前的数是可能范围的最大值 / 最小值的话就已经能确定答案了,所以可以在原来的基础上每轮把范围多 \(-2\),搜索最优解可以做到 \(m = 20\)。

非常难写。学了一下最短解的做法,非常厉害。

无线电信号塔 \((\texttt{Medium} \ 4 / 4)\)

明天写。

数字电路 \((\texttt{Easy} \ 2 / 1)\)

先考虑如果钦定了每个点的颜色,如何求出方案数。如果 \(u\) 有 \(k\) 个儿子是 \(1\) 并且 \(u\) 也是 \(1\),那么 \(p_u\) 有 \(k\) 种选择;否则有 \(c_u - k\) 种选择。这相当于对于每个点 \(u\) 选择一个与之颜色相同的儿子的方案数,即链剖分的方案数,要保证 \(1\) 是黑色当且仅当其所在的链对应的叶子是黑色。

所以我们可以枚举 \(1\) 所在的链的叶子,那么其他的点随意选儿子均可对应一种方案。所以叶子之间对答案的贡献是独立的,可以用线段树维护。

时间复杂度 \(\mathcal{O}(n \log n)\)。

最罕见的昆虫 \((\texttt{Medium} \ 4 / 3)\)

考虑一个做法:我们依次加入每一个数,如果查询的结果 \(> 1\) 即弹出这个数,那么我们可以得到所有颜色各一个,即可以得到颜色种类数。我们删去这些位置之后再进行一遍上面的过程,如果颜色数量减少就说明答案为 \(1\);反之可以一直进行。

考虑扩展一下,首先得到颜色数量 \(t\),保持众数出现次数 \(\le x\),那么答案 \(\ge x\) 当且仅当最后容器中一共有 \(tx\) 个数,于是可以二分答案。

考虑卡常。如果发现答案 \(\ge x\),那么我们可以把当前容器内的数锁在容器里,在以后的操作中不把它们挪出容器;反之,我们可以把当前容器外的数锁在容器外,在以后的操作中不把它们挪进容器,易于证明这样做的正确性。再把二分上界改为 \(\left\lfloor \frac{n}{t} \right\rfloor\) 即可通过。

千岛 \((\texttt{Easy} \ 3 / ?)\)

胡了一个做法,大概是如果起点的出度 \(> 1\) 则必然存在解,否则可以递归求解;构造是找环之类的,要分类讨论。看了下其他题解,好像挺对的,有时间把代码补了。

标签:容器,Easy,可以,texttt,IOI2022,答案,mathcal
来源: https://www.cnblogs.com/Scintilla/p/16637705.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有