2021牛客高校暑假训练赛五
本文最后更新于:2021年8月19日 晚上
比赛过程
队友带我飞。
开场还是从后往前看,K感觉有点麻烦,一时没有思路就没有先看。队友说J他以前搞过就让他去搞。我去搞了H签到,构造01矩阵,想了一会儿就构造出来了。队友还在码K便去看B。B感觉是概率DP,由于概率DP不是很熟便与队友开始讨论。队友此时过了J和我一起看B。
我一直觉得C的位置可以插在任意两次打开盒子的时间段内,很麻烦不知道怎么下手去搞。还要处理组合数求概率并且题目中没有取模没法搞。队友说只需要把C放在最开头就行。剩下的排个序就行。我当时还觉得可能是队友想太简单了。交了一发WA了。然后和队友讨论是不是可以有其他方式,队友此时有些动摇(差点被我带跑),我准备再用自己的思路写一遍的时候,忽然发现一个Cornercase没有判断。加上去,A了(还好没重新打)。
之后我去看D队友看J。我卡在D的组合数呢快,之后就一直卡着知道比赛结束。(赛后改了下组合数的公式以及求逆元的过程就过了)
总结
队友立大功,比赛果然是团队协作的更棒。
个人的话主要还是基础的思维题目还得多练(J),然后是走不通时候需要改变自己思路重新想(其实有队友的话这点会加成很大,因为会和队友交换观点一直刷新认知思考,而不是在死胡同中一条路走到黑)。
题目详情
C
题目链接
我个人是觉得我的处理方式还是不错的,根据大小拍了个序然后根据原本的位置增加相同的子串,写起来也很快。
代码
1 |
|
E
给你一棵树,这棵树上所有点都有一个点权,树的边权为点权的抑或值。现给出每个点的点权范围和边权的具体值,问你每个使点的点权满足关系的情况数是多少。
很妙的一题,首先是通过处理把点权用一个未知数表示,再考虑点权的范围给的限制。实际上是每个点点权范围和边权的抑或值的共有部分。题解使用了线段树来处理。是由于抑或的性质:一个区间抑或上一个数会得到多个连续的区间,其中每个连续的区间在原区间上对应的是线段树上的一段区间。(线段树的奇妙用法+1)
注意 我这里开了个结构体来存新得到的区间,区间数尽量开大一点(最坏可能是 )
代码
1 |
|
F
一个博弈问题,给一个图,每次操作可以删一条边或者删一整颗树(不含环的强连通子块)。两人轮流操作问谁能赢。
对于第一种操作, 会使得边数 -1
对于第二种操作, 会使得点数 -k, 边数 -(k-1)
任何一种操作都会使得点数+边数的和减少一个奇数, 所以答案只跟 n+m 的奇偶性有关
(所以就是很水的签到)
我们当时的代码(逆十字的代码好nb啊)
1 |
|
I
不再赘述,说的很清楚
开启传送门!
代码
1 |
|
J
给你两个数列,让你用这两个数列构造一个n,m矩阵,求矩阵的最大平均子矩阵。
水(不对我不是说不拉签到的吗?哦原来是这场只过了签到啊好悲伤啊蛤蛤蛤)
代码
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!