くろたんく雑記帳

日常とか、わんちゃんとか、機械学習とか、競プロとか、

MENU

2020-07-01から1ヶ月間の記事一覧

【英語学習】漫画で多読を始めた

以前にTweetしたが、多読ってなんか飽きちゃってだめだなーと思っていたが、やっぱり話が面白ければ続きそうだと思った。多読は単語を調べないでっていうんだけど、まぁドメイン吸収程度は調べつつ、まとめつつ。だいたいわかればいいのでスプレッドシートで…

Python3で解く AtCoder Beginner Contest 145 D - Knight

ナイトのコマがある動きをするときに、目的の場所にたどり着けるかどうかという問題。連立方程式も使うし、高速にを計算する必要もある。結構内容としては盛りだくさんで難しい。久しぶりにモジュラ逆数について考えたので軽くまとめた。 概要 解くときに考…

Python3で解く AtCoder Beginner Contest 146 C - Buy an Integer

単純に計算すると計算量多すぎるので、桁の条件を詰めつつ最大値を求める方法と二分探索がある。 目次 目次 概要 解くときに考えた内容 コード 条件を満たす最大の桁におけるを計算 二分探索 概要 問題 の整数を買いたい。 買うには、円必要。(はの桁数) …

【書評】ITエンジニアのための強化学習理論入門

中井さんのITエンジニアのための強化学習理論入門を読んだので、感想。中井さんの書籍は数式や文章のストーリー展開がわかりやすくて、その期待も込みで購入。教育用の書籍になると思うので。 中井さんの新刊気付いてなくて連休中にポチった。強化学習の導入…

Python3で解く M-SOLUTIONS プロコンオープン 2020 D - Road to Millionaire

当たり前だが、安い時に買って、高い時に売ればいいっていうのを実装する。条件的にはその時点で所持する金と株の範囲内で1日に何回でも売り買いができるので、翌日上がる時に買えるだけ買って、翌日上がらないなら全部売るを常に繰り返せばいい。 こんな能…

Python3で解く M-SOLUTIONS プロコンオープン 2020 C - Marks

結構単純。回テストがあって、頭から個ぶんたまったら、累積積(総乗)をずらしながら考える。 この時のポイントは、出と入の大小関係できまるので実際に総乗を計算する必要はないということ。(出と入については後述する。)解説は出と入の割合を計算してい…

M-SOLUTIONS プロコンオープン 2020 参加ログ・感想

M-SOLUTIONSが主催する個人戦のプログラミングコンテストに参加した。前回に引き続き、企業主催のコンテストに参戦。 何回かペナルティーがあったがABCDまで解けた 内容 結果 どう考えたか + α A - Kyu in AtCoder B - Magic 2 C - Marks D - Road to Millio…

Python3で解く AtCoder Beginner Contest 145 C - Average Length

街が個あるので全部パターン数えていると計算量が大きくなってしまう。最終的に平均の距離を出すのでそこも合わせて工夫する 概要 解くときに考えた内容 コード 愚直に、全経路パターンの和を出す方法 各街同士の距離の和を出して、重複回数をかける方法 概…

Python3で解く AtCoder Beginner Contest 144 C - Walk on Multiplication Table

このコンテストのA, Bは九九の問題であった。この問題はそれを制約の範囲でかなり大きい表をイメージする。 がと大きいので工夫して探索 概要 解くときに考えた内容 コード 概要 問題 九九のようにのマスがある。 そのマスの値はである。 2以上の1つ整数を与…

Python3で解く AtCoder Beginner Contest 143 C - Slimes

同じ文字をグループとして捉えてその切れ目を数える 概要 解くときに考えた内容 コード 概要 問題 文字列が与えられる。 例えばaabbbbaacaであれば、[aa][bbb][aa][c][a]のように隣接する文字が同じ場合は一つのグループとする。(問題的にはスライム) 最終…

Shell関連まとめ(旧ブログからの再掲)

シェル関連のまとめ。特に新しいPCでなんかやらんといけなくなった時などに。 更新:2020-07-18 見出しを付け直し、一部修正。 プロンプト 2行プロンプト screen screenの使いかた .screenrc screen時のssh-agent etc ちょいちょい使うもの プロンプト 2行プ…

GCP関連コマンドまとめ(旧ブログからの再掲)

GCPを使い始めて、よく使うものはまとめておこうと思って書いた記事。 gcloud インストール configuration bqコマンド query queryの実行 テーブルの作成 gsutilコマンド ls cp GCR (コンテナレポジトリ) push pull google.cloud.bigquery API その他参考図…

ColabでVNCをつかってMineRL(旧ブログからの再掲)

MineRLをやりたくてとりあえずColabで実行できる環境を作った時の記事。 若干修正した。 MineRL(MinecraftのシミュレーターとしてMalmoを使った強化学習プラットフォーム)をColabから操作したいという需要があって、 ちょうどColabでVNCを使ういい機会と思っ…

ColabでTensorBoardをセル内に出力する(Pytorch)(旧ブログからの再掲)

一旦、サーバーでやる前にColabでちょっと試す時にTensorBoardをセル内に出しておきたい時があって、その内容の記事。 最近、サーバーでごにょごにょやる前にColabで処理するので、いちいちmatplotlibでlossとかimageとか見たいが、TensorBoardをセル内に出…

