ICPC

ICPC アジア地区予選2016-A Rearranging a Sequence 解説

問題: http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1367 C++で解説しています. 問題の概要 数列(1,2,...,n)があります.その後,の順で,を数列の先頭に出します.最終的な数列を出力してください. 例えばsample1では, 1,2,3,4,5 4,1,2,3,…

ICPC 2020-B 接触追跡 解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1641?year=2020 問題の概要 解法(一般論) 実装(C/C++) 実装(python) 別解: boolのOR演算 問題の概要 人がm人います.最初,そのうちの一人がウイルスに感染しています.その後…

ICPC 2020-A カウントダウンアップ2020 解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1640?year=2020 問題の概要 解法(一般論) 実装(C/C++) 実装(C++の別解) 実装(python) 問題の概要 0から9までの整数で構築された配列があります。この配列の部分列として2,0,2,…

ICPC 2019 国内予選B 「スクリーンキーボード」解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1633 C++で解説しています. 問題の言い換え のマス目があり,各マスに文字が割り当てられている.最も左上のマスを(0, 0)とする.あなたは(0, 0)におり,1回の移動で上下左右の1マ…

ICPC 2019 国内予選A 「期末試験の成績」 解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1632 C++で解説しています. 問題の言い換え 整数が行列で並んでいる.列の合計値の最大値を求めよ. 解法 各列の合計を計算して,最大値を出力します.計算方法はいくらでもありま…

ICPC 2003国内予選B 「Get Many Persimmon Trees」

問題URL: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1125?year=2003 問題の言い換え 横,縦個のマス目がある.ここに個の点を打つ.個目の点は座標である.点の座標は重複しない.この下で,横,縦の領域で囲める点の数の最大値を出…

ICPC2019 国内予選参加記

開始前 リハーサルと授業がモロ被りしてたので、リハーサル残り20分地点でJ,KをAC。問題のアルファベットが本当にJ,Kだったかは忘れました。その後15分くらいで「短句」を解こうとしましたが、本当に何が間違えているのか分からず解けなくて、「まあもう時間…

ACM-ICPC 大崎(Osaki) 

問題 Osaki | Aizu Online Judge電車が走行する時間帯が与えられるので、最低電車が何台あれば運行できるかを出力する。解説 入力の運行時間が少しでも被っていれば、その時間帯は複数の電車が運行しないと矛盾してしまいます。よってすべての運行時間を見て…

ACM-ICPC When Can We Meet?

問題 When Can We Meet? | Aizu Online JudgeN人分の空いている日程が与えられるので、M人以上が参加できる日程の中で最も多くの人が参加できる日程を出力します。同じ人数参加できる日が複数存在する場合、一番早い日を出力します。解説 N人分のデータが与…

ACM-ICPC 「月曜土曜素因数」

2008のB問題です。問題 Monday-Saturday Prime Factors | Aizu Online Judge 素数とは、「1と自分以外に約数を持たないもの」です。普段はこれを「すべての自然数」について考えていますが、これを「7で割ると1または6余る数の集合」に絞って考えるとど…

AOJ-ICPC 「Prime Gap」

問題 Prime Gap | Aizu Online Judge素数を並べた要素数10^5の数列 { 2,3,5,7,11,13,17....1299709 } がある。この時、「prime gap」を考える。例えば、10であるときには、数列の[7 11]の間に入るので、prime gap は11-7=4となる。解説 上の問題文は要約です…

AOJ-ICPC 「君のプライバシーを守れ!」

問題 Save Your Privacy! | Aizu Online Judge解説 少し入力がめんどくさいのですが、一つずつ流れを追えば大丈夫です。結局、解答が定まる時は、「各データセットの最後にあるK個ある番号を、全部知っている構成員がただ1人いる時」です。情報を漏らした構…

AOJ-ICPC 「審判は君だ!」

問題 You Are the Judge | Aizu Online Judge解説 問題の方針は「ICPCの順位づけ」と変わりません。ほぼ同じ問題です。 gotutiyan.hatenablog.com正解したかどうかのAC、不正解数のWA、ペナルティのtimをそれぞれ準備して、R個のデータについて格納していき…

AOJ-ICPC 「王様の視察」

問題 King's Inspection | Aizu Online Judge解説 まずはアルファベットをずらしていくため、順番通りに並べた配列を用意します。 alp[]={'a' , 'b'..'z','A'....'Y','Z'} のような配列です。また、「いくつずらすか」を保存した配列は何周もする可能性があ…

AOJ-ICPC 「かけざん」

問題 Kakezan | Aizu Online Judge解説 値は文字列で管理するのが良いですね。 文字列長より1少ない数だけforを回して、文字列をstring::substr(開始位置, 何文字切り抜くか)で分割の仕方を全探索し、結果が最大になったものを次に持ち越す感じです。文字列…

ACM-ICPC 「ICPCの順位づけ」 解説

問題 ICPC Ranking | Aizu Online Judge解説 少し考えることが多いのですが、とりあえず ・tim: 各チームの所要時間を格納する1次元int配列 ・solve :各チームの各問題の解けたかどうかを格納する2次元bool配列 →solve[チーム番号][問題番号]=true or fals…

ACM-ICPC 「ICPC Score Totalizer Software」 解説

問題 ICPC Score Totalizer Software | Aizu Online Judge n個の数字が入力されるので、その中から最大値と最小値を除いたものの中での平均を求めよう。解説 n個の整数を全て足し合わせたsum、最小値を格納するmi、最大値を格納するmaを用意し、処理をします…

AOJ Numeral System 解説

問題 Numeral System | Aizu Online Judge解説方針としては、文字列を読み込んで、数字に直し、足し算した後で再びMCXI文字列に直します。まずは、読み込んだ文字列をどう処理するかを考えます。 まず、1000,100,10,1の時は、m,c,x,i の文字が単体で置かれま…

AOJ Amida, the City of Miracle 解説

問題 Amida, the City of Miracle | Aizu Online Judge 解説 あみだくじの問題です。 あみだくじ系の問題では、最初、i番目には番号iが繋がっていますが、横棒が追加されるたびに繋がる先が入れ替わると考えることができます。例えば最初、縦棒1 2 3 4 5には…

AOJ 列車の編成パート(Organize Your Train part II) 解説

問題 Organize Your Train part II | Aizu Online Judge 解説 文字列を2分割した後は以下の操作ができます。以下、分割した後の2つの文字列をA,Bとおきます。・A,Bはそれぞれ反転できる。 ・文字列を AB 、またはBA のどちらの順でも連結できる。これ以外…

AOJ 宇宙ヤシガニ(Space Coconut Grab) 解説

問題 Space Coconut Grab | Aizu Online Judge 解説 3つの変数をループで回して全探索すると、O(10^9)となってTLEします。 しかし、x+y*y+z*z*z=eになることから、y,zが分かればxが分かります。よってy,zを2重ループで回して、残りのxをx = e- y*y - z*z*z…