思考のジャンプ幅が狭いなら,飛ぶ回数で補えばいいじゃない!!

非情報系30歳が競技プログラミングやWeb開発を始めるとどうなるか?

【Rlang,Win10】Visual Studio Codeで環境構築

  • 結論
  • はじめに
    • 理由
  • 実行環境などの情報
  • 手順
    • 導入するソフトウェア・パッケージ
    • 初期設定
      • VS CodeでRのパスを定義
      • Rlangのパッケージをインストール
  • 実行方法
  • ハマった点
    • その1
    • その2
  • 感想
  • 今後の課題
  • 参考

結論

  • 手順:VS Code拡張機能(vscode-r)をインストールして,設定でRlangのパスを指定する.

  • スクリプトの実行方法は,R Studioと同じ.

  • 補完が必要な場合は,以下の作業を追加で行う.

    • 拡張機能(R LSP Client)をインストールして,Rlangのパスを指定する.
    • Rlangのパッケージ(languageserver)を導入する.
続きを読む

「ブログに技術書の内容を丸写しする問題点と、オリジナルなコンテンツを書くためのアイデア」を読んで

はじめに

こちらの記事を拝見して,ギクッとなりました.

学んだ内容を後から見返したときに便利なように,記事にまとめておこうという気持ちからでした.

しかし,結果的には丸写しに近いものがいくつもあるという状態だったからです.

記事の要約

### 技術書の内容を丸写しする問題点

1. 悪意がなくとも「無断転載」と見なされる可能性がある

2. 技術をきちんと理解できていない恐れがある


### オリジナルなコンテンツを書くためのアイデア

1. 必要最小限の内容となるように要約する

2. 自分の感想を積極的に書く

3. 自分の言葉で説明する

4. 自分で実験した結果を載せる

記事を読んで対処したこと

コピペメモに該当すると判断した記事を非公開としました.

他にも該当する記事がありましたら,ご指摘いただけると幸いです.

感想

  • 今回の教訓・反省点は,コピペレベルのメモを公開してしまったことです.

  • 書き手の信頼度を損ねるだけでなく,技術の習得という観点からもマイナス面が大きいという指摘に身につまされる思いでした.演習問題で詰まった部分が似通っているため,該当する要素に対する理解が浅いのだとようやく気がついたところです.

  • 問題点だけでなく,オリジナルなコンテンツとするためにはどうしたらいいのか? というアイデアが示されているところが素晴らしいと感じました.「アウトプットしなきゃ」という意識はありながら,何を書けばいいのか分からない人(自分も含む)にとって指針となる記事だと思います.

  • これまで技術ブログを読んで,いい記事・役に立った記事と感じた話題を抽象化してみました.こういった記事を書けるように精進していきます.

    • 最新の技術の紹介(新しい概念,言語やフレームワークなどのアップデート・プレスリリース情報,一次情報の日本語訳)

    • 類似した技術の比較

    • 特定の技術を継続的に利用して得られた知見

    • ある技術や概念に対して,体系的にまとめた記事

    • 初心者が陥りがちな失敗と対処方法を網羅した記事

    • 環境構築や開発で遭遇したエラーとその理由・対処方法,成果物  

  • 技術を学ぶとき,これまで遠回りしていたところが,△△を知ることでこんなに近道できるのか!という感動が大きなモチベーションになっています.今回の件を踏まえて,著者や技術に対して一層の敬意を払えるように意識していきたいと思います.

参考

blog.jnito.com

hinemoto1231.com

2019/07/07追記 www.reclog.net

AtCoder Typical DP Contest A - コンテスト

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • この問題の難しいところ
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
    • 実装のポイントは?
      • 参考資料
  • PythonによるAC解の一例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 直前の状態として,重複を除いた組み合わせの数を持つ.

  • 新しい要素に対して,直前の要素との合計を取り,重複した値があれば取り除く.

  • 重複を取り除くときにPython3ならset()を使うといい場合もある.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder CODE THANKS FESTIVAL 2017 (Parallel) C - Factory

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • この問題の難しいところ
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
    • 実装のポイントは?
      • 参考資料
  • PythonによるAC解の一例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 優先度付きキューを使うと最小値を高速で取り出せる.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder Beginner Contest 120 D - Decayed Bridges

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • この問題の難しいところ
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
    • 実装のポイントは?
  • PythonによるAC解の一例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 「ノードを結ぶリンクを一つずつ切り離す」を「ノードを結ぶリンクがない状態から,リンクを一つずつ付け加えていく」と言い換える.

  • 2つのノードが新たに連結されることで,行き来できるノードのペアが増加する.その増加分は,それぞれのノードとつながっている要素数の積で表される.

  • ノード同士がどのようにつながっているか? それがいくつあるのか? ということと,データ構造を工夫したアルゴリズムであるUnion Find木をどのように関連づけるか.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder Beginner Contest 106 D - AtCoder Express 2

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • この問題の難しいところ
    • 最初の一歩は?
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
    • 実装のポイントは?
  • PyPy3によるAC解の一例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 制約が小さいことを利用して,区間(1次元)を座標(2次元)に置き換える.

  • 二次元累積和を利用する.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder CADDi 2018 D - Harlequin

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
  • Python3による回答例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 変数が多いときは, N=2の例を試してみる.

  • 最適に行動する=相手がどんな行動をとったとしても,自分が勝てるように行動する

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder Beginner Contest 064 D - Insertion

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
    • 実装のポイントは?
  • Python3による回答例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 辞書順最小とするには,'('が不足している場合は左端に追加したほうがよく,')'が不足している場合は右端に追加したほうがいい.

  • 括弧'('')'を整数の正負の扱いに変換して,一つの変数で管理する.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder Beginner Contest 131 E - Friendships

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
    • この問題の難しいところ
    • 最初の一歩は?
    • 考察のキモ(Key Insight)は?
    • どうしたら思いつけそうか?
    • 実装のポイントは?
  • Python3による回答例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • さまざまなグラフを書いてみる.

  • グラフ理論に対する知識・理解を深める.スターグラフの存在を知っている(もしくは図として描ける)かどうか?

  • 構築問題のアプローチ方法の一つとして,条件を満たす上限値・下限値を理論的に導出できないか を試す.

  • 上記で得られた上限値・下限値から,目標に近づけられないか試す.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む

AtCoder Beginner Contest 068 D - Decrease (Contestant ver.)

目次

  • 目次
  • 結論
  • はじめに
  • 想定読者
  • 筆者の実力
  • 記事の特徴
  • 問題のリンク
  • 発想・解法とそれらを引きだすための方法・解釈
  • Python3による回答例
  • 得られた知識・知見
  • 感想
  • 参考
  • 更新履歴

結論

  • 操作の終了後の状態から最初の状態に戻っていくことを試す.

  • シミュレーション回数が大きくなりそうなときは,周期性が見つからないか小さいサンプルで書き出してみる.

はじめに

  • AtCoderで出題された問題を復習しています.

  • 公式解説や上位陣による解説ブログを読んで,自分に足りなかった部分や得られた知見を消化してアウトプットしようと思います.

続きを読む