草体にぼ日記

だらだらと

2020年6月30日 日記

2020年 6月 29,30日

まえがき


前もこの動画貼ったかも。被ってたらごめん。

ブログ書いてから寝るぞ。・・・・(7/1 07:09)

何した

大学の課題(つかれた)
最近折り鶴を折りまくってます。折って折って折りまくってる。

具体的に

今日解いた問題

ABC161 F- Division or Subtraction

  • [約数列挙,約数の個数,割った余り]

Nの約数について成り立つモノの数+(N-1)の約数の個数が答えだった

以下テキトウに文章書くけど、全て無意味。
N-1の約数で1以外のものは,Nの約数じゃなさそう。
だから、KをN-1の約数とすると、 N -> N - K -> N-K-K -> ... -> 1 となります。(操作をα回すると、N - αKとなり、αK = (N - 1))

また、KがNの約数でないとき、N-K, N-2K , N-3K...,がKの倍数にならないことは簡単な数式で示せる。
テキトウなxを用いて、 N-αK = xK (αは操作回数)であるとする。
するとN= (α+x)K となり、Nが元々Kの倍数ってことになっちゃあう。矛盾。って感じで良いと思う。

でまぁ、K = (N-1の約数)の時は、最終的にNが1になる。

次、その他にはどんな物があるか。

とりあえず、√N 以上のものについてかんがえてみると,(N以外では)√Nより大きいものについては、操作が N - K しか行われないことが分かる(√Nより大きくて、Nの約数であるものはN以外に無いため)

ABC060 D- Simple Knapsack

  • [ナップザックDP,特殊な制約,解説AC]

今回の制約は,荷物の重さが4種類しかない。というところでした。
僕は,DPのテーブルをdp[w0]から始めれば大きくならないんじゃないか?とかかんがえて詰みました。

重さの種類が4つしかないことから、重さ1,2,3,4として、重さ1がx個、重さ2がy個、...を全探索してあげて、重さ1のx個は価値が高い方からx個、重さ2のy個は価値が高い方からy個。としてやれば良い。
最大で254 (= 58 < 108)なので間に合いマス。(ちなみに、重さ1からx個取った時の価値なんかは累積を取ってやると楽そう)

ABC139 E= League

  • [vectorの削除,トポロジカルソート,計算量,グラフ,閉路を持たないグラフ]

世界で一番難しい問題です。 グラフ的に解くほうは理解できません。 いや、グラフを使わない方も理解できません。
(あれ?)

ABC082 D- FT Robot

  • [DP,操作]

上下に動く、というのと左右に動く、は目標(x,y)を目指すにあたって互いに干渉しない。
a0,a1,a2,...,an みたいなのを足したり引いたりしてxを目指そう。みたいな感じの問題に変えることが出来る。
dp[i][j]:= i回移動したとき座標jにいることが出来るか。みたいな感じでやると良い。

あとがき

以下は毎回記事に貼っているテンプレート

基本的に読書はTwitterで絡みのある人だけだと思いますが、僕のブログだけ見てるって人もいるかもしれないので、一応自己紹介っぽいことをしている記事を貼っておきます - 瑞々しぃにぼしの自己紹介(自己紹介の記事です)