2025.2.27 鲜花

波长 题解

群青
嗚呼いつもの様に
過ぎる日々にあくびが出る
さんざめく夜越え今日も
渋谷の街に朝が降る
どこか虚しいような
そんな気持ち
つまらないな
でもそれでいい
そんなもんさ
これでいい
知らず知らず隠してた
本当の声を響かせてよほら
見ないフリしていても
確かにそこにある
感じたままに描く
自分で選んだその色で
眠い空気纏う朝に
訪れた青い世界
好きなものを好きだと言う
怖くて仕方ないけど
本当の自分
出会えた気がしたんだ
嗚呼手を伸ばせば伸ばすほどに
遠くへゆく
思うようにいかない今日も
また慌ただしくもがいてる
悔しい気持ちも
ただ情けなくて
涙が出る
踏み込むほど
苦しくなる
痛くもなる
感じたままに進む
自分で選んだこの道を
重いまぶた擦る夜に
しがみついた青い誓い
好きなことを続けること
それは楽しいだけじゃない
本当にできる
不安になるけど
何枚でも
ほら何枚でも
自信がないから描いてきたんだよ
何回でも
ほら何回でも
積み上げてきたことが武器になる
周りを見たって
誰と比べたって
僕にしかできないことはなんだ
今でも自信なんかない
それでも
感じたことない気持ち
知らずにいた想い
あの日踏み出して
初めて感じたこの痛みも全部
好きなものと向き合うことで
触れたまだ小さな光
大丈夫行こうあとは楽しむだけだ
全てを賭けて描く
自分にしか出せない色で
朝も夜も走り続け
見つけ出した青い光
好きなものと向き合うこと
今だって怖いことだけど
もう今はあの日の透明な僕じゃない
ありのままの
かけがえの無い僕だ
知らず知らず隠してた
本当の声を響かせてよほら
見ないフリしていても
確かにそこに今もそこにあるよ
知らず知らず隠してた
本当の声を響かせてよさあ
見ないフリしていても
確かにそこに君の中に

很早以前模拟赛的题了,感觉挺有意思,写一下。

有点反人类。

首先你肯定会二分答案 w,考虑 check,先对 a 前缀和一下,于是变成了后缀减 1,使其满足任意 j>i,ajai<w

考虑扫这个,维护一个 lim,每次遇到 aiai>lim 就做后缀减直到 ai=lim,然后更新 limminai+w

发现后缀减纯粹的玩原神,不如让 lim 加,容易发现其是等价的。

正解一定是要快速统一维护 L(x) 表示 w=x 时的 limS(x) 表示 w=x 时操作次数和的,考虑如何做,将其操作依次写出来:

S(x)+max{0,aiL(x)}

L(x)maxai

L(x)minai+x

考虑到 L(x) 的变化,每次和一条水平线取 max 和和一条 k=1 的直线取 min,容易发现其具有单调性,画画图容易发现其每次一定是将一段前缀推平,直接上栈都能维护了。

对于 S 不太好对 L 整体做,考虑对每段分别做,但是发现有贡献的段必然满足 L(x)<ai,但是 L(x)<ai 在下一步就会被立刻推平,所以复杂度均摊也是对的。

说这题反人类的原因是这个题第一眼看上去有个类似贪心的东西明显比二分答案有前途,但实际上那个贪心做法并没有比较正常的正解写法。

题解中说的差分约束做法我实在是看不懂了,有人讲解一下吗?

P

posted @   5k_sync_closer  阅读(48)  评论(4编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示