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

2013年プロコンまとめ

レート推移topcoder: 1245 → 1517(highest)codeforces: 1722 → 1860(highest)というわけで、どちらもhighest更新で終了となりました。 今年まとめ1月:卒論の現実逃避にたまーにコンテストに出る。 4月:大学院入学。博士課程の先輩がプロコンを最近始めた…

TopCoder SRM600

結果○-- 198.54pts 553rd. 1512 -> 1517所感 easy、一瞬迷ったけどそれなりに順調に実装できたし200点あればそこそこだろうと思っていたらなんと500位台。。。 まあ確かに簡単だったので着想も実装も一瞬であるべきでしたが。 ただ、方針決まってからは下ら…

Codeforces Round 219 Div1B. Counting Rectangles is Fun

問題0と1だけからなるn*m行列があります。 この行列の中の一部の長方形(a,b) ... (a,d) . . . . (c,b) ... (c,d)をrectangleと呼びます。要素として0しか含まれないrectangleをgood rectangleと呼びます。q個rectangleがクエリとして与えられるので、 そのre…

Codeforces Round 219 Div1A. Counting Kangaroos is Fun

問題n頭(?)のカンガルーがいて、それぞれサイズがs[i]です。 カンガルーは以下の条件を満たすとき、別のカンガルーのポケットに入れます。 (入る側のカンガルーのサイズ)*2≦(入られる側のカンガルーのサイズ) 入る側にも入られる側にも、別のカンガル…

Codeforces Round 219

結果○○--- +0/-0 279th. 1815 -> 1860所感レート上がりました。よかったよかった。 Aをすぐ思いついて実装も軽めだったので9分でAC取れたのがよかったです。 多分div1A10分以内に解けたの初めて。 Bを通すのに100分くらい掛かったりしてしまいましたが、 ワケワ…

Codeforces Round 218(Div.2 Only) E. Subway Innovation

問題数直線(x軸)上に並んだn個の地下鉄の駅があります。各駅の座標はx[i]であらわされます。 悲しいことにこの地下鉄は財政難なので、駅をk個まで減らさないといけなくなりました。減らし方の戦略として、kC2個の任意の2駅間距離の総和が最少になるものを…

Codeforces Round 218(Div.2 Only) D. Vessels

問題 \/ \__/ \____/こんな感じでn個の器が縦に連なっています。 上から順にa[i]リットルの容積があります。容積以上の水が注がれると下の容器に流れていきます。この容器に関して、2タイプのクエリをm個投げます。1 p x : p番目のところにxリッ…

Codeforces Round 218(Div.2 Only) C. Hamburgers

問題ハンバーガーのレシピがあります。要するに1つのハンバーガーを作るのに ・パン ・ソーセージ ・チーズ の3つの材料がそれぞれ何個ずつ要るかが文字列sとして与えられます。 手持ちの3つの材料の数ns,ns,ncと、 3つの材料を買い足す場合の単価pb,ps,…

Codeforces Round 218(Div.2 Only) B Fox Dividing Cheese

問題サイズがa,bの2つのチーズがあって、2匹の熊がでかい方を取り合おうとしていると、キツネさんがやってきます。「私が2つのチーズのサイズを同じにしてみせます。」 どうやるんだよ、と熊は不思議そうです。「2で割れるサイズだったら半分私が食べるこ…

Codeforces Round 218(Div.2 Only) A K-Periodic Array

問題長さnの、各要素がすべて1か2の配列aが与えられます。(nはkで割り切れます)K-Periodic Arrayとは、aをK個ごとに区切った時に同じ配列の繰り返しになる配列のことです。 [1,2,1,2,1,2]は2-periodic、 [1,2,1,1,2,1]は3-periodicです。配列aがk-periodic…

Codeforces Round 218(Div.2 Only)

結果○○○-- +0/-0 2548 300th.雑感 Aを5分で解けたのはよかった。 Bは誤読ゲーだったけど、方針の正しさを考えるのにちょっと迷いが生まれてしまった。 そしてCに時間がかかりすぎた。普段のDiv2Only回のCよりだいぶ簡単だったのに。Div2Only回は一般に「Div1…

Topcoder SRM599 Div1Easy BigFatInteger

問題Kという数に以下の2通りの操作をして、Kを大きくしていきます。(最初はK=1)です。・Kに素数をかける。 ・KにKの約数のいずれかをかける。2数A,Bが与えられたとき、KをA^Bにするのに最小の操作回数を求めなさい。制約A,B

SRM599

おひさしぶりですsuekiです。 記事を書くのを大分サボっていましたが、コンテストにはちょくちょく参加して、 夏休みには研究室の先輩とどっちが先にDiv1の問題(SRM||Codeforces)100問解けるか競争をしたりして地道に練習っぽいことは続けていました。とい…

Codeforces Round #194 Div1E Summer Earnings

問題N個の点の座標(整数)が与えられます。 この中から3点を選んで、その3点を中心として半径rの円を描きます。 このとき円は接してもいいけど交差しちゃダメです。 とりうるrの最大値を求めなさい。制約 (3 ≤ n ≤ 3000) ( - 10^4 ≤ xi, yi ≤ 10^4)

Codeforces Round #194 Div1D Characteristics of Rectangles

