ICode9

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

2020 ICPC Asia East Continent Final

2022-07-06 14:34:28  阅读:149  来源: 互联网

标签:log Asia #### 枚举 2020 然后 端点 即可 Continent


好久没有打acm了打了场来复健
~~王负剑!王负剑!(bushi~~

#### A. Namomo Subsequence

把字符串分为 `na` 和 `momo` ,然后枚举第一个 `m` 的位置以及 `o` 是什么字符,然后计算一下左边的方案数再乘上右边的方案数即可。

求左边的方案数可以去 `dp` 。具体就是 $f[i][j]$ 表示前 $i$ 个字符, `namomo` 中的 `n` 是 $j$ 字符的方案数, `a` 是 $j$ 字符的方案数,然后求方案数的话容斥一下就好了。 `momo` 部分也类似。

效率: $O(62n)$ 。

空间和时间都很容易被卡,可以优化一下。特别是加法取模。

#### B. Rectangle Flip 2

考虑新加进来一个障碍,会减少多少矩形。

考虑枚举矩形的左边,那对于右边要么就是由左边来限制,要么就是由右边来限制,并且是由谁来限制是连续的。所以分别去统计一下就可以了。

效率: $O(n^3)$ 。

#### C. Random Shuffle

可以先求出每一轮 $\text{rand}$ 后得到的值是多少以及第 $i$ 轮的 $x$ 在第 $j$ 位是由最初的哪几位异或得到的。

然后我们就可以得到若干方程,用线性基得到最大方程组。打表发现当 $n$ 为 $50$ 的时候剩余 $47$ 个方程,也就是有 $17$ 个自由元。

然后直接枚举自由元的取值,按理来说是 $O(2^{17}n\times 64^2)$ 的,但是完全跑不满,直接写就能过。

#### D. City Brain

如果只是一条路的话,我们肯定是选择最短路,然后次数均分着用即可。

对于两条路,我们可以枚举公共路径的长度,然后得到非公共部分最短是多少,然后三分分配给公共路径的次数即可。

效率: $O(nm+n\log k)$ 。

#### E. Tube Master III

不会。

#### F. Rooks

签到,但是卡了很久。用 $\text{set}$ 搞搞就可以了。

#### G. Prof. Pang's sequence

暴力的想法是枚举右端点,枚举左端点,计算贡献。

假设枚举到右端点 $r$ ,左端点的贡献是一个 $01$ 串,那拓展到 $r+1$ 的时候就只会翻转一段连续的一段,用线段树维护即可。

然后再用线段树统计历史版本的答案总和即可。

效率: $O(n\log n)$ 。

#### H. Prof. Pang Earning Aus

不会。

#### I. Plants vs Zombies

模拟一下过程。豌豆打到僵尸的顺序是 $t$ 和索引的顺序。然后二分一下每个僵尸的死亡时间即可。

效率: $O(n\log ^2n)$ 。

#### J. Circle

不会

#### K. Allin

队友写的

#### L. Square

先把每个数的平方因子去了,那就是每个质因数出现次数和未出现次数取个min即可。

效率: $O(n\log n)$ ,其中 $\log$ 大约是一个数的质因数个数。

#### M. Fillomino

不会

标签:log,Asia,####,枚举,2020,然后,端点,即可,Continent
来源: https://www.cnblogs.com/xjqxjq/p/16450689.html

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

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

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

ICode9版权所有