優先度付きキュー

ABC308F - Vouchers

考え方 回答例 考え方使ったクーポンの$D_{i}$の総和を最大化する.クーポン$i$は「(定価)$\geq L_{i}$」を満たす商品に適用できる.同じクーポンならなるべく定価が小さいものに使ったほうが有利. 商品の定価を小さい順に見ていき 定価$p$の商品に対して$S…

ABC270E - Apple Baskets on Circle

周回回数を効率的に求め,残り$N$個以下になったら愚直に数えることを考える. 解法1:二分探索 考え方 回答例 解法2:シミュレーション 考え方 回答例 解法1:二分探索考え方Editorial - TOYOTA MOTOR CORPORATION Programming Contest 2022(AtCoder Beginn…

ABC267E - Erasing Vertices 2

考え方 回答例 考え方コスト最低の頂点から消す. 隣接頂点に対し,消した頂点の分のコストを修正してpushする. (ダイクストラに似ている)回答例 from heapq import heappop, heappush N, M = map(int, input().split()) A = list(map(int, input().split…

最短経路問題

単一始点 BFS ダイクストラ法 01BFS 単一始点ある頂点からの最短距離を求めたい場合.負の辺がないとする.未確定頂点のうち,最短距離のものは確定できる(他の頂点からの更新で小さくなりえない).つまり,最短距離の未確定頂点の集合を取り出せるデータ…

ABC234D - Prefix K-th Max

優先度付きキュー 考え方 回答例 参考 BIT 考え方 回答例 優先度付きキュー考え方$K$要素のリストを管理し, 「(リストの中で一番小さい値) そうでないなら,リストを変更しない とすれば,このリストの最小値が各ステップで求めたい値となる.これは,最初…