The 2021 ICPC Asia-East Continent Final Contest

EC Final 2021

趣事:vp 开始后发现其实我之前在 2022.1 帮验过 《EC Final Easy Version》 好像做了 ABE,但都忘了,当时 20min 过的 B,现在好像看错题还罚时了三次。

https://qoj.ac/results/QOJ104

https://board.xcpcio.com/icpc/46th/ec-final?group=official

Rank 16, 7 题 1052

Story

开局我把 ABI 签了(三发罚时,B 卡了半天,思路错了),deep_code 把 L(四发罚时) 签了。然后我感觉 C 可做,乱卡了半天过了。xl 在做 E,分讨题我们都讨论不清楚容易错,很痛苦。deep_code 一直在计算几何 D(3.5h),但是无从调代码。面对 J 题这种奇怪贪心我也不放心我写的是对的,wa 总犹豫是边界(代码)问题还是思路问题(三发罚时。好在最后 J 和 E 都过了。

Sol

https://www.cnblogs.com/Als123/p/16614701.html

https://codeforces.com/blog/entry/105449

C. String-dle Count

限制可以被刻化为每个字母出现次数要大于或者恰好等于某个数 LiLik

之后我选择了枚举填哪个字母,再从前往后枚举位置,再 g[i][j] 记哪些位置填了和这个字母用了几次。写完才发现做法编的 O(2kk3) 但后来发现 j 大于下界的状态没意义可以合并,这样就是 O(2kk2) 了。 https://qoj.ac/submission/290181

但后来看题解发现这样其实没前途,就从前往后填位置,只记录满足了哪些下界被满足了多少,这样是划分数,硬卡上界是不如 01 的 2k 的。然后就是这样一放发现比如 Li=u。那么只有 ku 个位置可以对应着 2k 个状态,那总共这样的复杂度确实是 O(2k(26+k)

刚学会的小技巧:计数划分数状态不用手写可以自己放大成每个选不选,最后再除以 szi 就行了。

至于为啥直接填位置严格优秀也可以有点理解,这是个整体的结构,总信息对应着 k 。可以控制自由的位置,那如果按字母填记录个数好像就失去了整体的势(纯扯淡

D. Two Walls

G. Check Pattern is Bad

据说是乱搞题,循环贪心填,有坏掉的就急了,否则找到差一个 ? 填错就完了的把他填对,否则瞎填一个,好像就过了,为啥啊。不会证 没理解 也从来不觉得可以这么做

H. Check Pattern is Good

  1. 奇偶染色,奇的反转这样变成 22 纯色尽量多
  2. 黑白 22 是否可以实现当成点(2n2),黑白之间填完是否有冲突当成边 n29,二分图最大权独立集板子。

其实 1 不是必要的,看成两种形式也是可以的,不过 2 冲突是二分图就不好想(?

把需要最大化的目标状态当成点感觉非常自然,但我想到 1 没想到 2,为啥。

为啥写了 200 行 35min?

https://qoj.ac/submission/290991

J. Elden Ring

考场瞎编的贪心:AB 最短路。A>B 先转成 iCi 时刻以后可以被解锁。然后感觉判无解就是每次随便选一个能扩展的扩展看能不能到 n。所以我感觉能不能怎么贪心选个对的。然后我觉得二分答案 x。然后类似 AB 倒着从 nd[n]=x,倒着最短路出 d[i] 表示从 in 最晚从哪天开始能到。感觉每次选 d 最大的走就很对啊!就感觉有那股劲,就是怕可以快速到 n 还搁着积累力量,这里找到了当且可能最快的(???

但是 WA 麻了。但后来把二分上界设成先判断无解随便跑出来的到 n 的时间就过了,为啥呢???

也就是说 check n 之类的会错,后来想了一下这种时候可能会把一些错误的路说你现在能走,但其实积累不到。

https://qoj.ac/submission/290279

但看 mango_lassihttps://codeforces.com/blog/entry/105449)的 dp 好像有好写又自然啊。。感觉这个题目的结构很神奇,咋还能有截然不同的做法,没理解。

M. Prof. Pang and Ants

Review

后期摆了控制不了只有一个人写代码

  1. 计算几何基础板子没有整理好,很多东西现编太痛苦(同时是否规避浮点数也是 计算几何 傻逼的一点),派 deep_cold 去整理
  2. 性质结论数学直觉的题总是过不来,三个人都不会做,即便想出结论也不确信是对的(麻,听说做 ARC(atcoder 系列也更贴 ACM 一点
  3. 写题之前思路假,包括(时空复杂度没算对,纯不对,看错题(这场没有看错题,大进步)
  4. 写弱智代码
  5. for 容器的时候别用原始 for, 不要用 numeric_limits, 1<<30够用了, 因为numeric如果我们+它就溢出了
  6. 全错了
posted @   DMoRanSky  阅读(466)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示