20251016模拟赛总结
总结
预计:230,实际:180
A(cipher)
预计:100,实际:100
- 思路历程:由于括号匹配问题不需要考虑匹配先后问题,所以先把能匹配的先匹配扔掉,剩下的用问号去模拟分配即可
- 细节:会分为两种情况:))?)?((?(或者((?((?。但是这两种情况可以用同种做法解决:把)和(所在区间分开,剩下的问号再内部匹配,完美
缺点:实现用时较长,用1h左右,应注意先把实现思路写下来再打代码
B(seq)
预计:100,实际:50
- 思路历程:
关键节点1:看到是将不同串拼接,想到了把(变成1,)变成-1,去实现
关键节点2:由于是不同串拼接后的最优附加属性,想到状压DP
到这已经有50分了,但是不知道怎么处理新的串中间val<0的答案统计问题 - 题解:重点(本质上是单调性吗?)
关键节点3:上述的val<0的问题可以通过预处理解决。在统计第i个串的某个val的个数的时候,如果有某个值<val,则它与后面的val都不统计,见下图

C(france)
预计:30,实际:30
- 思路历程:看到了boss的数值是单调不降的,考虑对卡牌的生命值分块,失败
- 题解:
关键节点1:可以对不同攻击力时有的贡献统计,再用双指针统计答案即可
D(tree)
预计:0,实际:0
- 思路历程:无
- 题解:
总结
- 应该先设计代码思路再开打

浙公网安备 33010602011771号