2022/7/2(土)

今日もOpenXRをいじっていた。とりあえずエラーが出ないでアプリとして認識されて動く感じの状況には持ってこれた。さらにHMDの位置姿勢データも取れた。ただ、画面が表示されない。

描画にはVulkanを使っており、レンダーパスでとりあえず画面クリアをしたはずなのだが、真っ暗になったり「待機中」の表示になる。何かしらは描画しないといけないのかと思いhello_xrの描画部分をコメントアウトして実行してみたが、ちゃんと背景色でのクリアはされる。

考えられるのは、まだActionやActionSetの登録などを行っていないのでそのせいで何かうまく認識されていないという可能性。それから単純に今まで作った部分の中で何か処理に抜けがあるという可能性。正直分からん。hello_xrをいじくって挙動の違いを観察するのが早いか。


ABC258に参加した。

A: 最近やっとsetwとsetfillをググらなくても使えるようになった

B: $8\times N^2$通り全探索

C: クエリ1のxを累積する

D: あるステージをやり続けるのが最も効率がいいとしたら、他のステージを複数回やる必要はないしそのあとのステージをやる必要もないので、各ステージiについて「ステージiまで順に解放した後ステージiだけで残りの$X-i$回をやる」場合を計算し最小値を出す。X-i<0の場合に注意。

E: 箱は都度取り替えるので、ある芋から始めた場合、次にどの芋で溢れ、どの芋から始めることになるかはそれまでに詰めた芋によらず一意に定まる。二分探索や尺取りで適宜やっていけば各$O(1)$もしくは$O(\log N)$で求まる。箱に入った芋の数も同様に求まる。

各芋に対して1つ次の箱はどの芋から始まるかが分かったので、$2^n$個次の箱はどの芋から始まるかを求めてダブリングすればよい。全体$O(N\log N+Q\log(\max K))$。

F,Gは解けなかった。Gはbitset高速化が頭に浮かんだが、さすがに$3000^3$は無謀だろうと思ったのでやめていた。まさか想定解だとは!bitsetはもうオーダー1~2桁落ちるぞくらいの感覚で考えた方がいいのかもしれんな。ちなみに実装次第では愚直でも通るらしい。うそだろ…

Categories: