牛客挑战赛46 题解&总结
除了B题外简单的牛客挑战赛。
然而卡在了B题导致整场比赛暴毙。
A
牛客挑战赛之前好像没有这么长的A题。
因为题目一开始数据出锅,一直检查自己哪里有问题,挂了两次,直到消息传来说数据范围开大了……于是30min才搞定,搞掉我心态。
真实切题时间是9min并且一次过。
经典问题,用两个栈分别维护数字和运算符即可。
B
搞了一个半小时搞不出来。
我建议将它和D题对调。
https://www.cnblogs.com/jz-597/p/14134796.html
C
一看就是DP。状态设对就差不多了。
\(f_{n,i,k}\)表示统计大小为\(n\)的排列,搞出了\(k\)个“超级逆序对”,要求\(n\)必须放在第\(n-i+1\)到\(n\)的位置上的方案数。
接着可以写出个\(O(n^4)\)的做法,然后简单优化到\(O(n^3)\)。
因为出了些小差错调了好久导致最后10min才AC。
另外输出方案数的逆元是什么东西?正常人都会下意识地输出方案数除以总数。
D
AC完C题之后,想题+写题成功花8min搞完。
对于一个前缀,记下每个数出现次数模\(k\)。如果有两段前缀这个东西相同,那就有贡献。
直接哈希没了。
E
这题是原题呢……
原题的题解在这里:https://www.cnblogs.com/jz-597/p/13368951.html
F
这题稍微改一改也是原题呢……
对于一个点\(i\),可以视为一条路径\((rt,i)\)。答案相当于将一段区间的链并起来,最后减去这些点的LCA的深度。
在这里:https://www.cnblogs.com/jz-597/p/11579371.html
被A题搞心态,B题想到自闭,于是失去了AK的可能性……
难受啊……