ちゃっくのメモ帳

ちゃっくがメモしときたいことをメモしとくよ

ICPC2017 国内予選

まえがき このストーリーはrianの書いたストーリー rian.hatenablog.jp に出てくるIQ1の物語です. IQ1視点のサイドストーリーという形になります 前日談 ~ チーム登録 ~ icpcたいてっく予選には登録が必要である.そして僕らは待っていれば唐突にコーチが生え…

ICPC国内模擬2017

ICPC国内模擬2017にチームIQ1で参加しました メンバーはkuwaさん,すごプロさん,僕で行動指針としては最初3完してあとは適当にって感じを予定してました 開始前 誰も蟻本を持ってきていない←??? TLE本も持ってきてない←まあしょうがないか コンテスト 開始直…

Codeforces #418 Div2 C An impassioned circulation of affection

コンテスト中に解けなかったやつ...Problem - C - Codeforces 概要 文字列sが与えられる.(sの長さ) クエリがq個飛んでくる(q) 各クエリはm()と文字cが与えられる. 文字列sの文字のうちm個をcに書き換えた場合,部分文字列でcのみからなるも文字列の最長の長さ…

ABC060D Simple Knapsack解いたんだよ

問題 D: Simple Knapsack - AtCoder Regular Contest 073 | AtCoder dp解 個使用して重さの総和がとなるときの価値の最大値 とする. ここで重さを直接持つと配列に収まらないのでの代わりにを使用することで配列に収まるようにできる 注意点 内部のループは…

C++のmapの最大のキーをとる

C++

C++のstd::mapのキーで最小のキーはbegin()を使用し,最大のキーはrbegin()を使用すればよい.間違えて最大のキーを取得する際にend()を使ってしまったのでメモ. endは最終要素の次にアクセスしてしまうので値が不定になる(多分). 未定義動作になるらしいです …

RUPCに参加してきました

RUPC2017に参加してきたので参加記を...~前日~ 前日まで大学の友人と旅行をしていたので昼神温泉から中津川まで車に乗せていってもらい、中津川からはrian,葦くんとともに名古屋→京都に行く. 京都でちょっと観光してからホテルに向かおうということで伏見稲…

BCU30に参加したっぽい?

3/11にBattle Conference U30にプロコン枠で参加しました. (行くぞ~) 浜松町から思ったよりも遠くてお昼ごはんの時間がなくなった... のでコンビニを探したがなかなか見つけられなくて日の出駅?の近くでローソン?を見つけてお昼ごはんを買う.これローソン? p…

tmux-256colorを入れる

tmuxでdefault-terminalをtmux-256colorにしたかった.しかしなんかubuntu16.04でtmux-256colorが入ってなかった.https://github.com/tmux/tmux/blob/master/FAQ#L366-L373これを試した見たけれど失敗....ここでaptでncurses-termを入れてみたら/usr/share/te…

Xmas Contestに参加したっぽい?

クリスマスイブ! とくに予定もないのでXmas contestに参加しました。このコンテストはチームでの参加が許されていたので、すごぷろさんにチームを組んで頂いて参加しました。(開始4分前に突然チームを組もうとお願いする馬鹿の図)@jken_ull チーム組まない…

XPS13(9360)にubuntuを入れた

DellのXPS13(9360)を買ったのでubuntuを入れようとした。 目的としてはwindows10とubuntuのデュアルブートをしようとしたが、それ以前の問題でubuntuのインストール時にSSDを認識できなかった。とりあえずArchwiki Dell XPS 13 (2016) - ArchWikiまた、dell…

gemでneovimをインストールできなかった

なんか sudo gem install neovimとかしたら ERROR: Failed to build gem native extension とか出てきて困った。 sudo apt-get install ruby-dev sudo gem install neovimとしたらいけた

SRM 700 Div1 Easy FindingFriend

問題 TopCoder Statistics - Problem Statement 解法 (2017/4/29:解き直したので下にちょっと付け足す.解法を確認するなら下に追記した部分を読んだほうがよい) leader[i]がfriendPlaceよりも大きい場合、部屋i以降はleader[i]以上のランクの人だけで調整し…

AOJ 1138 Traveling by Stagecoach

解法 拡張ダイクストラを使ってd[現在のノード][使用した切符]を埋めていく。 使用した切符の枚数nはなのでbitで管理すればよい。 Queueにはを入れ距離でソートして取り出せばよい。 計算量は多分くらいだと思う(違ったら指摘してください)... ソースコード …

