なが月・18日目

18日目

午前

ABC133A-Dを解いた。C問題は「剰余の積は積の剰余だから、LとRの商が異なるならば剰余が0のものがLR間にあるので答えは0(注:これは正しい)、LとRが同じ商ならL%2019 < R%2019だから(注:ここまでは正しい)積の剰余の最小はL%2019 * (L+1)%2019(注:ここが間違い)」と考えてしまった。2019は素数ではないので、剰余が3の倍数のものと673の倍数のものがLR間にあれば積の剰余を0にできてしまうし、そうでなくともLR間にp=3kなるpが存在すればq≡r mod 673 (0 <= r < 673) なるqをLR間にとるときp*q≡p*r mod 2019が成り立つ。このような時、複雑な場合分けをするよりも間に合う愚直解を通すほうがよく、LとRが同じ商なら全部掛けて最小のものを調べるのが正しい。

D問題は1-based indexかつ、ダム貯水量が山の形状に似たAという文字を用いて A_{i}で表されるので頭が変になりそうだった。答案コード内に問題を0-based indexで書き換えたものを記して対処した。Damなので D_{i}で表してほしかった。その点でいうと昨日8月18日開催のABC138Cは「価値」として与えられる値をvで表してくれていたのでうれしかった。入力の変数名を自分で書き換えることで対処できるとする向きもあるが、自分はコードの変数名ではなく文章に向き合って問題を解いているので軽減策とはならない。MathJaxから出力された文字(mjx-charクラスspan要素)をキャプチャして書き換えられるChrome拡張でも作ったほうがいいかもしれない。肝心の計算は大したことがなく、ほとんどの時間は「 A_{1}が意味するのは山1に降った...いや違うンンンンンン(怒り)山1-山2、ああ1-based indexだからつまり A_{0}は山0-山1(嘆息)間のダム0に溜まった雨で...」の混乱に費やされた。

午後

ビデオを補正するチュートリアルでは色温度コントラストを調整する手法を学んだ。エフェクトツールバーから選択する。基本的にPhotoshopと同じで、特筆すべき操作の特徴はなかった。

https://helpx.adobe.com/after-effects/how-to/create-custom-transitions.htmlではレイヤーマスクを用いることでレイヤーの表示範囲を制御し、トランジションを作成する方法を理解した。レイヤーを選択した状態で長方形ツールなどを使うと自動的にマスクになるというのは知らないと戸惑う仕様だ。ダブルクリックでマスクを拡縮できるようにする。

今期はロード・エルメロイII世の事件簿を観ているが、このようにトランジションの色々なやり方を知ってオープニングでどのような画面切り替えが行われているのか意識して見るようになった。

シェイプレイヤーとリピータを使ったエフェクトではAlt+[で開始位置をトリムすることができることが分かった。またトラックマットをアルファに設定することで、自分のレイヤーより上にあるレイヤーを自分のレイヤーのアルファマスクとして扱うことができ、結果的に文字が透過して背景を映し出しているような演出ができる。