Atcoder Regular Contest 120 比赛记录 (vp)

题解

A,B 略

C: 这个操作相当于把 (a,b) 变成 (b+1,a1)

观察 ai=ai+i 这个东西。设我们操作的是 ai,ai+1,然后操作完会变成 ai+1+1,ai1

ai=(ai+1+1)+i=ai+1+(i+1)

ai+1=ai1+(i+1)=ai+i

发现这个东西相当于是交换了 a 的两个位置。然后相当于是有两个数组,每次只能交换相邻两个,要把A变成B。这玩意就逆序对做一做就行了。

D: 把前 n/2 小的看做A类,前n/2大的看做B类。那如果我们的每一对匹配括号都恰好一个是A,一个是B,那答案就是 xBxxAx

然后我们一定能构造。就我们维护一个栈,如果当前元素和栈顶类型不同就匹配,否则就直接入栈。

实况

A,B比较简单,很快就没了

C的话,我们可以玩玩发现 i+ai 这个东西。我其实是瞎jb交换了很多次,然后发现一个数原来是 a,后来变成了 a3,而它正好被换出去三格。然后我就发现了其实是在交换 i+ai

D那个应该是个经典结论。我感觉这个东西好像很难对,我就没这么猜。我还瞪了好久性质,没瞪出来。还他妈睡着了,也许是因为我在下午4点左右vp的缘故吧。众所周知,那会人的精力低下。

总结

“对相邻做...操作, 把A变成B”,通常我们会把它转换成交换相邻,从A变到B的问题。

D题有一个经典结论就是, 我们有2n个数,其中n个0,n个1。我们一定能找到一种括号匹配使得每对匹配括号都包含了一个1和一个0。

posted @   Flandre-Zhu  阅读(53)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示