はまやんはまやんはまやん

hamayanhamayan's blog

Bus to Udayland [Codeforces 369 : Div2 A]

問題

http://codeforces.com/contest/711/problem/A

n行4列のバスの座席表がある。
'O'が空席、'X'が予約済み。
横に2つ並んで席が取れるか出力せよ。
なお、4列だが(2列)(道)(2列)であり、道をまたがっていると並んでいると言わない。
取れるなら、そこを'+'にした座席表も出力せよ。

1 <= n <= 10^3

続きを読む

天下一魔力発電 [天下一プログラマーコンテスト2016 予選B : B]

問題

http://tenka1-2016-qualb.contest.atcoder.jp/tasks/tenka1_2016_qualB_b

'('と')'から成る文字列Sがある。
カーソルは文字列の先頭から始まる。
以下の3つの処理が行えるとき、文字列Sを括弧の対応が取れた状態にする最小手数を答えよ。

1. カーソルを右に動かす
2. カーソルを左に動かす
3. カーソルが指す文字を'('なら')'、')'なら'('にする

2 <= |S| <= 100

S は偶数
続きを読む

チューリップバブル [yukicoder 417]

問題

http://yukicoder.me/problems/no/417

頂点0~N-1から成る木がある
頂点iでU[i]の税収が得られる
各辺を通るときはC[i][j]時間かかる
頂点0からスタートして、辺を通って頂点を周り、頂点0に戻ってくる
全体にかかる時間がM時間以下での最大の税収を答えよ
なお、同じ頂点を2回以上通っても徴税は1回だけ

1 <= N <= 200
1 <= M <= 2000
1 <= U[i] <= 10^7
1 <= C[i][j] <= 10^3

続きを読む

桁和 / Digit Sum [ABC 044, ARC 060 : D]

問題

http://arc060.contest.atcoder.jp/tasks/arc060_b

f(b,n)がある
 n < b のとき f(b,n) = n
 n ≧ b のとき f(b,n) = f(b, floor(n / b)) + (n mod b)
この関数はnをb進数表記したときの各桁の総和を返す関数とも言える
f(B,N)=Sとなる2以上の最小のBを答えよ
無ければ-1

1 <= N <= 10^11
1 <= S <= 10^11

続きを読む

旅行会社 [yukicoder 416]

問題

http://yukicoder.me/problems/no/416

N頂点、M辺の無向グラフがある。
これからQ回のイベントを順に処理する。
1つのイベントで頂点Ciと頂点Diを結ぶ辺が壊される。

この時、何回目のイベントで頂点1から頂点iまでが連結じゃなくなったかを出力せよ。
ただし、辺が全て壊されても連結なら-1、元々連結じゃないなら0を出力。

2 <= N <= 10^5
1 <= M <= 2 * 10^5
1 <= Q <= M

続きを読む

BBuBBBlesort! [AGC 003 : C]

問題

http://agc003.contest.atcoder.jp/tasks/agc003_c

N要素の数列がある。
これを2種の方法で要素を入れ替えて昇順ソートする

  • 操作1 : 隣り合う2つの要素を選んで入れ替える
  • 操作2 : 1つ飛ばしの2つの要素を選んで入れ替える

操作2の回数は何回でもいい。
操作1の最小回数を求めよ。

1 <= n <= 10^5
0 <= Ai <= 10^9

続きを読む