2016-08-01から1ヶ月間の記事一覧

Codeforces Round #369 Div2 E. ZS and The Birthday Paradox

問題 Problem - E - Codeforces1 年は 日であるとする。k 人の人に誕生日を聞いた時、誕生日が同じ人が入る確率を求めよ。 解法 http://mayokoex.hatenablog.com/entry/2016/08/30/083738 MOD 以上の連続した区間の総乗の剰余を取ると 0 になる。 を求めると…

Codeforces Round #369 Div2 D. Directed Roads

問題 Problem - D - CodeforcesN頂点N辺の有向グラフがある。頂点 i からは a_i への辺が出ている。好きなだけ辺の向きを変えることができるとき、有向閉路を持たないグラフは何通りできるか。 解法 長さ d の閉路の辺の組み合わせは 通りである。それ以外の…

Codeforces Beta Round #55 Div2 E. Shortest Path

問題 社内の勉強会で出題された。http://codeforces.com/contest/59/problem/EN 個の頂点と M 本の重み 1 の無向辺からなるグラフがある。K 個の (a, b, c) の組が与えられる。各 (a, b, c) について a, b, c の順で連続して頂点を通ることができないとした…

CS Academy Round #11 A Single One

問題 https://csacademy.com/contest/archive/#task/a-single-one/N 個の整数からなる数列があり、S 番目だけ 1 で残りの数字は 0 である。この数列に対して「K 個の連続する区間を選択し、左右反転させる」という操作を行うことができる。またM個の位置が与…

AtCoder Grand Contest 003 D - Anticube

問題 D: Anticube - AtCoder Grand Contest 003 | AtCoder 解法 解説の通りにやる。 コード import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.…

CODE FESTIVAL の練習会をやりました

atnd.org競技プログラミングを始めるきっかけを作りたいと思い、上記のような練習会を開催した。*1 有益な情報 今日の練習会に向けて rian さんをはじめとするプロが問題を厳選した。これは良問集として活用できるかもしれない。docs.google.com 本質的な情…

Codeforces Round #368 Div2 D. Persistent Bookcase

問題 Problem - D - CodeforcesN 行 M 列のビットがあり、最初は全て 0 である。以下の 4 種類のクエリが来るので、各クエリの操作後のビットの合計を出力せよ。 i 行 j 列のビットが0であれば1にする。1ならば何もしない。 i 行 j 列のビットが1であれば0に…

ICFPC 2016 のメモ

これを読む ctylim.hatenablog.com やったこと 問題を集めるスクリプト 問題の入力を matplotlib で出力するスクリプト この辺はサーバーを立てて、一定時間おきにクロールして、ウェブで問題が見れる状態にしておけば良かった。 やったほうが良かったこと …

Codeforces Round #362 CDE

復習シリーズ C Problem - C - Codeforces二分木上で、以下の2種類のクエリを処理せよ。 u-v 間の最短経路の各辺に w の重みを追加する。 u-v 間の最短経路のコストを計算せよ。 解法 木の深さは高々 60 くらいにしかならないので、愚直にやって良い。 コー…

yukicoder No.409 ダイエット

問題 No.409 ダイエット - yukicoder 嘘解法 ドーナッツの増加量の上限が 1,000,000 であることから、B が正の値であるときストレス値が 1000 を超えないことが分かる。(1000 を超える時、どのドーナツよりもコストが高くなってしまう)よってストレス値を…

Codeforces Round #367 Div2 D. Vasiliy's Multiset

問題 Problem - D - Codeforcesmultiset に最初 0 が入っている。以下のような 3 種類のクエリが q 個くるので処理せよ。 x を 1 個 multiset に入れる。 x を 1 個 multiset から削除する。 multiset 内の各数字と x との xor をとった時の最大値を出力せよ…

技術室奥プログラミングコンテスト#2 E - 歩くNPCたち(Walking NPCs)

問題 E: 歩くNPCたち(Walking NPCs) - 技術室奥プログラミングコンテスト#2 | AtCoder 解法 解説:歩くNPCたち from 理玖 川崎 www.slideshare.net解説の通り、小さな v について v ごとに累積和を作っておき、大きな v については小さな t について t ご…

Codeforces Round #366 C. Thor

問題 Problem - C - Codeforces コード import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Map; import java.util.NoSuchElementException…

Codeforces Round #365 D. Mishka and Interesting sum

問題 Problem - D - Codeforces長さ N の自然数の配列が与えられる。以下のような M 個のクエリに答えよ。 [l, r] の範囲にある整数のうち、偶数個登場したものだけを取り出し、それらの xor を出力せよ。 解法 Kmcode 先生のコードを見た。天才を感じた。[l…

Codeforces Round #365 Div2 C: Chris and Road

問題 Problem - C - Codeforcesxy 平面上で (0, 0) にいて、(0, w) に行きたい。自分は y 軸方向に最大 u の速さで動くことができる。N この頂点を持つ凸多角形が x 軸方向に -v の速さで動く。多角形の最初の座標が与えられるので、多角形にぶつからずに(…

TopCoder SRM 505 Div1 Medium: SetMultiples

問題 自然数の集合 S1 と S2 がある。S1 に含まれる全ての数について、その数の自然数倍の数が S2 に含まれるとき、S2 は S1 の multiple であるということにする。S に含まれる自然数 x は A素数はいくつか。 解法 まず A A = Math.max(A, B / 2 + 1); C = …

TopCoder SRM 505 Div1 Easy: RectangleArea

問題 ある大きさの長方形を水平方向に切って N 行に分割する。この時、各行の高さは必ずしも同じではない。次に垂直方向に切って M 列に分割する、この時、各列の幅は必ずしも同じではない。この操作によって、N 行 M 列の小さい長方形の集合になる。元の長…

HackerRank HourRank 11 - LCS Returns

問題 www.hackerrank.com文字列 a と b が与えられる。a と b の LCS を増やすように a の好きな場所に好きな文字を 1 文字だけ挿入するような場所と文字の組み合わせはいくつあるか。 解法 A[i] と A[i+1] の間に文字 c を挿入することを考える。この時、LC…

AtCoder Grand Contest 002 E - Candy Piles

問題 E: Candy Piles - AtCoder Grand Contest 002 | AtCoder 解法 http://agc002.contest.atcoder.jp/data/agc/002/editorial.pdfこういう問題見ると sugim48 さんを感じる(小学生並みの感想) 解法 import java.io.IOException; import java.io.InputStre…

AtCoder Grand Contest 002 D - Stamp Rally

問題 D: Stamp Rally - AtCoder Grand Contest 002 | AtCoder 解法 kusano_k さんの解法を見た。天才を感じる。D、UnionFindで連結成分の個数を調べるというのをlog(M)回繰り返した。「k番目までの辺を使ってz個の頂点に行けるか?」という二分探索を並列に…