vimでカラースキームが読み込まれたときにしたい処理

vim

Vimでカラースキームが読み込まれた後に処理がしたい時がある例えば特定のカラースキームのカーソルラインが気にいらない時とか....そういう時のためのイベントとしてColorSchemeがあるらしい例えばjellybeansのカラースキームが読み込まれた時に、カーソル…

SRM699 Div1 Easy OthersXor

問題 TopCoder Statistics - Problem Statement要はN個の数字があり入力x[i]にはi番目の数字以外の数字のxorを取ったものが入っている。 入力xを満たすようなN個の数字の組み合わせのうち合計が最小となるようなものを見つけその最小値を求める(ただしそのよ…

vim-autocloseで括弧入力直後にスペースを入力した時...

vim

括弧の補完プラグインTownk/vim-autoclose(https://github.com/Townk/vim-autoclose)において、補完対象の括弧を入力直後にスペースが2つ入力されていた。つまり for( とした場合に、 for(__) (_はスペース) となってしまった。これの解決策はここに記してあ…

技術室奥プログラミングコンテスト#2 C問題 有給休暇を解いたんだよ...

tkppc2.contest.atcoder.jp 解法 二分探索で長さL(実際のコード中では"mid")の連続した1を作るか確認していき、作れる最長の長さを出力すればいい。 ソースコード #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i</bits/stdc++.h>

tmuxをビルドしたんだよっ

ubuntu15.10でtmuxをaptで入れてもバージョンが2.0とかしか入らないので最新版を使うためにはソースからビルドする必要がある。 cd /usr/loca/src sudo git clone https://github.com/tmux/tmux.git cd tmux sudo ./autogen.sh sudo ./configure --prefix=/u…

ICPC2016国内予選

ICPC2016国内予選に参加しました。 チームnikkuとして参加し、メンバーはすごプロ(@jken_ull),いしづ(@ish_774),僕でした。結果としてはA,B,Cの3完で97位でした。以下当日の流れです(時間はだいたい。記憶は結構あやふや)16:30 -- 開始 -- とりあえず問題を…

TCO2016Round2C Easy BearBall

TCO2016Round2C Easy BearBallの解き方 問題 N個の点がある。 N個の点から始点と終点を選ぶ方法はN*(N-1)通り。 この全ての始点と終点の組み合わせについて、始点から終点に向かってボールを飛ばしたい。 ただし、点1と点2の間に点が存在しなければコスト1で…

ICPC2016国内模擬Bにでたんだよっ

6/12に行われたICPC2016国内模擬Bにで出ました。 チーム名はnikku,メンバーはすごぷろさん(@jken_ull),いしづ(@ish_774)、僕でした。 開始前(13:20) : 大岡山駅前で宗教勧誘を受けた。「聖書を読んだことありますか」って聞いてきたのでキリスト教とかそのあ…

boost/any.cppなんだよっ

C++のboost/any.cppを使ってみた.ドキュメントとかはなんかこの辺みた.Chapter 3. Boost.Any - 1.61.0boostjp.github.io 基本的には任意の型を代入できるような型(多分).STLも代入できるし,自作クラスとかも代入できる. つまりvector<boost::any>とかするといろんな型を</boost::any>…

texliveにjlistingを追加するんだよっ

texliveにjlisting.styを追加するときに少し困ったのでメモ環境はubuntu15.04 tex-live2015jlisting.styをどこかから落としてくる(なんかhttp://mytexpert.osdn.jp/index.php?Listingsのリンクが消えててそれ以外のところは散らばっているみたい)。jlisting.…

OpenTemplate.vimを作ったんだよっ!!!

vim

タイトルどおりOpenTemplate.vimというvimプラグインを作ってみた。 まあ、作ろうと思った理由はテンプレートファイルをどうやって管理すればいいか分からなくてそれなら自分でプラグインを作ってみるかってなったから。 github.com :OpenTemplate とすれば…

verboseなんだよっ!!

vim

vimを使っているときに想定しない折りたたみが起こっていたので :echo foldmethod を見ると syntax になっていた。 しかし、vimrcを確認すると set foldmethod=marker としている。おそらく何らかのプラグインがfoldmethodを書き換えていると推測。 しかし、…

Haskellで文字と数値の変換したんだよっ

文字通りHaskellで文字(Char)と数値(Int)への変換方法を記しておく。 文字から数値へ 文字から数値にする1つの方法はordを使う方法。Data.Charをインポートする必要がある。 例では'a'を対応するasciiコード97に変換する。 Prelude> import Data.Char Prelud…

暇だったからSICPの1章の何問かをHaskellで解いてみたんだよっ

春休みに入って暇だったからSICPを眺めてて問題を幾つかHaskellの練習がてら解いてみた問題1.3 square x = x * x sum_of_square x y = (square x) + (square y) prob1_3 x y z | x <= y && x <= z = sum_of_square y z | y <= z && y <= x = sum_of_square x…

stringstreamを使ってみたんだよ

C++

C++でstringstreamを使ってみた。 空白区切り 何がしたかったかというとC++で空白区切りの文字列を処理したかった。 しかし、C++にはsplit関数がない。そこでstringstreamが使えるらしい。 ソースコード #include <iostream> #include <string> #include <sstream> using namespace std;</sstream></string></iostream>…

vim と tmuxで色がおかしいんだよ

vim

なんかtmux上でvimを動かしてcolorschemeをjellybeansにした時に背景色が既に何かを書いた部分とそうでないところで変化してしまいおかしくなった。何故かneovimでは発生しない。正直neovimを使っているので問題は無いけど気持ち悪いので解決しておこうと思…

Ubuntuでtimeコマンドがなんかおかしい?

タイトル通り、ubuntuで time hoge としても確かに計測はできているようではあるが出力にreal,user,sysとかがない。また、オプションを付けてもエラーがでる。 どうやらbashのtimeコマンドを呼び出してるのかなぁ。。。結局直接timeコマンドを呼び出す必要が…

ubuntuでnpm使ったらちょっと辛い目にあったんだよ

ubuntu15.04でnodejs,npmをインストールした(結構前で何をどうやってインストールしたかは忘れたのでググってください)そして sudo npm install madoko -g とかして、madokoをインストールしても、実際にmadokoを動かすと /usr/bin/env: node: No such file …

GDBを使ったんだよ

GDBを使ってデバッグすると便利らしいけど意外と使う機会がなかった。 でもちょっと使う機会が出来たから今後使う時に困らないように使い方をメモっとく。まずコンパイル時にファイルにデバッグ情報を追加して最適化を向こうにする。つまりコンパイルすると…

John the Ripperを使ったんだよ

ksnctfのなんかの問題でjohn the ripperを使った。 せっかくだからjohn the ripperの使い方をメモっとく辞書ファイルとパスワードファイルがあるときの方法をメモっとく。(他の方法は必要になった時に追加するめう)辞書ファイルがdict.txt パスワードファイ…

vimで使ってる/使いそうなコマンド一覧なんだよっ

vim

基本的には使ってるコマンド一覧。 あとはマッピングすることで使えそうなコマンドとか普通に知らなかったコマンドとかも随時追加していく予定。 ただこの手の記事はあふれるほどあるのであえてここを見る必要は僕以外は無いぞ! 移動系 コマンド 説明 h,j,k…

VimScript -- バッファを操作する関数 --

vim

VimScriptを書こうと思って :commandname としたら行の適当な位置に何らかの文字列を出力したいと思った。 どうやらappendとかsetlineとか使えばいいらしい。 挿入系の関数 append append(行番号,文字列) で[行番号]行目の次の行に[文字列]が挿入される。つ…

2015年を振り返るんだよっ

2015年を振り返ります。3月 学科所属。なんで情報工学科に出したのかよくわかってない。5か6月 運転免許取得。学科試験に2回落ちたから受かった時は嬉しかった。12月 今。今年何をしたか思い出してる。 追記 今年何をしていたのか驚くくらい覚えていない。 …

vim(neovim)でvim-autocloseでダブルクオーテーションが補完されなくなったんだよ

vim

まあ、タイトルの通り。 Townk/vim-autocloseにお世話になってたんだけどなんかいきなりダブルクオーテーションの補完がされなくなった(・へ・) なんでだろう??? とりあえずvim-autocloseのissueをみてみたらそれっぽい現象の人がいた 解決方法はこれなの…

NeovimでEscのあとに変な文字がはいっちゃったんだよ

vim

解決できなかった問題。 2016/1/14解決確認してる気がする!(解決方法は一番下あたり) 環境はubuntu15.04,Neovim 0.1.0-devNeovim0.1.1 termial:gnome-terminal 使用:tmux,zsh.tmux.conf set -g default-terminal "xterm-256color" set -g escape-time 10 ~/…

neovimのclipboardを有効にしたんだよっ

vim

環境ubuntu15.04 neovimのバージョン NVIM 0.1.0-dev(注)正確には「clipboardを有効にした」というのは間違っているらしいです.clipboardにアクセス可能にしたというのがもう少し正しい表現なのかな?Vimではclipboardを有効化する際に set clipboard=unnamed…

NeoVimを入れてみたんだよっ

vim

NeoVimを入れてみた。 環境はUbuntu15.04 参考にしたのはここのページgithub.comまずは、 export XDG_CONFIG_HOME = ~/.config をした。 なんかvimでは~/.vimrcにいろいろ書けばよかったんだけどneovimでは~/.config/nvim/init.vimに書かなきゃいけないとか…

CodeFestival2015に参加してきたんだよっ!!

11/14~11/15に開催されたCodeFestival2015に参加してきたのでその感想とかをね11/14(Day1) 六本木駅から会場である泉ガーデンプレイスに向かった。地図を見る限り10分で着くはずなのになぜか30分くらい歩いた。会場で名札を貰う。やっぱtwitterIDとか書いて…

Vimで括弧のハイライトの色が気に食わない

vim

「Vimは最高なはずなんだけど括弧の色が見にくい(-_-;)」と思った。次のようにすると括弧の色を変えられる hi MatchParen ctermfg=LightGreen ctermbg=blue みたいにしたら調整できた。まあ、僕の色センスはダメらしいので上の配色ダメな人結構いそう。 今日…

Vimプラグイン-autocloseの設定

vim

Vimで括弧の補完にvim-autocloseを使っている。C++を書いている時にはデフォルトの設定で文句はなかったのだが、schemeを書いている時に '(1 2 3) のような表記をしたくなった時に、シングルクオートに対して補完が効いてしまい '(1 2 3)' のようになってし…

1桁入力の逆ポーランド記法電卓

今日はハローウィーン。なのにだらだらしてたら夜になっていた。せっかくのハローウィーンなのだから何かしようと思った。とりあえず逆ポーランド記法電卓でも初めて書いてみた。本当は2桁以上の入力を受けたかったけど面倒くさかったので1桁入力に絞った。s…

キーバインドの変更に失敗してた?

うん。前にキーバインドの設定方法にxkbを使って設定するために ~/.xkb/kemap/keymapを書き換えるみたいな方法を書いた。 あの方法はzshrcを読み込むとうまく起動してくれる。そこまでは良かった。 しかし、困ったことに日本語を入力したあとに設定が反映さ…

アセンブリ言語をアセンブルするときのメモ

環境:ubunut 15.04(64bit) 学校の授業でアセンブリ言語がある。自分の環境でも書けるようにしておきたいがどうもアセンブリ言語は環境移植性が低いらしくそのまま gcc -S a.c とかすると下のようになってしまう。 int func(int n){ return n+5; } .file "a.c…

Linuxでキー変更

キーバインド変更を試みた。その方法をメモっておく。 環境はubuntu 15.04 使用するのはxkbなんかいろいろググると~/.xkb/keymap/.mykbdと~/.xkb/symbols/mysmbolを変更していろいろやってたけどそれをしてもうまくいかなかった。3時間位頭かかえたけどどう…

工大祭の感想(技術的な話ではない本当に感想)

自分の展示について 工大祭でロボット技術研究会から展示をした。展示作品は「three.jsでboidsする」というものだった。実は展示をするのは初めてなのでわくわくした。制作日数1~2日程度でそれ程完成度の高いものが出来たわけではないがそれなりに展示できる…

three.jsの準備

three.jsを使って何かを書こうとした時、最初に何を書けばいいか分かんなくなりそうだったからおおまかなテンプレートを残しておこうと思った。適当に入門サイトとかドットインストール見ながら作ったからかなり似てたりすると思う。 HTML <html lang="ja"> <head> <meta charset="utf-8"> <title>three.js</title> </head> <body> <script src="three.min.js"></script> <script src="OrbitControls.js"></script> </body></html>

windowsのMBRの回復方法

windowsとlinux mintのデュアルブートを一旦解除したくなった。 そこで、linuxを一旦消すためにまずwindowsのMBRを回復しなくては行けないらしい。(これをしないとwindowsも起動しなくなるとかなんとか) なんかググっててもCDが必要とかあるけど僕のノートパ…