Linux Mintセットアップメモ
個人用のメモです。OSをとっかえひっかえするのに少しハマっているのでやるべき設定を書いておきます。
設定
スタートボタンを押してシステム設定より行います。
- スクリーンセーバーの設定
- デスクトップの設定からアイコンがデスクトップに表示されないようにする
- ワークスペースの循環
- サウンドでいらない効果音を消す
- 電源管理でほっといても電源が切れないように
- ソフトウェアソースからメインとベースのサーバを設定
- デスクレットから時計を表示
ターミナルから叩く
ここはdotfilesのinstall.shに書いておいたほうがよさげ
- ホームディレクトリを英語にする
LANG=C xdg-user-dirs-gtk-update
- Atomを入れる(バックアップ)
- ターミナルの文字サイズ設定
- 全角スペースをなくす
sudo apt-get install mozc-utils-gui
でMozcをGUIで開けるようになる。
- cpull
sudo npm install -g https://github.com/ctare/minit
追記 bashrcに全部書いたのでここは省きます……
その他
- 右下のカレンダーを右クリックし、書式を「%m/%d %H:%M」に変更
整数型変数の中身の交換
多分競プロerでは常識なんだろうけど。 でも自分は初めてしったのでメモしておきます。
例えば
int a = 15; int b = 32;
みたいな変数があって変数の中身を交換したいと。つまりaを32、bを15にするということです。
このようなとき、自分は今までこのような処理を行っていました。
int a = 15; int b = 32; int tmp = a; a = b; b = tmp;
しかしXORを用いるとこのような処理によっても同じ操作ができます。
int a = 15; int b = 32; a ^= b; b ^= a; a ^= b;
これでゴミ変数を作らなくて済みます。
が、可読性の観点からゴミ変数作ったほうがいい気がします……。しかも実行速度も早くなるわけではなさそうです………。 結局は個人の好みでしょうか。
こんちゃーす
レトルトと、申しまーす
おわり
Atcoder Beginner Contestで有名なアルゴリズムとデータ構造に触れる。
こんにちは、イナズマです。
AtCoderの問題を解いている時に、使うアルゴリズム、データ構造は覚えているけどいまいち実装法を思い出せない…そんなことがあると思います。少なくとも私は結構あります。今回はそんなことが起こってもすぐに自分のコードを見直せるように、有名なアルゴリズム、データ構造を扱う問題をメモしておこうと思います。
※配列等の超基本的なデータ構造は、ほとんどの問題で扱われると思うので省略します。
もしかしたら私のこのブログを参考に解く問題を決める方がいらっしゃるかもしれませんが、まずはこちらの問題を解くといいと思います。
qiita.com
以下の問題は私の独断で選んでいます。良い問題に出会い次第、少しずつ追加していこうと思います。 解説等は、僕よりもAtCoderにあげられているPDF・プレゼンテーションや、AtCoder Live - YouTubeのアーカイブを見たほうがわかりやすいと思うので割愛させていただきます。
追記
「確かに」と思ったので記事を一部編集しました。「良い問題」の選んでいるブログ、いつも楽しく見てるけど、みんな「良い」の基準がバラバラなので、「どういうものを良いとするか」みたいな基準は最初に書いた方がいいとおもう。
— chokudai(高橋 直大) (@chokudai) 2018年4月2日
AtCoder Beginner Contest
A問題
現状とくにないです。
B問題
現状とくにないです。
C問題
- C - 幅優先探索
幅優先探索を実装する問題です。 - C - AtColor
いもす法と呼ばれるアルゴリズムを用います。https://imoz.jp/algorithms/imos_method.html
いもす法でこの問題を解くとなるほど〜ってなると思います。知ってないとなかなか思いつかないのではないでしょうか。 - C - 壁抜け
ダイクストラ法(ベルマンフォード法などでも可)と二分探索を用います。難しいです。私はまだこの問題を解けてません。 - C - 2D Plane 2N Points
pairとmapの使い方がわかります。解き方にもよるんでしょうが、pairを持ったmapのsortなど、なかなか体験できないことができました。 解法がなかなか思いつかないと思うので、どうしてもという時はAtCoder Regular Contest 092/ Beginner Contest 091 解説放送 - YouTubeを観るとわかりやすいと思います。(このリンクからいけばC問題の解説から始まると思います。) - C - Cat Snuke and a Voyage
ユニオンファインドやるだけ。 - C - Splitting Pile
累積和をやるだけ。
D問題
- D - Grid Repainting
幅優先探索を使いました。 - D - Equals
ユニオンファインド木を使います。
おまけ
- A - 深さ優先探索
Beginner Contestではありませんが、上述した幅優先探索と対をなす深さ優先探索というアルゴリズムを実装する問題です。
■
書き残そう、あなたの人生の物語ーーーーー
(はじめまして)