睿抗省赛模拟题解

2024年問題 RC-u1 熱天気判定 1からnまでのループを行い、気温が35度以上かどうかをチェックし、指定されたルールに従ってカウントします。 void resolve() { cin >> n >> k; int result = 0, count = 0; for (int i = 1; i > temp; if (temp >= 35) { if (k == 4) count++; else result++; } k++; i ...

7月24日 18:58 投稿

SMU Summer 2024 Contest Round 5

SMU Summer 2024 Contest Round 5 ロボット高橋君 思考プロセス 重み (W_i) でソートし、前後の 1 と 0 の個数を計算します。答えはおおよそ (\max(ans,pre_i+suf_{i+1})) の形式になります。 ソート後、(W_i = W_{i+1}) の場合、i と i+1 の間で分割できないため特別な処理が必要です。 コード #include <iostream> #include <vector> #include <algorithm ...

7月20日 17:48 投稿

牛客周赛 Round 69 問題解説

Cの構築問題 解法 AとBの絶対差と最大値の和を取ることで、第三項を構築できます。 コード #include <bits/stdc++.h> using namespace std; using i64 = long long; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int a, b; cin >> a >> b; int d = abs(a - b); cout << max(a, b) + d << &q ...

7月20日 03:34 投稿

HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)解説

A - Yay! 長さが3以上の文字列中に2種類の文字が含まれており、そのうち1つはちょうど1回だけ出現する。その位置を1-indexedで出力せよ。 最初の文字が一意であれば、残りにその文字は存在しない。そうでなければ、最初の文字とは異なる最初の文字を探せばよい。 #include <iostream> #include <string> using namespace std; int main() { string s; ...

7月18日 00:29 投稿

AtCoderコンテスト445の解法解説

D - チョコレートの再構築 この問題は比較的単純な実装問題です。チョコレートの配置を再構築するアルゴリズムを示します。 struct Chocolate { int height; int width; int id; }; bool compareWidth(const Chocolate &a, const Chocolate &b) { return a.width > b.width; } bool compareHeight(const Chocolate &a, const Chocolate &b) { ret ...

7月17日 20:13 投稿

ABC356コンテスト問題解説

問題A 問題の指示に従ってシミュレーションを行います。 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int size, left, right; cin >> size >> left >> right; vector<int> sequence(size); for (int i = 0; i < size; ++i) { sequence[i] = i + 1; } ...

7月17日 03:05 投稿

プログラミング問題の解法メモ

P2671 [NOIP2015 初級者部門] 和の計算 この問題では、xとzの色が同じで偶奇が一致する条件を満たす要素の組み合わせで和を計算する必要がある。単純なO(n²)の解法では時間制限に間に合わないため、色と偶奇で分類する方法を採用。 色ごとに偶数・奇数グループを分けて集計し、各グループ内で次の式を適用: ans += 要素番号 × (該当色グループ内の要素数 - 1) × 値 + 要素 ...

7月15日 23:21 投稿

競技プログラミング問題の解法とコード例

A 問題 ある日を選んで問題を解くとき、その日の問題数が次の日の問題数よりも多い場合に選択します。ただし、n+1 日目は 0 問とする。 コードを見る <code> #include <iostream> #include <vector> using namespace std; int n; vector<int> a, b; void solve() { cin >> n; a.resize(n + 1); b.resize(n + 1); for (i ...

7月15日 16:53 投稿

競技プログラミング練習問題集:基礎アルゴリズムと実装の解説

幾何学的面積計算問題 解法の指針 指定された矩形領域内で、頂点座標から特定の三角形と台形の面積を減算して目的の面積を求めます。 #include <iostream> using namespace std; int calculate_shaded_area(int x, int y) { const int total_area = 5000; int triangle_area = (100 - x) * 25; int trapezoid_area = y * 25; return total_area - t ...

7月15日 16:05 投稿

P3210 [HNOI2010] 石取りゲーム

ゲーム理論に関する興味深い問題です! しかし、まだ完全には理解できていません... 主なアイデアは「上三角」のケースを除外することです。このケースは見た目に劣っているように見えるため、プレイヤーは最後に選ぶ可能性が高く、**必ず連続して選択されます。つまり、先手が最初と三番目を、後手が二番目を選択します**。(理性的な理解は失敗し、感覚的に理解するし ...

7月15日 16:01 投稿