ながめも

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

区間

Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1) C. Perform Easily

C. Perform Easily 問題へのリンク 弾きたい曲の楽譜とギターの弦における音の下限が与えられるので、ギターの抑えるべき幅の最小値を求めよという問題。 ある区間の中に全ての音を包含するようにできるかを考えればいいが、これは尺取りでできる。 int main…

AtCoder Regular Contest 106 ARC 106 参加記

A - 106 解説 実装 B - Values 解説 実装 C - Solutions 解説 実装 A - 106 問題へのリンク 解説 オーバーフローしそうなのでpythonで。 実装 N = int(input()) for a in range(60): if a == 0: continue rem = N - pow(3, a) if rem < 0: break for b in ra…

AtCoder HHKB プログラミングコンテスト2020 参加記

ABCE青パフォでした。Dが難しかったですね・・・。 jjjjjjjtgpptmjjさんのHHKB プログラミングコンテスト 2020での成績:571位パフォーマンス:1728相当レーティング:1443→1475 (+32) :)#AtCoder #HHKBプログラミングコンテスト2020 https://t.co/hTuwuCdLL…

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

A. Cubes Sorting すべての要素が異なり、逆順に並んでいるとき、バブルソートは最大で回の操作が必要になります。そうでないとき、それ未満で終わります。 void solve(){ int N; cin >> N; vector<ll> a(N); rep(i,N)cin >> a[i]; rep(i,N-1){ if(a[i] <= a[i+1</ll>…

AtCoder Beginner Contest 179 ABC179 参加記

A - Plural Form 解説 実装 B - Go to Jail 解説 実装 C - A x B + C 解説 実装 D - Leaping Tak 解説 実装 E - Sequence Sum 解説 実装 F - Simplified Reversi A - Plural Form 問題へのリンク 解説 末尾を確認します。 実装 int main() { string S; cin >…

AtCoder Grand Contest AGC005 B - Minimum Sum

B - Minimum Sum 解説 実装 B - Minimum Sum 問題へのリンク 解説 区間がたくさん与えられるので、その中のある値の和を求めよという問題は多くありますが、基本的に区間をすべて列挙して解くことはできません。今回も例によってそのパターンで、ある値が、…

AtCoder Beginner Contest 174 ABC174 参加記

Eまでノーペナ30分だったのにF既出を検索できずにしょっぱいパフォを取ってしまいました。もったいなかったです。 jjjjjjjtgpptmjjさんのAtCoder Beginner Contest 174での成績:1161位パフォーマンス:1476相当レーティング:1307→1325 (+18) :)#AtCoder #A…

AtCoder Beginner Contest 173 ABC173 F - Intervals on Tree

問題へのリンク 解説 まず、「閉路のない無向グラフにおいて、連結成分数 = 頂点数 - 辺数」が成り立つことを使います。 すると、問題は以下のように言い換えられます。 頂点数は の計算でで求められます。は区間の長さです。 辺数に関しては、について考え…

AtCoder Beginner Contest 106 D - AtCoder Express 2

atcoder.jp 区間を二次元座標とみなし、二次元累積和で。 一方、クエリ先読みして区間を終端ソートすると、終端が前の区間から順に確認していくことで問題を解くことができる。終端の順番を固定し、始端の分布をBITでもち、和をで得ることができ、計算量はと…

AtCoder Grand Contest 011 AGC011 A - Airport Bus

atcoder.jp 左端を固定して、条件を満たすように右に伸ばしていくのを貪欲に行う。実装は尺取り法が楽になる。 int main() { ll N, C, K; cin >> N >> C >> K; vector<ll> T(N); rep(i,N)cin >> T[i]; sort(all(T)); int r = 0; int ans = 0; for(int l = 0; l <</ll>…

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

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

AtCoder Beginner Contest ABC166 参加記

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

AtCoder Regular Contest 101 ARC 101 D - Median of Medians

問題 方針 単調性 判定問題 区間の中央値がX以上になる条件 区間列挙の解決策 実装 問題 長さNの数列が与えられる。この中の全ての連続部分列における中央値の中央値を求めよ。 問題へのリンク 方針 単調性 二分探索する。 中央値がX以上となる区間の数が全…

AtCoder Beginner Contest 146に参加しました

ABC146に参加しました A - Can't Wait for Holiday mapで管理すると楽そうです。 提出 B - ROT N アルファベットをN個スライドする問題。 ('S[i] - 'A' + N) % 26 + 'A' をすると通ります。 提出 C - Buy an Integer X円で買える数字の最大値を求める問題。 …