いろいろがんばりたいブログ

情報科学科の人がいろいろ書きます。

2012-01-01から1年間の記事一覧

来年やること

来年何やらなきゃいけなかったっけ Codeforcesやらtopcoderやら 留年しないようにする 例の言語作る キーボード作る なんか色々やるやる詐欺になってることをやらなければ。 ICPCもあるし、そういえばチーム練習もしたいとこかな

去年まとめ

去年なにしたっけ。1月 覚えていない 2月 バレンタインとかあったね 3月 19歳になりました。今思うと、3/19に19になったのだった。 留年の恐怖におびえていました 4月 情報科学科に入りました。 5月 なんか適当にがんばってました 6月 同上 7月,8月 ICPCって…

C83戦利品

はじめてコミケ行ってきた。始発で。 いわゆる戦利品

nCrを求めたい。

ナイーブな実装では、オーバーフローする。 いい感じにするといい感じ。 パスカルの三角形を使うともっと良い感じ。 #include <iostream> #include <vector> using namespace std; typedef long long ll; //ナイーブな実装 ll combi1(int n,int r){ if(n < r) return 0; ll ret</vector></iostream>…

ArchLinux 2012.12.01 インストール手順。

とりあえず、USBにisoを焼く。 # dd bs=4M if=/path/to/archlinux.iso of=/dev/sdbUSBからブートしたら、キーボードのレイアウト変えよう。うちのはUSだからしなくてよい。cfdiskでわける。ぼくはこんなかんじ。 # cfdisk /dev/sda1 boot 100MB /dev/sda2 / …

言語のアイデア。

いくつかのアイデア。stack-oriented な言語に関して。 static-typed dequeにする?(Onyx) stack-orientedな言語において、たとえばdupは(a -- a a)というような型を持つと考えられる?

Arch Linuxで使ってるもの。

Window Manager : i3 Text Editor : Emacs,Vim Terminal Emulator: terminal (xfce) Browser : chromiumなんかArchLinuxの環境整えるのとか書いたらいいかな

Arch Linuxでdbusがconnection refusedされたりする

なんかターミナルからfirefox起動したりするとなんかこういうのでてた。 firefox: Failed to connect to the D-BUS session bus: Failed to connect to socket /tmp/dbus-BDs77WtfJN: Connection refuseddbus再インストールして再起動したらとりあえず治った…

Codeforces100問解けた。

Solvedの多い問題を上から100問解けた。 変化としては、早解きと簡単な実装のミスが少なくなった気がする。これからはどうしようかな

Topcoder SRM 564 div2

なんか参加してないけどプラクティスしてみたらめっちゃ簡単だった。 includeとかは省いてみる。250 FauxPalindromes http://community.topcoder.com/stat?c=problem_statement&pm=12325&rd=15186 やるだけ。reverse(s.begin(),s.end())と、s.erase(unique(s…

Codeforces 155 div2

二日連続。 A問題解いてたら宅配便きて、ほげほげだった。 なんか昨日Cまで解けたから今日も解けたらいいなぁと思ってたら解けなかった。 しょんぼり。結果は1527 -> 1596 (+69)A. Cards with Numbers なんか同じ数字のペアを数えるだけ。 問題を読み違えて…

Topcoder SRM 563 div2

眠い。 がんばった。A,B解いた。 でも、Bすごい時間かかった。あと2分くらいのときにとけた。 Q.push({1,2,3,4});みたいのだめだった。 もっと早く解きたい。A.なんかがんばるだけ。簡単。 #include <iostream> #include <sstream> #include <string> #include <sstream> #include <vector> using namespa</vector></sstream></string></sstream></iostream>…

Codeforces 154 div2

今日はめずらしく19:00からで参加しやすかった。 ていうかなんか始まる10分前になんか友人Aがきた。 ずっといた。太鼓の達人してた。それで帰った。なんかごめんね。 ただし、いつもと違ってFile IOだった。今日の結果は、A,B,Cが解けた。はじめてCまで解け…

CF 1B Spreadsheets

http://codeforces.com/problemset/problem/1/Bなんか大変だった。よ。 #include <iostream> #include <iomanip> #include <vector> #include <map> #include <set> #include <queue> #include <stack> #include <bitset> #include <numeric> #include <algorithm> #include <functional> #include <cctype> #include <complex> #inclu…</complex></cctype></functional></algorithm></numeric></bitset></stack></queue></set></map></vector></iomanip></iostream>

Codeforces 161A Dress'em in Vests!

なんかどっちを固定するかで一度、ミスって大変だった。 O(max(n,m))かなぁ。直感的には。わからん。 #include <iostream> #include <iomanip> #include <vector> #include <map> #include <set> #include <queue> #include <stack> #include <bitset> #include <numeric> #include <algorithm> #include <functional> #include <cctype> #include <complex> #include…</complex></cctype></functional></algorithm></numeric></bitset></stack></queue></set></map></vector></iomanip></iostream>

Codeforces 230B T-primes

