2022/5/18(水)

Rocky Linux上のvcpkgでopensslが入らないので、ビルドログを調べてみたらIPC-Cmdなるパッケージがないということだった。sudo dnf install perl-IPC-Cmd したら無事入った。


OpenAPI Generatorというものがあるのを知った。OpenAPIの形式でAPI仕様が配られている場合、そこからAPIクライアントやモックアップサーバーを自動生成できるという仕組みのようだ。素晴らしい。

中身はjavaのようで、コードの自動生成にmustacheというテンプレートエンジンを使っているらしい。

使える変数などの情報があまりないので、とりあえず細かい部分後で作ればいいやと思って空の.mustacheファイルだけある状態でビルドにかけたらエラーが出た。公式通りに中身埋めたら通った。

使える変数の情報は整理しておいてくれ…そこが一番肝心でしょうが…


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

競プロ典型90問

044 Shift and Swapping: 何回回したか覚えておくだけ。

045 Simple Grouping: 以下、あるグループ内の2点の最大距離をそのグループの「スコア」と呼ぶことにする。とりあえずまず最初に全部分集合においてスコアを求める。$O(K^2 2^K)$なので余裕。その後$2\leq i \leq K$について、全部分集合における、その部分集合をi分割した場合の最小スコアをDPで求める。部分集合の部分集合を全列挙するやつをやれば$O(K3^K)$で倒せる。$15\times 3^{15}$は$10^8$オーダーなので通るか若干危ぶんだが、意外とあっさり通った。定数倍は軽かったのが行幸した。

良く分からん最小化なので最初二分探索だと思ったもののDPで解けてしまった。解説を見ると二分探索の解もあるらしい。彩色数がどうとからしいがどう落とし込むんだ…

046 I Love 46: mod 46で値の数を数えていけばよい。最大$10^{15}$になるのでintだと収まらないのに気づかず1WA。しょーもな。


今日は午前中(遊んでいたが)一応寝なかった。生活習慣改善の第一歩ということにしておこう。

脚も回復したのでスクワットをやった。

午前は遊んでしまったが、OpenAPIをいじくりまわしてvcpkgの問題を一つ解決してちょっとイベントに参加して人の発表を聞いたりしたので、多少なり生産的な一日だったと言えるだろう。

そういうことにしておく。

Categories: