イナズマの日記

こんにちは。

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アーカイブを見たほうがわかりやすいと思うので割愛させていただきます。

追記

「確かに」と思ったので記事を一部編集しました。

AtCoder Beginner Contest

A問題

現状とくにないです。

B問題

現状とくにないです。

C問題

D問題

おまけ

LinuxのAtomでProcessingを書く

こんにちは。ブログを作ったことを完全に忘れていました。ちょうどメモしておきたいことがあったので書いておこうと思います。

IDEでProcessingを書いていたら変数の補完等がなくて鬱病になったのがことの発端。

続きを読む