裏紙

ほぼ競プロ、たまに日記

programming

GCJ 2016 Round 1B B - Close Match

問題 Dashboard - Round 1B 2016 - Google Code Jam 問題概要 2チームが対戦していて,表示板にそれぞれのチームのスコアが表示されている(それぞれのスコアについて,先頭に複数の0がある可能性もある).いま,表示板のいくつかの表示部分が壊れてしまって…

GCJ 2016 Round 1A C - BFFs

問題 Dashboard - Round 1A 2016 - Google Code Jam 問題概要 人の子どもがいる.それぞれの子どもにはIDがまでそれぞれ与えられている.そして,どの子どもも1人ずつbest friend forever(BFF)を持っていて,それが誰なのかわかっている. 何人かの子どもの…

GCJ 2016 Round 1A B - Rank and File

問題 Dashboard - Round 1A 2016 - Google Code Jam 問題概要 兵士を1辺がの正方形のグリッドに1人ずつ立たせる.兵士にはそれぞれ身長があり,身長に関してどの行を左から順にみても厳密に増加する列になっているし,どの列を前方からみても厳密に増加する…

GCJ 2016 Qual Round D - Fractiles

問題 Dashboard - Qualification Round 2016 - Google Code Jam 問題概要 gold(G)のタイルとlead(L)のタイルが一直線上に並んだものがある.それはフラクタル構造を持っており,次のような規則を満たしている: 2つのパラメータによってフラクタルは決定づけ…

2016/5 Solved(2)

