ICode9

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

学军11.29网络赛 题解&总结

2020-11-30 08:01:43  阅读:261  来源: 互联网

标签:长链 11.29 暴力 题解 学军 样例 贡献 儿子 比赛


题面

前一小时被迫打OI赛制。后面自身心情原因打ACM赛制。

A太过毒瘤,在3h多才切。D暴力题恶心死人。

切ABC。后面两题甚至没有心情打部分分,所以在切了A之后我的比赛已经结束了。

300分整个机房最后一名(另外三位440,还有一位500拿rank1)


A

一开始就想到做到后面有循环节并且循环节是2。

但是在到循环节之前的过程一直不会做,后来发现直接暴力即可,不会TLE。

本来还看错题意以为题目求时间,一开始只会打60分部分分,对应样例之后一个\(k=1\)符合的同时\(v_1=1\),刚好对了这个样例。害得我迷惑了好久。当然这是自己的问题。

一个小细节,自己造数据在感觉可能出现错误的地方assert了一下,搞了半天没有问题。后来实在忍不住重构代码,才意识到这个细节。所以重构代码永远滴神。

显然如果有两次连续的相向相遇,那么以后会如此循环。

追及的时候直接暴力即可。


B

这题应该放A吧!

但是我把AC程序交了之后大概1h才出结果,害得自己写了个checker将所有的数据都测了一遍。

可以发现一个长度为\(L\)的连续段贡献为\(\frac{L(L+1)}{2}\)。

每次找到一个最逼近\(m\)的,丢入一个连续段进去。

两个长连续段之间用一个字符隔开。字符轮换。自己写check证明不会挂。


C

这题竟然可以OEIS?

诚信比赛不干这些。

阳间做法:设\(i,j,k\)分别为三种颜色取值。保证\(i+j+k=n\),答案为\(\sum_{i,j,k} \binom{n}{i,j,k}2^{\frac{n^2-i^2-j^2-k^2}{2}}\)。

发现可以预处理\(i+j\)相同的计算。

阴间做法:dyp强行扩展到染任意种颜色的情况。大概是容斥选\(k\)条边,使得这\(k\)条边都满足两端点颜色相同,容斥系数为\((-1)^k\)。推若干条式子,最终可以得到一个\(O(n^2)\)的做法。也可以优化到\(O(n\lg n)\)。


D

恶心乱搞题。比赛时写着写着不想写下去。

乱搞方法多样,各种指数暴力直接过。

讲下ll的靠谱一些的做法:对于出现两次或以上的字母(至多\(7\)个)暴力枚举,剩下的DP。


E

题目本身好评,只是自己看错题意写了3k跑样例发现假了而已……

确实比T4优美,比赛时没有想出来是自己有问题。

正解简单自然:长链剖分。记下子树中深度为多少的点有多少个。对于每个点,枚举到它连的轻儿子的最长长链长度,用合并果子NTT计算相同深度的贡献。然后再计算它自身所在长链和祖先的贡献。祖先的贡献可以直接换根,先走入重儿子,将轻链暴力合并,走入轻儿子的时候,将这个轻儿子的贡献减去,并加上重儿子的轻儿子长链长度的贡献。

除了NTT外什么地方都是\(O(n)\)的。


真是一次体验不太好的比赛,但是菜是原罪,所以不管怎样终究是自己菜。

尽管如此也衷心希望学军多办些这样的比赛呢。

但不要出D这种题了,A题这样我也理解毕竟上次也是这样,但D题存粹恶心人。

标签:长链,11.29,暴力,题解,学军,样例,贡献,儿子,比赛
来源: https://www.cnblogs.com/jz-597/p/14059319.html

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

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

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

ICode9版权所有