2022/5/22(日)

今日解いた競プロの問題。

競プロ典型90問

054 Takahashi Number: 見るからにダイクストラなのでダイクストラして終わり。単純に研究者を頂点にして繋ぎまくると辺の数が最悪N^2本になってしまうので、論文も頂点とする。

055 Select 5: 単純に全探索やるだけ。$O(N^5)$だが定数倍が軽いので通る。普通にN^5よりnC5が小さいから通るやつを「定数倍が軽いから通る」って表現するやつあんま好きじゃないんだよな。

056 Lucky Bag: dp[何番目まで見たか][何円が実現可能か]として遷移すれば$O(NS)$で解ける。最後に復元して終わり。復元はあまり好きじゃないがこれはかなり楽な実装で済んだ。


最近のLaravel事情をちょっと調べた。laravel/uiはもう非推奨でbreezeかjetstreamに乗り換えて欲しいらしい。breezeとかいうのをちょっと試したが、デフォのUIがtailwindだった。さらにinertiaJSとかいうやつと連携したりしていた。全く分からん。

jQueryをもう見たくないのでBootstrap5に移行してくれてると個人的にはうれしいなーとか思っていたのだが、Bootstrap自体捨てたらしい。分からんでもない。tailwindはあまり好かないのでそれはそれでうーんみたいにも思うが。

inertiaJSは完全に初知りだった。modern monolithを名乗っており、今一つ目指すところがつかみきれないが、PHPやRailsのようなジジイどもとReactやVueみたいなイマドキフロントエンド衆をうまく連携させられたらおいしいよねという気持ちは分かる。というかPHPとかに限らないか。フロントエンドはとにかくAPIを叩いてバックエンドはとにかくAPIを提供する、みたいなのが今どきのやり方な気がするが、そこで今一度バックとフロントの結びついたlampstackくさいやり方に回帰してみようみたいな向きなんだろうか。

公式サイトでは「クライアントサイドでルーティングをしない」「イマドキ風のSPAをやろうとすることによる辛さがない」部分を売り文句にしている。機能単位での分割より前にバックかフロントかで分かれるみたいな構図がいびつだって言われたらそれはそうなので、意外と面白いアプローチなのかもしれない。


なんか昨日早めに寝たのにあまり目がぱっちりしなかった。

Categories: