2023ACM夏合宿 Day5 モノトーンキューとモノトーンスタック

目次- DAY 5 モノトーンキュー/スタック トレーニング概要 A問題 B問題 C問題 D問題 E問題 未解決、解説補完 F問題 未解決、解説補完 G問題 CFデータでWAのヒントを得る J問題 K問題 L問題 補足情報 モノトーンスタック モノトーンスタック 矩形関連 辞書順最小 貢献度法 モノトーンキュー DAY 5 モノトーンキュー/スタック トレーニングリンク:リンク トレーニング ...

8月26日 19:16 投稿

三日挑战|203.リストから要素を削除、707.リストの設計、206.リストの反転

LeetCode 203. リストから要素を削除 問題リンク:203. Remove Linked List Elements 以下の3つのポイントに注意する: ヘッドノードが値を持つ場合、その値が削除対象と一致するか確認し、一致すればヘッドを更新する。 ノードを削除する際は、まず次のノードへのリンクを設定してから削除を行う。 メモリのオーバーフローを避ける。 以下のように、現在のノードの次の ...

8月26日 16:02 投稿

競技プログラミング:文字列・配列・グラフアルゴリズムの実装解説

問題 1:文字列の一致判定と出力生成 この問題では、入力された二つの文字列が完全に一致するかどうかによって出力内容が変化します。一致している場合は特定の形式で 2 行の出力を行い、一致しない場合は 4 行の出力を生成する必要があります。 #include <iostream> #include <string> #include <vector> using namespace std; void execute() { ...

8月22日 15:44 投稿

ICPC 2025 Yokohama R「Seagull Population」問題解説

(M) の処理については公式解説を参照されたい。 まず,海鸥の全总数的明显な下界は (b_i) の最大值であり,(D_{\mathrm{max}} = \max(b_1, \ldots, b_n)) である。これは,いずれかの日に观察到的海鸥数が海鸥の総数をを超えることはできないためである。同様に,增加分の合計も [S_{\mathrm{inc}} = \sum_{i = 1, \ldots, n} \max(b_i - b_{i - 1}, 0) \quad (\text{where ...

8月17日 01:54 投稿

二分木の構造的対称性チェックとBSTによる閾値未満の最大値探索

データ構造としての二分木を扱う際、その構造的な特性を分析する問題や、二分探索木(BST)の性質を活用した検索問題は頻出します。ここでは、ノードの値を無視した構造の対称性判定と、BST内で特定の値より小さい最大のノードを見つけるアルゴリズムを提示します。 構造的対称性の判定 この問題では、ノードに格納されたデータの値に関係なく、ツリーの形状が左右対称で ...

8月16日 20:31 投稿

連結リストのループ開始ノードを特定するアルゴリズム

連結リストの先頭ノード head が与えられた場合、リスト内のループが開始する最初のノードを返します。リストにループがない場合は null を返します。 あるノードから next ポインタをたどることで再びそのノードに到達できる場合、リストにはループが存在します。評価システムは内部的に整数 pos を使用してリストの末尾が接続されている位置を示します(インデックスは0 ...

8月16日 16:18 投稿

雀魂の簡略化ルールによる麻雀和了判定

雀魂という麻将ゲームに興味を持ったユーザーが、複雑なルールを簡略化して新しい麻将を作りました。この新しいルールでは、1から9までの数値の牌を使用し、各数値の牌は4枚ずつ存在します。手札は14枚で構成され、和了の条件は以下の通りです。 14枚の牌の中に2枚同じ数値の牌(雀頭)が含まれていること。 雀頭を除いた残りの12枚の牌が、4つの順子または刻子で構成され ...

8月13日 17:18 投稿

動的計画法(DP)における時間計算量と空間計算量の評価手法

1. 計算量評価の基本モデル 動的計画法(DP)の計算量を正確に見積もるためには、アルゴリズムを以下の3つの要素に分解して考えます。 状態(State): dp[i] や dp[i][j] と定義される、部分問題の解を保持する変数。 状態の総数: 計算が必要なすべての部分問題の数(1次元DPなら $n$、2次元DPなら $n \times m$ など)。 遷移コスト: 1つの状態(例:dp ...

8月11日 09:02 投稿

七夕祭プログラミングコンテスト問題

A. 神話キャラクター 解決アプローチ:各要素についてソート後の隣接要素を確認します。二分探索により位置を特定し、左右の値が条件を満たすか判定します。 #include <bits/stdc++.h> using namespace std; using ll = long long; #define YES(x) (x ? "Yes" : "No") const int MOD = 1e9 + 7; int main_val[100005], backup_val[100005]; vo ...

8月10日 05:07 投稿

STL応用問題集

問題出典 : Nowcoder スタックとソート (nowcoder.com) 問題の解析 各要素の挿入に対して二つの動作が可能である スタックに挿入 直接出力(挿入後に即座に削除) この二つの動作をどう選択するか? 問題の要件:出力されるシーケンスは降順に並べる(ソート不可能な場合は辞書式で大きいものに近づける) 最大値が最初にスタックから取り出されるのが最適 最大値であ ...

8月8日 11:29 投稿