ひらめの日常

日常のメモをつらつらと

AtCoder: ABC127-E Cell Distance (500)

Cell Distance 問題はこちら atcoder.jp 数式があるので、それを文章にする。 「 行 列のマス目のうち、 マスに駒をおく。このコストは全ての駒のペアのx座標の差 + y座標の差の和で計算される。これを全ての配置について和を取りなさい。」 考え方 愚直にや…

AtCoder: ABC131-F Must Be Rectangular! (600)

Must Be Rectangular! 問題はこちら atcoder.jp 考え方 解説放送が一番わかりやすいと思うので、そちらを見ると良い。 https://www.youtube.com/watch?v=XI8exXVxZ-Qwww.youtube.com 座標を二部グラフで捉えるという考え方は典型らしい。 下記の座標を、x座…

AtCoder: ABC128-E Roadwork (500)

Roadwork 問題はこちら atcoder.jp 考え方 まずは、 に出発した人がどのような条件を満たした時に の地点で通行止に引っかかるかを考えてみる。すると、1秒ごとに1進むので、以下の条件を満たしているときに通行止に引っかかるということが分かる。 これを愚…

AtCoder: ABC130-E Common Subsequence (500)

Common Subsequence 問題はこちら atcoder.jp この問題はLCS(Longest common subsequence)と関わりが深いのでまずはそれから書いてみる。 LCS 最長の共通部分列の長さを求めてくださいというのが典型的な問題。次のような例を考えてみる。 s: abcd t: acfed …

Educational Codeforces Round 63 D. Beautiful Array

Beautiful Array 問題はこちら codeforces.com 自分が気づいたところ まず最初に,xが負の時は最小区間和を選んできてそれをx倍する.xが正の時は最大区間和を選んできてそれをx倍する.とすれば最大値が求まると考えた.ここでセグ木とかをググり始める... …

AtCoder: Tenka1 2019-C Stones (300)

Stones 問題はこちら atcoder.jp 自分が気づいたところ 全ての石が黒 or 白になると勘違いをし, WA 左端から ... と白が続いている時は無視し,そのさきは全て黒 or 白になると勘違いし,WA 右端から ### と黒が続いている時も無視できることに気づくが,黒…

Codeforces Round #552 (Div. 3) E. Two Teams

Two Teams 問題はこちら codeforces.com 自分が気づいたところ 愚直解は,毎回使っていない最大値を検索→幅 を探索し,使っていないものをk個チームに属させるというもの. 計算量としては, なのでそのまま実装すると になるので間に合わない. そこで,一…

Codeforces Round #551 (Div.2) C Serval and Parenthesis Sequence

Serval and Parenthesis Sequence 問題はこちら 問題文難しくないですか... codeforces.com 自分が気づいたところ 括弧を扱う問題では,stackを用いると綺麗に書けるなと思い実装.しかしコンテスト時間内に問題文を解読できなかった... 解説を読んで このブ…

JOI2018/2019-D 日本沈没(難易度6)

日本沈没 問題はこちら atcoder.jp 自分が気づいたところ 小課題1に関しては,愚直にシミュレーションしていけば求まるが,満点をもらうことはできない. のように,谷になっているものに注目した.すると,問題は「谷となっているところのうち,一番低いと…

AtCoder: ABC045-D すぬけ君の塗り絵 (400)

すぬけ君の塗り絵 問題はこちら atcoder.jp 自分が気づいたところ なので,全てのマス目を調べていくのは間に合わなさそう.そこで,黒く塗られているマス目だけに注目することにした. 一つの黒いマス目が影響を及ぼすマス目は,周囲の9マスだけである.こ…

AtCoder: ABC095-D Static Sushi (500)

Static Sushi 問題はこちら atcoder.jp 自分が気づいたところ 最大でも反対方向に向きを変える動きは一回だけなので,反転する場所を一つ決めてそこから反転した後の最大値を求めることを考えた. これだと,計算量は反転する場所が ,反転後の最大値探索が…

AtCoderで水色になるまでやったこと

2019/12/23追記: ※このブログはABCがABCDの4問だった頃の記事になりますので,現在では当てはまらないことも多いですがご承知ください. 2019/03/24のABC122で水色になりました. 自分が割と苦労して水色になったのと,同じようなブログがかなり参考になった…

C++のクラス関連で調べたことメモ

アクセス修飾子 コンストラクタ 引数が1つの場合 移譲コンストラクタ ヘッダとソースを分離する アクセス修飾子 まずは書き方.順番やその個数は任意で,何度現れても良い. class Hoge { public: int a; private: int b; public: int c; }; デフォルトのメ…

競技プログラミングに便利なCLionの機能

はじめに テンプレート機能 デバッグ ファイル単位での実行 ファイルのリフォーマット 最後に はじめに 僕は競技プログラミングやるときのIDEとしてCLionを使っています.周りにCLionを使っている人が多くないので,今回はCLionってこんなに便利だよ!という…

京都大学大学院情報学研究科の入試情報まとめ(自分用)

この記事は,外部からの院進先として京都大学大学院情報学研究科の「社会情報学専攻」を選択肢に入れている僕が,ネット上の情報を自分用にまとめたものです.

dotfilesの管理方法を変えた話