5/17 AOJ 1517 - Challenge from Grandfather 行列回転のところでバグらせて悩んでしまった。また、島反転は、与えられた位置からBFSすることによってどのエリアが反転するかを求めることが出来る。 AOJ 0232 - Life Game 確率のDP。dp[いるマス][持っている…

GCJ 2016 Qual Round C - Coin Jam

問題 Dashboard - Qualification Round 2016 - Google Code Jam 問題概要 jamcoinという長さの文字列がある.jamcoinは以下の性質を満たす: 全ての桁が0か1で構成される. 最上位の桁と最下位の桁は必ず1である. この文字列を2進数から10進数のどの数とし…

CF 676 E - The Last Fight Between Human and AI

問題 Problem - E - Codeforces 問題概要 多項式が与えられる.初期状態ではこの多項式の係数は全て未定になっている. 人間とAIがゲームをする.まずはじめに,ある整数が与えられる.そして,AIが先手となりゲーム開始となる.ターンごとに,そのターンが…

SRM 660 Div1 Easy - Coversta

問題 TopCoder Statistics - Problem Statement 問題概要 行列のグリッドが与えられる.各グリッドの中には0~9のいずれかの数字が書かれている.そして,stationをに設置すると, ()内に書かれている数字の合計をポイントとして得ることが出来る. 今,stati…

AOJ 2022 - Princess, a Cryptanalyst

問題 Princess, a Cryptanalyst | Aizu Online Judge 問題概要 個の文字列が与えられる.この個の文字列に対してSSS(Shortest Secret String)を求めたい.SSSとは,個の文字列を全て部分文字列として含み,なおかつその長さが最小であるような文字列のことを…

2016/5 Solved(1)

5/1 imulan.hatenablog.jp 5/2 (なにもしてない) 5/3 AOJ 2589 - North North West AOJ 1249 - Make a Sequence AOJ 2590 - Unknown Switches AOJ 2619 - Thread Tree AOJ 1193 - Chain Disappearance Puzzle AOJ 1286 - Expected Allowance 5/4 SRM 690 Div…

AOJ 2386 - Sightseeing Tour

問題 Sightseeing Tour | Aizu Online Judge 問題概要 はじめ、頂点数の完全無向グラフが与えられる。これらの無向辺をすべて、有効辺に置き換えることにした(頂点と頂点の間の辺は→か→のどちらかのみが張られる)。そのときのコストがで与えられる。全ての頂…

CF 670 E - Correct Bracket Sequence Editor

問題 Problem - E - Codeforces 問題概要 Correct Bracket Sequence(CBS)という文字列のみに対して動作するテキストエディタを考える。CBSとは、(と)の2種類の文字のみで構成される文字列であり、全てのカッコの開閉が1つ1つ対応付けられているものである((…

TCO 2015 Round 1B Hard - TheTreeAndMan

問題 TopCoder Statistics - Problem Statement 問題概要 頂点数がの根付き木を考える。そして、全ての辺は根から離れていく方向に向いている(つまり、どの個の頂点にも根からたどり着くことが可能)。頂点をそれぞれ~で番号をふる。の頂点を根とする。また、…

2016/4 Solved(2)

4/16 GCJ Round1Aに参加 Aしか解けなかった...Round2への参加権は1Bと1Cにかける... ARC 051に参加 ABの2完、Cはほとんど方針合ってたけどちょっとずれて多分オーバーフローさせてたっぽい、多分Pythonで書けばいけてたのかなあ... 4/17 yukicoder No.358 - …

TCO 2015 Round 1B Med - TheTips

問題 TopCoder Statistics - Problem Statement 問題概要 脱出ゲームみたいなもの。部屋の中に個の手がかりが隠されている。次の正方行列によって番目の手がかりを見つけると番目の手がかりを見つけられるかどうかがY/Nで書かれている。Yなら番目の手がかり…

2016/4 Solved(1)

4/1 QUPC2014 C - 案内所 mapを使う。 4/2 QUPC2014 D - 切符分割 前からと後ろからとdijkstraして、中継点を全探索する。 4/3 imulan.hatenablog.jp 4/4 k2pc-easy E - お気に入りの数2 4/5 SRM 665 Div1 Easy - LuckySum 解説の方法よりも下の桁から見てい…

TCO 2015 Round 1A Hard - Revmatching

問題 TopCoder Statistics - Problem Statement 問題概要 重み付き2部グラフが与えられる。それぞれのグループに対して、頂点数が個ある(つまり、グラフの頂点数は合計で個)。そして、次の正方行列が与えられて、は片方のグループの頂点からもう片方のグルー…

SRM 664 Div1 Easy - BearPlays

問題 TopCoder Statistics - Problem Statement 問題概要 石を積んだ柱が2本ある。最初は片方に個、もう一方に個積まれている。次のような操作を回繰り返す: 石が少ない方に、多い方から少ない方の数と同じぶんを持ってくる(つまり、X<=Yのとき、Y-=X,X+=X)…

SRM 666 Div1 Easy - WalkOverATree

問題 TopCoder Statistics - Problem Statement 問題概要 頂点数がの木が与えられる。これらの頂点には~と番号が振られている。今、をスタート地点として、この木の上を移動することを考える。ステップの移動が許されている時に、訪れることのできる頂点数の…

2016/3 Solved (2)

3/17 imulan.hatenablog.jp 3/18 CF 644 A - Parliament of Berland 市松模様をイメージしてジグザグに並べていく。 CF 644 B - Processing Queries キューに入っていく様子をシミュレーションする。キューに入ったものの先頭と取り出し、実行→その実行が終…

CF 631 D - Messenger

問題 Problem - D - Codeforces 問題概要 メッセージの履歴から自分が指定した文字列を検索したい。メッセージは特殊な形に圧縮されて送信される。そのフォーマットはというペアの列によって表される。ここで、は数字、は英小文字であり、そのペアによってと…

CF 632 C - The Smallest String Concatenation

問題 Problem - 632C - Codeforces 問題概要 個の文字列が与えられる。この個の文字列を全てを結合させることを考える。その中で辞書順最小となるものを求めよ。 文字は全て英小文字 文字列の長さの合計はを超えない。 アイデア これは割と典型なテクらしい…

2016/3 Solved (1)

3/1 imulan.hatenablog.jp 3/2 Educational CF #9に参加 ABの2完。Cで悩み続けた。Dは後で見たら出来そうだった... CODE FESTIVAL 2014 リレー F - ループを探せ 再帰を使ったDFSをしながら、根からの距離を更新しつつ、最短でない辺が見つかったらそこがル…

SRM 667 Div1 Easy - OrderOfOperations

問題 TopCoder Statistics - Problem Statement 問題概要 メモリの領域が個あるコンピュータがあり、そのそれぞれの領域にまでの番号を付ける。そのコンピュータを使って個のプログラムを実行することを考える。1つのプログラムは文字で構成されており、その…

SRM 669 Div1 Easy - SubdividedSlimes

問題 TopCoder Statistics - Problem Statement 問題概要 スライムを分割するゲームをする。最初は大きさがのスライムが1体いる。ゲームはターン制で、1ターンの内に次のことを行う: 今いるスライムの中から1体を選んで、2体に分裂させる。選んだ1体のスラ…

SRM 670 Div1 Easy - Bracket107

問題 TopCoder Statistics - Problem Statement 問題概要 (と) のみで構成された文字列が与えられる。いま、"correct bracket sequences"なる文字列を定義する。文字列全体として(の数と)の数が一致し、すべてのprefixに対して(の数のほうが)の数よりも多く…

CF 635 C - XOR Equation

問題 Problem - C - Codeforces 問題概要 2つの正の整数に関して、との和を、とのビットごとのXORをで表す。とが与えられる時、の組としてあり得る組合せの数を求めよ。 アイデア まず、に関しての全探索はサイズ的に間に合わない。そこで桁DPで試みる。 小…

2016/2 Solved (2)

2/16 ARC 010 B - 超大型連休 1年を1/1を基準とした日数の1次元配列に落としこむと、休日の設定が楽。振替休日の設定もwhileで1つずつ後ろをみていくだけで十分に間に合う(submission)。 ARC 011 B - ルイス・キャロルの記憶術 辞書型で変換表を作り、順番に…

SRM 671 Div1 Easy - BearCries

問題 TopCoder Statistics - Problem Statement 問題概要 ;_;とか;___;みたいな泣いている顔文字(両端がセミコロンで間に1つ以上のアンダーバー)をcrying emoticonと呼ぶ。文字列が与えられる時、いくつかの部分列に分解(連続でなくて良い)して、それぞれがc…

SRM 672 Div1 Easy - Procrastination

問題 TopCoder Statistics - Problem Statement 問題概要 とある巨大な会社には従業員が無限にいる。従業員には1,2,3,...と番号が振られている。番の従業員は仕事をし始める時は番のタスクを請け負っている。その会社の就業時間は無限にあり、仕事時間が1時…