AtCoder Beginner Contest 061
C問題に時間をかけて、B問題 (https://abc061.contest.atcoder.jp/submissions/1283256) しか解けなかった。素直にA問題から順番に解いていくべきだった。
- HyperSpec を参照する回数が多かったので、その時間ももったいなかった。
- slime のミニバッファに出る関数のシグネチャをみて、使い方がわかる程度には慣れておこう。
- 標準入力の部分は似たようなコードパターンがなので、こんなマクロを用意してもいいかもしれない。
(defmacro defsolver (name vars &body body) `(defun ,name () (let (,@(mapcar #'list vars (mapcar (constantly '(read)) vars))) ,@body)))
次回は、今週末 http://abc062.contest.atcoder.jp/ で。
AtCoder Grand Contest 014
ひさしぶりに競技プログラミングの問題を解いてみた。
AtCoderにはSBCLがつかえるので、Common Lisp で解くことにしてみる。
ただ、C以降は手がでそうにでないので、A と B のみ。
Cookie Exchange
- 初AC http://agc014.contest.atcoder.jp/submissions/1268265
mod
つかっていたところをoddp
,evenp
に http://agc014.contest.atcoder.jp/submissions/1268286(/ ... 2)
を(ash ... 1)
に http://agc014.contest.atcoder.jp/submissions/1268602
気になったこととしては、
各テストケースの実行時間とメモリ消費量は、ほぼ差がない。
しかし、はじめ2つの解答のとき、 in1.txt のケース実行時のみ数値がはねあがっている。
ただ、ash にかえた解答のときは、そうではない。
sbcl の起動に時間がかかってるのだろうか。 sbcl --script Main.lisp
のように実行しているらしいが。
Unplanned Queries
- だめもとでWA http://agc014.contest.atcoder.jp/submissions/1268393
- ちょっとかんがえてみてTLE http://agc014.contest.atcoder.jp/submissions/1268536
- C++ の解答を参考にしてもTLE http://agc014.contest.atcoder.jp/submissions/1268559
make-array
にしてみるとAC http://agc014.contest.atcoder.jp/submissions/1268567loop
をdotimes
にしてみる http://agc014.contest.atcoder.jp/submissions/1268577fixnum
の vector にしてみる http://agc014.contest.atcoder.jp/submissions/1268587
私にとってこのコンテンストは難易度は高めだったので、次はBeginnersに参加してみよう。
Ubuntu 16.10 で skk で日本語入力する
前提
- OSインストールあと、IME は fcitx
- 全角/全角キーでInput Methodは切り替えできる
- 標準の日本語入力と Mozc は使える
- 気分転換のために skk をつかってみてもいいかと思った。
手順
sudo apt install fcitx-skk
でインストールする- Input Method Configurator で skk をつかえるようにする
- SKKの設定を開いて「確定時にリターンキーを押しても改行しない」にチェックをいれておく
使い方
- 全角/半角キーでひらがな入力モードにする
- Shift を押しながらだと変換できるようになる
- 送りがなを入力する前に、再度Shift を押す必要がある
入力例 | 結果 |
---|---|
henkansuru |
へんかんする |
Henkan<SPC>suru |
変換する |
Henkansuruq |
ヘンカンスル |
AKeru |
開ける |
AnagaTiMatigaTteinai |
強ち間違っていない |
モードの切り替え
ひらがな入力モード | 切り替え先 | 備考 |
---|---|---|
q |
カタカナ入力モード | - |
ctrl+q |
半角カタカナ入力モード | - |
l |
半角英数字入力モード | 戻るには ctrl+j |
詳細は /usr/share/libssk/rules/default
以下のJSONファイルを読むといい。
使い勝手について
ひらがなのみを書くなら、非常に楽で、新鮮な感覚が味わえる。 Enter キーを押す回数が減るのかな。次は辞書機能を使ってみたいと思う。
Shift がつらい
Shiftを押しながらの送りがな入力がつらことがあるので、;
で start-preedit するようにした。
これで「強ち間違っていない」は ;anaga;ti;matiga;tteinai
と入力できるようになった。
参考URL
- No skk, no life. https://www.slideshare.net/digitalghost/no-skk-no-life
- #4 SKK+AZIKで快適・効率的な日本語入力を! http://emacs.rubikitch.com/sd1408-ddskk/
- libskk で sticky-shift 的な… https://uwabami.junkhub.org/log/20141025.html