以前の記事でdotfilesの管理方法をまとめるという記事を書いたのですが,これは.vimrcとかのdotfileに対してシンボリックリンクを貼るだけのものでした. hiramekun.hatenablog.com 今回はこちらのcreastyさんのdotfilesを参考にして,ansibleで構成を管理す…

教育情報学が勉強できそうな大学院を調べてみた(自分用メモ)

こちらの記事は完全に自分用にまとめたものです. 情報学的観点から教育を捉えることがしたいのですが,その教育と情報という軸の中で,どの点から関わっていくのかが悩ましいところです. 入れるかどうかは別として考えて,入るとしたらという観点で書いて…

【まとめ】terminalでShift-JISの文字コードを扱う時の便利なコマンド

terminalでshift jis vimでshift jisファイルを開く diffを改行コードを無視して表示する ファイルの文字コードを変更する terminalでshift jis shift-jisファイルを扱う時、そのまま扱う・文字コードを変更するなどいろんな方法があると思います。 今回はsh…

Pythonのsetuptoolsで生じたAttributeErrorを解決(メモ)

setuptools周りを触り出したら、condaコマンドを打つたびに以下のようにエラーが出てきて実行ができなくなりました。 AttributeError: '_NamespacePath' object has no attribute 'sort' きちんとは理解していませんが、setuptoolsのgithubのissueをみると、…

『「学力」の経済学』まとめ

出典はこちらの中室牧子先生の『「学力」の経済学』です。教育を経済的にエビデンスベースで解説してくれていて非常に興味深い本ですので、ぜひ本を読んでみてください。 「学力」の経済学作者: 中室牧子出版社/メーカー: ディスカヴァー・トゥエンティワン…

Macのストレージ不足を解決

調べる Tex環境削除 Homebrewキャッシュ削除 Anaconda関連 AndroidStudio関連 まずはこちらのサイトを参考にしました。 qiita.com 調べる 以下のコマンドで5GB以上のファイル・ディレクトリを出力します。 $ sudo du -g -x -d 5 / | awk '$1 >= 5{print}' ..…

UDPについて簡単にまとめる(TCPとの違い等)

UDPの機能 TCPとの違い UDPが使われる理由 参考 UDPの機能 以下の二つの機能のみを持ちます。 IPの層にもう一つ別のアドレッシングの層を追加する 転送中に発生し得るデータの破損を検出し、破損したデータグラムを破棄する TCPとの違い 接続を確立しなくて…

dotfilesの管理/運用方法をまとめる

※現在はこちらの運用方法に変えています. hiramekun.hatenablog.com 目標 dotfilesをレポジトリ管理 管理用ディレクトリ作成 シンボリックリンクを貼る githubにpush 目標 様々な設定ファイルをgithubで管理運用するのは、以下のような目標があります。 他…

Rでガウス最尤推定(フィッシャーの線形判別分析)

全ての実装はこちらにあります。 7/5:リンク先更新しました。 github.com ガウス最尤推定 流れ 定義 最尤推定量 対数事後確率 フィッシャーの線形判別分析 Rで手書き文字を分類する 事後確率計算 結果 2クラス分類 多クラス分類 ガウス最尤推定 流れ ガウス…

RでKLダイバージェンスを描画する

今回はRでKLダイバージェンスを描画します。 KLダイバージェンスとは、カルバック・ライブラー情報量の略称。2つの確率分布の差異を測る距離的尺度として捉えることができます。 と言われても実感がわかないと思うので、実際に描画して感覚を掴んでいきたい…

Rで2次元正規分布を描画する

自分の実装はgithubにあります。 github.com D次元正規分布 定義 散布図 確率密度関数 参考 D次元正規分布 1次元正規分布はよく統計学とかでも出て来ますが、今回は2次元正規分布の確率密度関数を描画したいと思います。 定義 :次元 :D次元ベクトル :xの…

Shift-JISのエクセルファイルの文字化けを直す

何回も同じことを調べていて覚えないので備忘録的に残します。 ファイルの文字コードを調べる >> nkf -g hoge.csv Shift-JIS ファイルの文字コードをUTF-BOMに変更する UTFの文字コードにすると、エクセルは適切に読み込んでくれないので、UTF-BOMに変換する…

メモリの種類を10分でまとめる(ROM, RAM)

◎ROM ○マスクROM ○PROM ROM ヒューズROM EPROM ◎RAM ○SRAM ○DRAM 高速モードDRAM SDRAM RDRAM ◎ROM Read Only Mmory その名の通り基本動作は読み出しのみ。 次のようにROMには様々な種類があります。 ○マスクROM メモリLSI(データを記憶に特化した回路のこ…

コマンドラインからpickleファイルの中身確認

Pythonファイルでは pythonではpickle.dump()で書き込み、pickle.load()で読み込みます。 # 書き込み with open("hoge.pkl", mode="wb") as f: pickle.dump({"hoge":"fuga"}, f) # 読み込み with open("hoge.pkl", mode="rb") as f: hoge = pickle.load(f) …

python+scikit-learnで多項式曲線近似をリッジ回帰で求める

はじめに 多項式曲線近似とは 係数の求め方 一般的な回帰モデル 正則化した回帰モデル 実装 元の関数 多項式の定義 学習 予測 はじめに 実装はこちらに全て載っています。 7/5:リンク先変更しました。 github.com 多項式曲線近似とは 多項式曲線近似とは、関…