tookunn’s diary

主に競技プログラミング関係

AtCoder Beginner Contest 174 C - Repsept

問題 atcoder.jp 考察 7, 77, 777, ...の約数を列挙して、Kの約数を列挙して何か規則性があるのかとか探していたが 分からず。 ↓ 数列をAとし、i番目の要素をA[i]とする。 Kの倍数ということは A[i] mod K = 0ということ。 ↓ A[i + 1] = A[i] * 10 + 7なので…

京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200) D - Happy Birthday! 2

ABC

問題 atcoder.jp 考察 数列Aから異なる部分数列B,Cを探してB,Cそれぞれの総和のmod200が同じものを出力する問題。重要な点としては 数列Aから見つかる部分数列は2^N-1通り 部分数列の総和のmod200は200通り 数列Aの長さがある長さ以上になったら、総和のmod2…

AtCoder Beginner Contest 188 D - Snuke Prime

ABC

問題 atcoder.jp 考察 となっていて、区間として範囲が大きいので いもす法という手法を使って、単純に各区間の増減の累積和を取ることができないことが分かる。最初は各区間についてを一組としてまとめて、うまくソートなりなんなりをすれば良さそうと考え…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” C - MAD TEAM

ABC

問題 atcoder.jp 考察 基本方針は 5種類すべての能力がチーム全体として以上にできる3人の組み合わせが存在するかを二分探索で探っていく。3人のチーム全体の各能力は以下の通り、3人の能力の最大値となる。 そして、チームの総合力は以下の通り、チーム全体…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” D - 宇宙人からのメッセージ

ABC

問題 atcoder.jp 考察 重要な点は 文字列反転のコストをどう工夫するか 連続した2文字が同じ文字の場合の削除のコストをどう工夫するか 文字列反転については 文字追加の操作を行いながら、反転しているかどうかの状態を持っておき 反転している場合は文字列…

ZONeエナジー プログラミングコンテスト “HELLO SPACE” B - 友好の印

ABC

問題 atcoder.jp 考察 コンテスト本番では上る高さを二分探索で決めて、UFOからその上った高さの位置までの直線を 一次関数y = ax + bの式に当てはめて、各iについて、x = d[i]の時にh[i]以上かどうかで探索していた。 これだと実装が複雑になるし、バグも出…

AtCoder Beginner Contest 190 D - Staircase Sequences

ABC

問題 atcoder.jp 考察 まず、公差1の等差数列の総和の特性を見つけるために 公差1の等差数列の総和を求める式を考える。総和をN、初項をA、項数をLとすると 扱いやすいように両辺に2を掛けて となる。この式から は、またはで割り切れる値だということが分か…

パナソニックプログラミングコンテスト(AtCoder Beginner Contest 195) B - Many Oranges

ABC

問題 atcoder.jp 考察 重要な点としては Aグラム以上Bグラム以下というみかんの重さに下限と上限があること。 みかんの重さが整数とは限らない。 重さの合計がぴったりW(キログラム単位)であること。 みかんの個数Nが分かっている場合、 が成り立てば、N個…

AtCoder Beginner Contest 198 C - Compass Walking

ABC

問題 atcoder.jp 考察 原点(0, 0)からユークリッド距離でRずつしか移動できない。 移動先の座標は整数でなくてもよい。 ぴったり(X, Y)にたどり着かなければならない。 これがこの問題を解くときに大事なポイントだと思われる。原点(0, 0)と(X, Y)間のユーク…

Educational Codeforces Round 45

Editorial A問題 問題 考察 ソースコード B問題 問題 考察 ソースコード C問題 問題 考察 ソースコード D問題 問題 考察 ソースコード E問題 問題 考察 ソースコード F問題 問題 考察 ソースコード G問題(未解決) 問題 考察 ソースコード Editorial codeforc…

Codeforces #486 Div3

Editorial A問題 問題 考察 ソースコード B問題 問題 考察 ソースコード C問題 問題 考察 ソースコード D問題 問題 考察 ソースコード E問題 問題 考察 ソースコード F問題 問題 考察 ソースコード Editorial codeforces.com A問題 問題 codeforces.com長さ…

yukicoder long contest 1 stick xor

問題 No.5002 stick xor - yukicoder 考察 愚直にやって終わった感じでした。 愚直にやる以外は全然思いつかなかった。1ターン毎に現在の盤面から最も多く漆黒→純白に反転できる操作を盤面に適用していく。 操作対象となるセル(x,y)のx,yはランダムに決定し…

Good Bye 2017 C New Year and Curling

問題 codeforces.com半径rの円の中心のx座標がN個与えられる。 i = 0,1,2,3...N-1の順に円はy=10^100からy = 0に向かって進む。 他の円に接した時、y = 0に円が接した時に円は止まる。 最終的なN個の円のy座標を求める。 考察 i番目の円aをy=0に向かって進め…

Educational Codeforces Round 35 (Rated for Div. 2) C Three Garlands

