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 投稿

2023年10月25日 模擬試験の反省

時間管理 7:40 から 8:40 まで、対拍と乱数生成の準備を行い、問題を読み込み、T1 を開始しました。40分で初回の提出を完了し、対拍で小さな誤りを見つけたため修正して再提出しました。 8:40 から 10:20 まで、T2 の解決に取り組みました。以前の模擬試験の T2 と類似点がありましたが、直接的な解法が見つからなかったため、まずは暴力解法を考えました。しかし、n ≤ 6 ...

7月14日 20:38 投稿

文字変換とアルゴリズム問題集

文字変換問題 Ytfcは魔法の森で、文字列の大文字小文字を反転させる必要がある。この問題を解決するプログラムを作成せよ。 入力: 複数の文字列が与えられる。各文字列の長さは1から200の間である。 出力: 各文字列に対して、大文字小文字を反転させた結果を出力する。 #include<stdio.h> char str[205]; int main(){ while(scanf("%s",str)!=EOF){ ...

7月12日 18:31 投稿

红包分配システムの実装とソート処理

問題概要 N人の参加者間での紅包(お年玉)の分配記録を処理し、各人の収支を計算するプログラムを作成します。入力データから各人の収入金額、支出金額、獲得紅包数を算出し、指定された条件でソートして出力します。 入力形式 最初の行には参加者数N(≤104)が与えられます。続くN行には、各参加者が発行した紅包の情報が以下の形式で記述されます: K N1 P1 N2 P2 ... ...

7月11日 16:44 投稿