Python奮闘記

主にPythonのことを書くつもりだったけど、プログラミング周り全般の備忘録ということにした。大体競プロ。

ARC067-F Yakiniku Restaurants

問題 F - Yakiniku Restaurants 軒の店があり、それぞれ番号の肉があり、美味しさが決まっている。 また、隣あう店を移動することができ、そのコストが決まっている。 訪れ方と肉の選び方を工夫することで、番号の肉を集めたときの(美味しさ合計-コスト)の最…

ABC129F Takahashi's Basics in Education and Learning

問題 F - Takahashi's Basics in Education and Learning 等差数列がある。これを文字通りに左から連結した数字の mod はいくつになるか。 気持ち そのままだと扱いにくい。「連結」の操作は桁数さえ決まっていればなんとかなる。例えば桁数の数字を連結する…

ARC085-E MUL

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 問題 E - MUL 数列\(A\)がある。ある\(i\)を選んで\(i\)の倍数のindexの要素を消し去る、という操作を繰り返せる。残った数列…

フォルシアサマーインターン参加記

フォルシア株式会社のサマーインターン(5日間)に参加してきました。 記録は残しておいた方がいいかな、ということでつらつら書きます。なんか長くなったので適宜読み飛ばしてください。 きっかけから参加まで 5月ごろからインターンは探していた。今年はコロ…

からくり株式会社3daysインターン参加記

インターンに参加したので記憶にあるうちにまとめておく。 背景ときっかけ 4月からアルバイトがリモートになってしまい、社員の人と話す機会が極端に減ってしまった。 不安症なので就活イベントにときどき参加して、自分の立ち位置を測っていた。 色々企業の…

ARC074-E RGB Sequence

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 問題 E - RGB Sequence \(N\)要素の列があって、それぞれRGBで塗り分ける。 \(M\)個の束縛条件があって、各条件は区間中の色…

AtCoder黄色になりました

5/3のABCで黄色になりました! まだもうちょいかかるかな〜と思ってたのですが、サクサク上がってしまって自分でも驚いてます... 適当にやったこと、思ったことを書きます。適当です。 精進について 水〜青初期までは青Difを毎日一問解くということをやって…

AtCoder反省会~500-700点編~

黄Difに入ってから、方針の見当もつかない問題が増えてきた。 ちゃんと反省。 ・AGC012-B B - Splatter Painting 初見の方針 ・逆に見ると塗られたとこが固定されてよさそう? →各クエリで塗られるかどうかの判断をするなら変わりないのでは... ・うまく分割…

AtCoder水色になりました

10/6のAGCで水色になりました! というわけで、水色になるまでのアレコレを書いていこうと思います。 普段はこういう記事は書かないんですが、自分の中でひと段落ついた感じがあるので振り返りのつもりで書きます。ネット上に似た記事はごまんとあるので特に…

AtCoder反省会~4-500点編~

前の記事がかなり長くなってしまったので新しく作る。 結構難しくなってきたから解説AC多くなってきた... ・ABC082-D D - FT Robot 初見の方針 よくよく挙動を辿ればx方向とy方向で動きを分けることができるのがわかる。ただその後がO(2^N)の全列挙しか思い…

Python定数倍高速化

AGC033-Aの高速化に非常に苦労したため、Python定数倍高速化の技術をまとめとく。 atcoder.jp この辺の記事が参考になる。 juppy.hatenablog.com www.kumilog.net ・PyPyを使う 大事。 ・sys.stdin.readlineを使う 入力が大きくなると大事。 ・main関数にす…

AtCoder反省会

AtCoderでうまく実装できず、解説を見たものを列挙していく。反省を成長に繋げたい。 ・ABC123-D D - Cake 123 初見の方針 全列挙してソートすると計算量が多くなってしまう。なのでいかに不要なデータを削るかの話になってくる。 一つのリストAを見ていって…

仮想環境のactivate

仮想環境を立ち上げるのをすぐ忘れてしまう。 何の環境があるかは $ conda info -e コマンドで確認できる。 activateするには、 source activate (venv) と打てば良い。

DFS, BFSの実装

AtCoderのTypical Contestで深さ優先探索の実装を練習した。 A: 深さ優先探索 - AtCoder Typical Contest 001 | AtCoder 大まかな流れとして、 ・グラフを表すリストを用意(inを使わないために要素をインデックスにしてTrue Falseを収納するようにする)。 ・…

ローカル環境から一般公開まで

手元のエディタで作ったプロジェクトをpythonanywhereで一般公開するまでの流れをまとめる。 1. エディタ(Spyder)で編集 2. コードをGitHubにpush コンソールで git remote -v とするとログインできてるか確認できる。 git add . git commit -m "なんかコミ…