http://codeforces.com/problemset/problem/230/B3つの数で割り切れるような数であるかを判定する。 そのような数をXとおくと、Xは素数の自乗であることがわかる。 なぜなら、仮にXが素数であれば、2つの数でしか割り切れない。 だから、Xは素数でない。 素…

Thunar 1.6.xの新機能

今週、ArchLinuxにthunar 1.6.x系列が降ってきた。リリースは昨日?かな。 アナウンスはこちら まず、一番注目されるのが、タブのサポート。ずっとつかないよ?って言われ続けてたけど、 ここにきて、一転、サポートされた。 あとなんかサイドペインも変わっ…

Advent Calendar Advent Calendar 5日目。

この記事は Advent Calendar Advent Calendar 5日目の記事です. 前の人は @osa_k さん です。本日紹介するAdvent Calendarは、 Competitive Programming Advent Calendarです。 去年も開催していたようです。こちらです。2010で検索しても出てこないことから…

AOJ 0169 Blackjack

こなすちののなつんちののなとなすな もらみみしちにくちくなかななみらからすちみみせなからかにきちかかい にかにきちかちのなとちみみのなすなからになのらから #include <iostream> #include <vector> #include <sstream> #include <bitset> using namespace std; int main(){ string s; whi</bitset></sstream></vector></iostream>…

Codeforces 166A RankList

なんかいい感じにソートしたかった。 時間でソートして、解いた問題数でstableソートすればいいんかなって思ったけど、なんかうまいこといかなかった。 #include <iostream> #include <iomanip> #include <vector> #include <map> #include <set> #include <queue> #include <numeric> #include <algorithm> #include <utility> #includ</utility></algorithm></numeric></queue></set></map></vector></iomanip></iostream>…

競技プログラミング用テンプレ

#include <iostream> #include <cstdio> #include <iomanip> #include <vector> #include <map> #include <set> #include <queue> #include <bitset> #include <stack> #include <utility> #include <numeric> #include <algorithm> #include <functional> #include <cctype> #include <complex> #include <string> #includ…</string></complex></cctype></functional></algorithm></numeric></utility></stack></bitset></queue></set></map></vector></iomanip></cstdio></iostream>

CF 222A Shooshuns and Sequence

#137div2 A問題。 Problem - 222A - Codeforces なんだかちょっとだけ苦戦した。 後で調べたらシミュレートでもできるらしい。 Codeforces Round #137 (Div. 2) A : Shooshuns and Sequence - komiyamの日記 Codeforces 222 A. Shooshuns and Sequence - sim…

AOJ 0202 At Boss's Expense

AIZU ONLINE JUDGE Memory Limit : 32768 KBで、整数の集合をsetしてたらメモリ足りなかった。 bitset使ったら大丈夫。 一応、bootの配列もbitsetに置き換えてみたけど、あんまり変わらなかった気がする。(1000KBくらい?) 最終的には、1500KBくらいで通った…

XMonadでJavaのSwingを上手く使えるようにしたい

どうも、XMonadが悪いらしい。 https://code.google.com/p/xmonad/issues/detail?id=177 ここによると、最新のxmonadでは直っているようなので、なんとかする。 ArchLinuxなら、AURのxmonad-contrib-darcsとxmonad-darcsをいれる。 その前に、darcsはAURのda…

GraphvizでUML

なんか課題でUML書きたかった。 eps形式で出せる。 digraph uml{ node [shape=record]; graph [labeljust = r]; MathExpressionInterface [label = <{&lt;&lt;Interface&gt;&gt; <BR/> MathExpressionInterface | |+int evaluate()}>]; MathExpression [label = <{<I></i></br/>…

GraphVizで木を書こう。

GraphVizというソフトでn分木を書く。 GraphVizについてはhttp://ja.wikipedia.org/wiki/Graphvizを参照。 インストールして、コマンドラインからdotを叩けるようになっている前提。 インストール方法についてはArchなら、pacman -S graphviz で。 それ以外…

Math.random()*n か それともRandom.nextInt(n)か

答えから書くと、Random.nextInt(n)を使うべき。 2倍程度高速な上に、ばらつきも良い。 それに、Math.random()*nだと保守性も低いし。なぜかというと、Math.randomはRandom.nextDoubleを内部で呼び出し、また、nextDoubleはnextIntを二度内部で呼び出してい…

東京工業大学理学部情報科学科のPCにsshでリモートアクセス。

情報科学科のPCの環境はうんちなので、使いたくない。 でも、課題はそこからしか出せない。 そのめも。環境としては、クライアントはLinuxを仮定。 WindowsとかMacでも基本は多分おなじ。まずは、sshの公開鍵を作る。すでにある場合は不要。 $ ssh-keygen演…

string中のアルファベットを全部小文字にする。

#include <iostream> #include <string> #include <algorithm> #include <locale> using namespace std; int main(){ string s; cin >> s; transform(s.begin(),s.end(),s.begin(),::tolower); cout << s << endl; }</locale></algorithm></string></iostream>

最近。

SECDマシン、挫折してしまった。そもそも、最近Lisp書いてないのもあるし、 Cを書かなくなったこともある。 そう考えると、最近書いてるOCamlで作るのもいいかもしれない。