問題 codeforces.com整数k_i(1 x_i,x_i + k_i,x_i + 2*k_i,x_i + 3*k_i...の値を選択できる。 整数x_1,x_2,x_3の値を定めた時、max(x_1,x_2,x_3)以上の整数すべてを選択できるかを判定する。 考察 ・k_i = 1が1つ以上存在するのならYES 値の差が1なので整数…

AtCoder Beginner Contest 082/AtCoder Regular Contest 087 D - FT Robot

問題 D - FT Robot 解法 x座標、y座標に分けてDP 文字列Sを連続する'T','F'で分割して考えると、x座標だけ変化する、y座標だけ変化する区間が存在することが分かる。 よって、x座標、y座標の変化は独立して考えることが出来る。 あとはdp[i個目の連続する'F'…

AtCoder Regular Contest 086 C - Not so Diverse

問題 C - Not so Diverse 解法 整数がK種類以下になるまで、個数の少ない整数から書き換えていく(整数を消していくと考えても良い)。まず、各整数ごとに個数をまとめて、次に個数で整数の種類数をまとめていく。 あとはK種類以下の整数になるまで、整数を書…

COLOCON -Colopl programming contest 2018- C - すぬけそだて――ごはん――

問題 colopl2018-qual.contest.atcoder.jp 解法 A~Bまでの整数が書かれた各カードを購入するか購入しないで全探索する。制約等から時間計算量がO(2^35)と思ってしまうが 「...これまでに食べたどのカードに書かれた整数とも互いに素である整数の書かれたカ…

SRM719 Div2 Hard

SRM

問題 TopCoder Statistics - Problem Statement 考察 根ノードから任意のノードまでのパスのXORの計算を行う。xor[V] = 根ノードから任意のノードVまでのXORそうすると任意のノードVから他の任意のノードUまでのパスのXORの計算結果は xor[V] ^ xor[U]になる…

AtCoder Regular Contest 079 D Decrease (Contestant ver.)

ARC

問題 arc079.contest.atcoder.jp 考察 ・公式解説 Editorial - AtCoder Regular Contest 079 | AtCoder公式解説見ながらソースコード中に考えたこと書きました。実験して解法につながる性質とか規則性見つけるの難しい。 こういう問題に出くわしたらどうする…

yukicoder No514 宝探し3

問題 http://yukicoder.me/problems/no/514 考察 座標と座標のマンハッタン距離はである。(とする) そこで、座標と座標のマンハッタン距離を考える。(y座標を求めるためにx座標を0に固定する) すると、となり、と出来る。これでは求まった。 あとはとな…

Codeforces #397 Div1+Div2 D Artsem and Saunders

問題 codeforces.com 考察 多分これは,与えられた2つの式 から、式を変形して考察を進めれば良いのかな?@tookunn_1213 この単射ではないっていうのはh(a) = h(b)の場合,h(a) = h(b) = Aとして、g(h(a)) = a,g(h(b)) = bで,g(A) = a,bはaかbどちらかに一意に…

SRM 708 Div2 Hard

SRM

問題 https://community.topcoder.com/stat?c=problem_statement&pm=14536 考察 うーん。これ思いつく発想ってどうやるんだろ。「X[i]を決めた時のiより左、右に分けた時の左側、右側それぞれの文字列が左右対称であることを思いつく」 ことかなぁ@tookunn_1…

AtCoderBeginnerContest 054 D

ABC

問題 abc054.contest.atcoder.jp 考察 薬品を買うか買わないかの2通り,その選択をN回行う 通り 通りの買い方の中から,比がになる薬品の買い方を見ていく。そして、その買い方の中で最小の予算を求める 番目の薬品までを見た時,タイプの総量が,タイプの総量が…

最大流 蟻本読んだメモ

参考にした資料: 蟻本第2版 P188~P191 ネットワークフロー入門 http://hos.ac/slides/20150319_flow.pdf 最大流問題 始点Sから終点Tまで各辺の容量を超えることなく流すことが出来る最大の流量を求める。 定義 有向グラフ,頂点の集合,辺の集合 始点,終点 …

RUCP2016 Day3 D Complex Oracle - Complex Oracle -

問題 http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=RitsCamp16Day3&pid=D考察にめちゃくちゃ時間を奪われたので,もっと考察する時間を短縮させたい。 考察 は, 全体で番目の値より大きい値の数が分かれば,番目の値がこの数列の中で何番目に…

Codeforces #395 Div2 A~C

A問題 問題 codeforces.com 考察 周期Nと周期Mが重なる数をカウントするEditorialを見ると,Z / lcm(N,M)が解になるらしい。 ソースコード import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.NoSuchEle…

RUCP2016 Day3 C 成長する点 - Growing Point -

問題 http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=RitsCamp16Day3&pid=C割と問題文通りにやるだけなのだけど、幾何っぽいというのもあって方針は合ってるが実装のバグが取れないのが辛かった 考察 一番最初に拠点0と最も近い餌との間に直線…

RUCP2016 Day3 B 周期数列 - Periodic Sequence -

問題 http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=RitsCamp16Day3&pid=B 考察 考えられる周期tをそれぞれ試していくだけN = ktから,tはNを割り切る数なのでそこまで多くない ソースコード import java.io.IOException; import java.io.Inpu…

Codeforces #389 Div2 A~C

@tookunn_1213 pic.twitter.com/SHGWcrMwJV— tookunn (@tookunn_1213) 2017年1月6日 問題 codeforces.com 考察 rとdを導出する式を見つけ出すのに結構時間掛かってしまった RかLかは偶奇を見ればよい ソースコード import java.io.IOException; import java.…

Codeforces #388 Div2 A~C

Codeforces Round #388 (Div. 2)B問題,二次元座標上に平行四辺形を作る問題で,三点が与えられて残りの一つの点の候補を上げていく問題だったけど全然分からなかった。C問題,submitデバッグしたら通った感じ#tookunnVirtual pic.twitter.com/669qgq7q9M— took…