ながめも

競技プログラミングについて

2020-05-01から1ヶ月間の記事一覧

Codeforces Round #645 (Div. 2) 参加記

コンテストへのリンク ABCで冷えました。悲しい。 Cで詰まりました。。。 A B C D A 問題へのリンク 長方形の面積のだいたい半分。 void solve(){ ll a, b; cin >> a >> b; cout << (a * b + 1) / 2 << endl; } B 問題へのリンク ソートして左全部取るとした…

yukicoder No.1048 Zero (Advanced)

yukicoder.me 以上以下の数から重複を許して個の和を取ったときにできる数の候補は、 以上以下である。 よって、以上以下での倍数がいくつあるか調べればよい。 間は全部できる系である。 int main() { ll L, R, M, K; cin >> L >> R >> M >> K; ll l = L*K;…

AtCoder Beginner Contest 163 ABC163 D - Sum of Large Numbers

atcoder.jp 個数と和が同じなら同じ数、個数が異なるなら和が同じでも異なる数にカウントする問題。 個選ぶと決め打ったとき、できる数は 前個の和と、後ろ個の和の間すべて である。 これは簡単な帰納法で証明できる。 int main() { ll N, K; cin >> N >> K…

yukicoder No.649 ここでちょっとQK!

yukicoder.me 類題がこれとこれ。 coonevo.hatenablog.com coonevo.hatenablog.com 上記の類題と違うのは値の範囲が広いこと。こういうやつはクエリ先読みすると種類数が少ないから順序データに座標圧縮すればよい。あとはライブラリでやるだけ。 座圧のうま…

AtCoder Regular Contest 021 ARC021 C - データ構造

atcoder.jp 類題がこれ。 coonevo.hatenablog.com ライブラリでやるだけ。 template<typename T> class BIT{ public: int N; vector<T> data; BIT(T _N):N(_N){ data.assign(N+1, 0); }; // a is 1-indexed void add(int a, T w){ for(int x = a; x <= N; x += x & -x)data[</t></typename>…

Educational Codeforces Round 87 (Rated for Div. 2) D - Multiset

コンテスト参加記はこちら。 coonevo.hatenablog.com D - Multiset 問題概要 解説 D - Multiset 問題へのリンク 問題概要 集合の初期状態が与えられる。 以下2つのクエリを処理したあと、残っている要素のいずれかを出力せよ(空の場合は-1)。 要素を追加。…

Codeforces Round #644 (Div. 3) 参加記

コンテストへのリンク Gがわかりません・・・。 A B C D E F G H A 問題へのリンク として一辺は。 void solve() { ll a, b; cin >> a >> b; if(a >= b)swap(a,b); if(2*a >= b){ cout << 2 * a * 2 * a << endl; } else{ cout << b*b << endl; } } B 問題へ…

AtCoder Grand Contest 044 AGC 044 B - Joker

問題へのリンク 解説 実装 感想 解説 例えばのとき、各セルが外に出るときに嫌われる客の数の初期状態は以下のようになる 0 0 0 0 0 0 0 1 1 1 1 0 0 1 2 2 1 0 0 1 2 2 1 0 0 1 1 1 1 0 0 0 0 0 0 0 ここからあるセルが外に出た後の変化を調べたい。ここで…

Educational Codeforces Round 87 (Rated for Div. 2) 参加記

コンテストへのリンク 参加しました。結果は以下です。 (プレテスト中) Dができて嬉しかったです。 A B C1 C2 D E A 問題へのリンク 周期性があるのでごちゃごちゃやるといいです(こういうの嫌い) void solve(){ ll a,b,c,d; cin >> a >> b >> c >> d; i…

AtCoder Beginner Contest 168 ABC168 参加記

4完で水パフォでした。長針は離散的に動きません。余弦定理がTwitterトレンドに入っていて笑っていました。 提出へのリンク 順位表 A - ∴ (Therefore) B - ... (Triple Dots) C - : (Colon) D - .. (Double Dots) E - ∙ (Bullet) F - Bracket Sequencing A -…

Codeforces Round #629 (Div. 3) E - Tree Queries

問題概要 解説 実装 問題概要 問題へのリンク 木が与えられる。 各クエリに答えよ。 クエリ 個の頂点が与えられる。これらの頂点すべてからの距離が1以下となるパスが存在するか答えよ。 解説 最も深い頂点と、その前の頂点のLCAを求めて、そことの距離が1よ…

Codeforces Round #636 (Div. 3) E. Weights Distributing

問題概要 解説 実装 類題 問題概要 問題へのリンク ある人が -> -> と移動する。あなたは辺の重みの候補を持っているので、ある人が旅を移動距離を最小化するように移動したときに、その移動コストを最小化するように重みを配置してください。 解説 ある地点…

Codeforces Round #642 (Div. 3) E. K-periodic Garland

問題へのリンク 問題概要 解説 提出 問題概要 とのみで構成された文字列が与えられる。隣り合うの距離をちょうどにするために必要な操作回数の最小値を求めよ。 解説 周期で考える。 ある一つので割った余りが等しいindexについて、 という形に、 他のindex…

Codeforces Round #642 (Div. 3) 参加記

コンテストへのリンク 参加しました。結果は以下です。 Dできてよかったです。 A B C D E A 問題へのリンク 以上にはできません。 void solve(){ ll n,m; cin >> n >> m; ll ans; if(n == 1){ ans = 0; } else if(n == 2){ ans = m; } else ans = 2 * m; cou…

Codeforces Round #641 (Div. 2) D - Orac and Medians 解説

問題へのリンク 問題概要 長さの数列について、以下の操作を繰り返し全ての要素をにできるか判定せよ。 数列の区間について、全ての要素をその区間の中央値に置き換える。 ただし、中央値は区間の長さをとすると、小さい方からとする。 解説 色々実験してみ…

Codeforces Round #641 (Div. 2) 参加記

コンテストへのリンク 参加しました。結果は以下です。 メモリオーバーで悲しかったです。考察はできていたので余計。 A B 解説 実装 C 問題概要 解説 実装 D A 問題へのリンク 2回目以降は必ず2を足すので。 B 問題へのリンク 解説 昇順にしたいので、後ろ…

AtCoder Beginner Contest 167 ABC167 参加記

5完で青パフォでした。ムーブ的にはよかったと思います。 提出へのリンク 順位表 A - Registration B - Easy Linear Programming C - Skill Up D - Teleporter E - Colorful Blocks F - Bracket Sequencing A - Registration pop_back()するのが最適っぽいで…

ABC021 D - 多重ループ

atcoder.jp 広義単調増加列の数え上げ。 これなので、 coonevo.hatenablog.com

AtCoder Beginner Contest 165 E - Rotation Matching

E - Rotation Matching 解説 まず操作ですが、人の数字割り当てが回転するのではなく、対戦場の割り当てが回転していくと考えても同じことです。 ある対戦場の割り当ては回回転するので、円形に考えると一周することになります。 同じ割り当てになってしまう…

AtCoder Beginner Contest ABC166 参加記

5完で水パフォでした。ムーブがダメダメすぎましたし、Eは無限人が瞬殺していたので解けたことで喜ぶこともできないみたいです。Dは問題文が優しくないなあと思いつつも、よく読まない人が悪いということになるので・・・ A B C D E F A はい B お菓子持って…

AtCoder Beginner Contest ABC165 参加記

AtCoder、AtCoder Beginner Contest、D - Multiple of 2019、E - Two Currencies、拡張ダイクストラ、競技プログラミング

AtCoder Beginner Contest 165 C - Many Requirements

C - Many Requirements 解説 単調増加列の数え上げですが、以下の考え方がわかりやすいです。 maspyさん 単調増加数列の数え上げは、・1 <= x < y < z <= Nbinom(N,3) それはそう・1 <= a <= b <= c <= Nx=a, y=b+1, z=c+2 とおくと、1<=x

AtCoder Beginner Contest 165 D - Floor Function

D - Floor Function 問題概要 解説 D - Floor Function 問題概要 の最大値を求めよ。ただしとする。 解説 一般に床関数は以下のように表せる。 よって、 ゆえに、 したがって、 はのとき最大になる。

Codeforces Round #638 (Div. 2) 参加記

コンテストへのリンク 参加しました。結果は以下です。 A 問題概要 解説 B 問題概要 解説 C 問題概要 解説 実装 D. Phoenix and Science 問題概要 解説 A 問題概要 を個ずつに分けたときの差の最小値を求めよ。 解説 片方の和を固定して、そこからもう片方に…

2020年5月の目標

2020年5月になりましたので、目標を立てました。 生活 部屋の掃除 自炊 人生 研究の進捗を出す 競プロ AtCoder rating 1400 jjjjjjjtgpptmjjさんのAtCoder Beginner Contest 164での成績:849位パフォーマンス:1601相当レーティング:1242→1284 (+42) :)#At…