2024.7.28 鮮花
群青
嗚呼いつもの様に
過ぎる日々にあくびが出る
さんざめく夜越え今日も
渋谷の街に朝が降る
どこか虛しいような
そんな気持ち
つまらないな
でもそれでいい
そんなもんさ
これでいい
知らず知らず隠してた
本當の聲を響かせてよほら
見ないフリしていても
確かにそこにある
感じたままに描く
自分で選んだその色で
眠い空気纏う朝に
訪れた青い世界
好きなものを好きだと言う
怖くて仕方ないけど
本當の自分
出會えた気がしたんだ
嗚呼手を伸ばせば伸ばすほどに
遠くへゆく
思うようにいかない今日も
また慌ただしくもがいてる
悔しい気持ちも
ただ情けなくて
涙が出る
踏み込むほど
苦しくなる
痛くもなる
感じたままに進む
自分で選んだこの道を
重いまぶた擦る夜に
しがみついた青い誓い
好きなことを続けること
それは楽しいだけじゃない
本當にできる
不安になるけど
何枚でも
ほら何枚でも
自信がないから描いてきたんだよ
何回でも
ほら何回でも
積み上げてきたことが武器になる
周りを見たって
誰と比べたって
僕にしかできないことはなんだ
今でも自信なんかない
それでも
感じたことない気持ち
知らずにいた想い
あの日踏み出して
初めて感じたこの痛みも全部
好きなものと向き合うことで
觸れたまだ小さな光
大丈夫行こうあとは楽しむだけだ
全てを賭けて描く
自分にしか出せない色で
朝も夜も走り続け
見つけ出した青い光
好きなものと向き合うこと
今だって怖いことだけど
もう今はあの日の透明な僕じゃない
ありのままの
かけがえの無い僕だ
知らず知らず隠してた
本當の聲を響かせてよほら
見ないフリしていても
確かにそこに今もそこにあるよ
知らず知らず隠してた
本當の聲を響かせてよさあ
見ないフリしていても
確かにそこに君の中に
沒什么可推的了。
紀念一下我卡常了一下午
是 joke 私題但過于簡單了
顯然找循環節,整體一起找是莫名奇妙復雜度,我不會,考慮單個字母找。
循環節最長是 \(26n\) 的
發現直接找復雜度是 \(n26^2\) 不太可過。考慮反正也需要求一個字母跳 \(k(k\le n)\) 步的方案數,直接先預處理即可。
然后有了 \(next_{c,k}\) 就可以 \(26^2\) 暴力跳預處理循環節。
考慮查詢,自然也是按位考慮,對于整個循環節可以不用考慮,但處理散塊是 \(26\) 的(\(n\) 可以直接跳),總復雜度還是 \(n26^2\) 的。
考慮繼續預處理,發現復雜度上限是最多要跳 \(26\) 個 \(n\) ,繼續預處理出任意字符跳 \(k(\le 26)n\) 個字符,復雜度 \(26^2\)。
致此,已經做到了 \(26n\)。
然后你就可以通過了……嗎?
當你真正實現的時候,你會發現,它簡直跑的飛慢!
簡單測一下時間,發現對于第一個預處理,\(26n\) 的復雜度,最高不到 \(3\times 10^7\),竟然會跑 \(2s\)。
后面的查詢也半斤八兩。
其實前后的原因類似,在預處理的時候,你有一個 \(26\times n\) 的數組的內存在肆意亂跳,尋址常數巨大,嘗試多種方法后,對于第一個預處理,將其先拷貝一遍去除無用行并且交換前后兩維使得第二位內存訪問連續,就可以跑過了。
查詢不太能優化尋址,但是我們發現題目中的 getHash 實現簡單,我們又是按位考慮,可以直接邊求邊做,可以砍掉一半常數。
然后就可以卡過了。
有點太水了,下次可能推點好的?
圖——from 匿名


本文來自博客園,作者:xrlong,轉載請注明原文鏈接:http://www.rzrgm.cn/xrlong/p/18327856
版權聲明:本作品采用 「署名-非商業性使用-相同方式共享 4.0 國際」許可協議(CC BY-NC-SA 4.0) 進行許可。

浙公網安備 33010602011771號