電波ビーチ

☆(ゝω・)v

「レッドコーダーが教える、競プロ・AtCoder上達のガイドライン」中級編の100問を解く vol1 ~No.17

E869120さんの超絶まとめQiitaが話題になっていました。

qiita.com

全三部作で、初級編は茶色、中級編は水色、上級編は黄色になるためのアルゴリズムやデータ構造のリンク、勉強法などがまとめられています。このうち中級編には「分野別 初中級者が解くべき過去問精選 100 問」という節があり、アルゴリズムごとに基本から応用まで良問が揃っています。ありがとうございます。

ということでこいつらをやっつけていきます。都合上、AtCoderとAOJで解答できる問題のみとなります。

  • 全探索:全列挙
    • 1. ITP1_7_B How many ways?
    • 2. AtCoder Beginner Contest 106 B - 105
    • 3. AtCoder Beginner Contest 122 B - ATCoder
    • 4. パ研杯2019 C - カラオケ
  • 全探索:工夫して通り数を減らす全列挙
  • 全探索:ビット全探索
    • 10. ALDS_5_A - 総当たり
    • 11. AtCoder Beginner Contest 128 C - Switches
    • 12. AtCoder Beginner Contest 002 D - 派閥
    • 13. JOI 2008 予選 5 - おせんべい
    • 14. Square869120Contest #4 B - Buildings are Colorful!
  • 全探索:順列全探索
    • 15. AtCoder Beginner Contest 145 C - Average Length
    • 16. AtCoder Beginner Contest 150 C - Count Order
    • 17. ALDS_13_A - 8 クイーン問題

続きはこちら。

「レッドコーダーが教える、競プロ・AtCoder上達のガイドライン」中級編の100問を解く vol2 No.18~No.33 - 電波ビーチ

今回は17問目まで。(随時更新予定 ...たぶん)

続きを読む

golangでsliceの要素をひとつ消したsliceが欲しい

まあこれですよね

http://or3.hatenablog.com/entry/2020/01/13/111700or3.hatenablog.com

package main

import (
    "fmt"
)

func main() {
    arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    fmt.Println(arr, len(arr), cap(arr))
    // [1 2 3 4 5 6 7 8 9 10] 10 10
    i := 3

    // l = arr[:i] + arr[i+1:] python風にかくとこう
 
    arr = append(arr[:i], arr[i+1:len(arr)]...)    // 3番目のインデックスを消したよ
    fmt.Println(arr, len(arr), cap(arr))
    // [1 2 3 5 6 7 8 9 10] 9 10
 
    arr = append(arr[:2], arr[3:len(arr)]...) // ↑からさらに2番目のインデックスを消したよ
    fmt.Println(arr, len(arr), cap(arr))
    // [1 2 5 6 7 8 9 10] 8 10

}

https://play.golang.org/p/YWUmGXi29Uk

変数を使い回すためにappendの第2引数の可変長スライスの末尾を指定しているんだけど、なんかほかに(理解と実装が)楽な方法があったらおしえてくださいだぜ


golang, 適当に趣味でやってるだけ*1 でプロダクト一切つくってないしなんか作れたらいいんだけどな、とくになんもないね

*1:それを言ったら現状プログラミング全般そうなんだけど

消費したコンテンツ 1月2020

先月から引き続き隔離生活2/4ヶ月目。あけましておめでとうございます。みんなでより良い世界を作ってみんなでもっとしあわせになろうぜ

  • ドラマ
    • トレーラー・パーク・ボーイズ: Out of the Park ~USA~
    • セックス・エデュケーション 2期
  • 映画
続きを読む

brewのgoenvが古いのでgithubリポジトリからインストールし直した

年単位で放置してたgoenvによるgo環境、ひさしぶりにさわろうとしたら

$ goenv install -l

.
.
.
  1.12.0
  1.12beta1

だいぶ前に1.13がでたと思うんだけど...

どうやらbrewでインストールしたgoenvはバージョンが1.23.3で止まっているらしく、なのでbrew upgrade goenvしてもムダだった。2020/01/13時点でのgoenvのnewestは2.0.0。githubから直接もってくればよさそうなのでそうする。

アンインストール

さようなら〜

brew uninstall goenv

インストールと設定

公式参照。

 git clone https://github.com/syndbg/goenv.git ~/.goenv

bash_profileに追記。

export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
export PATH="$GOROOT/bin:$PATH"
export PATH="$PATH:$GOPATH/bin"

更新。

source ~/.bash_profile

確認。

goenv -v
goenv 2.0.0beta11

🎉

medium.com

消費したコンテンツ 12月2019

しわっす、ようこそ月末へ。このひと月は山ごもりでした。でしたっつーか、あと3ヶ月あるんですが。山飽きた。雪溶けろ。

続きを読む

消費したコンテンツ 11月2019

味噌汁が美味い季節ですね。超寒がりなので暖冬は大歓迎です。自然保護原理主義派はここでお帰りください、一生こたつ使ったらあかんからな。では11月です、どうぞ。

追伸:退職しました。懐も寒い。

  • 映画
    • GIRL CODE
    • 雪が白いとき、かつそのときに限り
    • なめらかな世界と、その敵
    • 粘膜人間
    • イスラム飲酒紀行
  • 音楽
    • Panty & Stocking with Garterbelt THE WORST ALBUM
    • KMNZ - KMNVERSE
  • 配信動画
  • 11月 done
続きを読む