問題 N*Mの行列が与えられます。 この行列の端っこにある行や列をいくつか削ることができます(削らなくてもいいです)。うまい削り方をして、結果として得られる新しい行列(部分長方形)の、「四隅の4つの値の最小値」を最大にした時の値を求めてください…

Codeforces Round #194 Div1C Lucky Tickets

問題チケットは8ケタの、0~9の数字で番号が振られています(leading zeroを含みます)。 k-luckyとは、その8ケタの番号に+-*やカッコをつけたりして、計算結果がkになるようにできるような数字です。 たとえば、 "224201016"は ( - 2 - (2 + 4)) * (2 +…

Codeforces Round #194 Div1B Chips

問題N*Nのセルがあります。 その上にM個の落とし穴があります。隅以外の端のセルにいくつかチップを置いて、チップを逆サイドの端まで(つまり、上下または左右に)、1ターンに1マスずつ動かします。このとき、どこかのターンであるチップが・落とし穴のセ…

Codeforces Round #194 Div1A Secrets

問題ある国ではお金は1マルク硬貨、3マルク硬貨、9マルク硬貨、27マルク硬貨、・・・(以下無限) があります。 Nマルクの支払いをするときに、丁度になるようには払えなくて、お釣りをもらわないとならないことがあります(たとえば3マルク硬貨1枚し…

Codeforces Round #190 Div1A Ciel and Robot

問題ロボットが最初(0,0)にいて、上下左右にそれぞれ1マスずつ動く命令がUDLRで構成させた命令になります。命令はstringで与えられ、高々100命令です。 最後の命令まで行ったら最初の命令に戻って延々繰り返します。(0,0)から命令を無限に実行したとき、…

Codeforces Round #190

おはようございます。 コンテスト参加時は復習しているのですが、それ以外ではなかなか問題を解けていないsuekiです。そんなわけでやっぱりコンテストの結果もあまりよろしくなくなるようで。結果○---- 297th. 1738->1744あまりハマらずにAを解けたのはよか…

Codeforces Round #189 Div1C Kalila and Dimna in the Logging Industry

問題木を全部切りたいです。 n(≦10^5)本の木があって、それぞれ高さがa_iメートルです。 チェーンソーがあってそれで切り倒すんですが、1メートル切ると使えなくなって新しいのを買わなきゃいけないというポンコツです。新しいチェーンソーの値段は、b[(…

Codeforces Round #189 Div1B Psychos in a Line

問題n(≦10^5)人のサイコ野郎が一列に並んでいます。彼らにはそれぞれ1, 2, ... ,nのユニークなIDが与えらてています。10 10 9 7 8 6 5 3 4 2 1みたいにnと並んでるn人のIDが与えられます。 サイコ野郎はサイコなので、自分の右隣の人が自分より小さいID…

Codeforces Round #189 Div1A Malek Dance Club

問題ダンスクラブが2つあって、どちらも0から2^n-1までのIDをもった2^n人の人がいます。ある数字xが(leading-zeroを含む2進数形式で)与えられ、 クラブAでIDがaのひとは、クラブBでIDが(a xor x)の人とペアになります。クラブAでIDがaのひととクラブBで…

Codeforces Round #189 Div2B Ping-Pong (Easy Version)

問題 絶対値10^9までの(x,y)の組があったとき、x' (x, y) -> (x', y')の移動が可能となります。 何回も移動してI1からI2に移動できれば、I1からI2までのパスがあると言えることにします。というわけでクエリが高々100個くらい投げられます。クエリには2種…

Codeforces Round #189 Div2A Magic Numbers

問題10^9までの数字が与えられるので、それがマジックナンバーかどうかを判定してください。 マジックナンバーは、"1","14","144"の連結で与えられる数字で、 14144, 141414, 1411とかはそうで、1444, 514, 414とかはそうではないです。

Codeforces Round #189

結果○---- 362pts 408th 1794->1738コンテスト中はAとBしか見れませんでした。 A:とりあえず紙に書いてみたら何すればいいかは10分くらいでわかったものの、%MODをいくつか付け忘れて結局2回送り直すという結果に。残りの時間でずーっとBを考えていたのにま…

SRM583 Div2 hard GameOnABoard

問題 AさんとBさんがゲームしてます。 Aさんはスコアを小さくしたくて、Bさんはスコアを大きくしたいです。グリッド上の盤面の各マスには0か1かの数字が振ってあります。 あるパスのコストは、そのパスがたどるマス(始点と終点を含む)の数字の和になりま…

SRM583 Div2 medium IDNumberVerification

問題 18ケタのIDが与えられます。コードが男性を表すものか女性を表すものか、それとも不正コードかを判定しなさい。上6ケタはエリアコードです。regionCodesの中のどれかです(regionCodesになければ不正コードです)。次の8桁は誕生日です。yyyymmddです…

SRM583 Div2 easy SwappingDigits

問題 50桁くらいまでの数字が与えられます。 どっかの2つの桁の数字を一度だけ入れ替えることができます(入れ替えなくてもいいです)。ただし先頭0はダメです。 できる最小の数字はなんでしょうか?

TopCoder SRM583 Div2

おはようございます。suekiです。 競技プログラミング(プロコン)の勉強履歴を残そうと思ってブログを取得しました。 というわけで早速おとといのSRM記録です。 ○×- 244.54 208th 1164->1174 クソザコでした。Easyがそこそこ早く解けたのはまあ良かったんで…