適当な環境で分析している人が多くてびっくりした件(旧ブログからの再掲)

去年にいろんな機会があり、チームで仕事しているのに環境を整理されてないので、色々問題だと感じてまとめた記事(部分的に修正いれる) 分析再現性については、個人的に普段からかなり強めに言っていることなので、別記事も追加として最後に加えた。renvの…

papermillをつかってJupyter notebookのままバッチ実行(旧ブログからの再掲)

以前自前サーバーで書いていた記事の再掲。 NetflixがpapaermillというJupyter notebookをそのまま実行して、開発に持っていけるツールを開発していて、まぁ場面は限られるけれどそこそこ使えたのでそのまとめ記事 若干古いネタなんだけどpapermillをつかっ…

bashcms本は非常にわかりやすかった(旧ブログからの再掲)

以前自前サーバーで書いていた記事の再掲。 シェルスクリプトでCMSを作るというもので、シェルスクリプトの理解も高まって非常に勉強になった。結果的にサーバー代とかを考えて、はてブに移行することにしたけれど、色々勉強になった良い本だった。 ブログを…

Python3で解く AtCoder Beginner Contest 150 D - Semi Common Multiple

半公倍数って初めて聞いた。 まぁ定義に従って計算する。 ぱっと見、複数の値に対する最小公倍数を使うんだろうな。 結果的に、最小公倍数を計算しきってから大きさの判定をしていたせいで、一部REが発生していて、そこが原因と気付かず、ひたすら原因究明の…

Python3で解く AtCoder Beginner Contest 142 D - Disjoint Set of Common Divisors

公約数と互いに素の問題 概要 解くときに考えた内容 素因数分解 コード 概要 問題 1以上の2つの整数を与えるので、公約数からいくつか選ぶ。 ただし、選んだもののどの2組も互いに素である必要がある。 最大いくつ選ぶことができる? 解くときに考えた内容 …

サイレントギター購入

自粛も続いているし、気分転換にギター買おうと思って、色々悩んだ結果、YAMAHAのSLG200Sを購入。 YAMAHA SLG200S CRB 色は新色のクリムゾンレッドにしたかったのでめちゃくちゃ探した。コロナの影響もあってか生産が止まっているようでなかなか手に入らない…

Python3で解く エイシング プログラミング コンテスト 2020 C - XYZ Triplets

Cにしては簡単な全探索だった。なのに変なやり方でやってしまった・・・ 概要 制約 解くときに考えた内容 コード 変なやり方でやってしまった・・・ 素直にやればこうだった。 概要 問題 は以下を満たすの組の数である。 整数nを与えるのでf(1), f(2) ... f(…

エイシング プログラミング コンテスト 2020 参加ログ・感想

AISing Ltd.が主催する個人戦のプログラミングコンテストに参加した。企業主催のコンテストは初めて参戦。 DがTLEで死んだが、まぁ今の自分の感じではこんなもんだろう。 内容 結果 どう考えたか + α A - Number of Multiples B - An Odd Problem C - XYZ Tr…

Python3で解く AtCoder Beginner Contest 142 C - Go to School

インデックスをいい感じにずらして考えられるかの問題 こういう問題を逆順列を求める問題というらしい 概要 解くときに考えた内容 コード 概要 問題 出席番号の人が来たときの自分を含めている人数を与えられる。 どういう順番で来たのかを出席番号で答えら…

Python3で解く AtCoder Beginner Contest 173 D - Chat in a Circle

どういう時に最大値を取るのかがわかれば、実装自体は簡単 概要 解くときに考えた内容 コードに起こす時のポイント コード 概要 問題 人ユーザーがいる。 はi番目のユーザーのフレンドリーさ。 円陣をつくる。 円陣を作った時に両隣のユーザーのうちフレンド…

Python3で解く AtCoder Beginner Contest 173 C - H and V

bit全探索をマス目に対して行う。行と列に対してbit全探索をするのでネストが深くなる。bit演算子に慣れていないとコード自体がよくわからんので、そこらへんもまとめる。さらに、itertoolsでbitの列挙はできるのでそれもやる。 概要 解くときに考えた内容 b…

AtCoder Beginner Contest 173 参加ログ・感想

内容 結果 どう考えたか + α A - Payment B - Judge Status Summary C - H and V D - Chat in a Circle おわりに 内容 Python3でやっている。 参加ログ。 所感。 コンテスト中に何を考えたか。 コンテスト後に解説をみたり、少し整理したりしたくらいの内容…

Python3で解く AtCoder Beginner Contest 141 D - Powerful Discount Tickets

リスト内のmaxの値が必要なパターン。 これをそのままやらずに、優先度付キューを使う。 Pythonのheapqは最小値をpopするので注意。 概要 解くときに考えた内容 コード 概要 問題 個商品がある。 枚商品券がある。 円の商品に商品券を枚使うと商品の値段が(…

Python3で解く AtCoder Beginner Contest 141 C - Attack Survival

カウントした値を持ってからクエリを処理する系っていうパターン。 別の方法もある。先に持ち点から全クエリ分引き算しておいて正解したら足す。 概要 解くときに考えた内容 コード 概要 問題 ・最初の時点で全員ポイントもっている。 ・回クイズを行って、…