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

ICPC2013国内予選F

F問題が良問だったので解説記事を書くことにしました。no title解法は F の「ある区間をある文字にできるか」っていう DP はコンテストやってない人でも大学で習う有名 DP だよ(別に知らなくても普通の区間 DP だけど) URL法 2013-07-12 19:51:47 via Hoot…

TCO2013 Round1B

TCO2013 Round1B250ソートして両端から取るだけ500縦の選び方を決めると横の選び方はgreedyに求まるのでビット全探索 int getMoves(vector <string> board, int R, int C) { int h=board.size(),w=board[0].size(); int ans=INF; vector<int> b(h); rep(i,h){ int m=0; re</int></string>…

ウェーブレット行列を実装した

元のデータに対して十分小さいサイズでありながら各種操作を高速に処理でき、文字列のみならず2次元データやグラフデータまで表現できるというウェーブレット行列を実装してみた。「高速文字列解析の世界」とかブログとか読んでやっとのことで実装した。ウェ…

ハル研究所プログラミングコンテスト2012

ハル研究所プログラミングコンテスト2012の参加記結果は学生部門5位、総合6位でした。工夫したこととか書いていきます。・乱数の種を変えたりして実験したら最適解はトゲを踏んだり待機しないっぽいのでdist[x][y][トゲの周期][アイテム]で探索・最初BFSして…

Facebook Hacker Cup 2013 Qualification Round

Beautiful stringsやるだけ void lower(string &s){ REP(i,s.size()){ if('A'<=s[i]&&s[i]<='Z')s[i] += 'a'-'A'; } } int main(){ int m; cin>>m; cin.ignore(); REP(i,m){ string s; getline(cin,s); lower(s); map<char,int> c; map<char,int>::reverse_iterator it; REP(j,s.</char,int></char,int>…