けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

計算幾何

AOJ 1460 The Farthest Point (ICPC アジア 2024 F) (5D)

小谷の蟻の問題! 問題へのリンク 問題概要 の直方体の表面上で、1 つの頂点から最も遠い点への距離を求めよ。 下の図は 1 x 1 x 2 の例であり、とくに「小谷の蟻の問題」と呼ばれている。 制約 考えたこと 1 x 1 x 2 のときに、直方体の反対側の頂点が答え…

AtCoder ABC 159 C - Maximum Volume (5Q, 灰色, 300 点)

すごく数学的な問題 問題へのリンク 問題概要 縦、横、高さの総和が であるような直方体の体積の最大値を求めよ。 制約 考えたこと 縦、横、高さの長さを としよう。このとき、次の問題になる。 のとき、 の最大値を求めよ この手の問題では、 のとき最大に…

AtCoder ABC 058 D - 井井井 (ARC 071 D) (2Q, 青色, 400 点)

「x 軸と y 軸を独立に考えられる」と「主客転倒・寄与分解」の合わせ技!! 問題へのリンク 問題概要 座標平面上に、 本の直線 と、 本の直線 がある。 これらの直線のうち 4 本を選んでできる長方形領域は 個あるが、それらの面積の総和を 1000000007 で割…

AtCoder ABC 057 B - Checkpoints (6Q, 茶色, 200 点)

多重 for 文の練習問題! 問題へのリンク 問題概要 二次元平面上に 人の学生と、 個のチェックポイントがある。学生 は座標 にいて、チェックポイント は座標 にいる。 各学生について、その学生からマンハッタン距離が最も近いチェックポイントを求めよ (タ…

AtCoder ABC 374 D - Laser Marking (2Q, 茶色, 350 点)

座標平面上の 本の線分の順序を探索して、さらに各線分のどちら側からどちら側になぞるかも探索する。 問題へのリンク 問題概要 座標平面上に 本の線分がある。 本目の線分は、座標 の点と座標 の点を結んでいる。 最初、原点にレーザーがある。レーザーは印…

AtCoder ABC 056 B - NarrowRectanglesEasy (6Q, 灰色, 200 点)

ちょっと幾何チックな問題 問題へのリンク 問題概要 考えたこと この手の問題では、 の大小関係が定まっていると考えやすい。そして、 でも でも、どちらでも一般性を失わないので、 として考えよう。 このとき、次のように整理できる。 ならば:すでに連結…

AtCoder ABC 373 G - No Cross Matching (3D, 黄色, 600 点)

すごく面白かった! 問題へのリンク 問題概要 二次元平面上に点 と という 個の点がある。同一直線上に 3 点が乗ることはない。 の順列 であって、次の条件を満たすものが存在するかどうかを判定し、存在するならば 1 つ示せ。 【条件】 に対して、2 点 , を…

AtCoder ABC 047 B - すぬけ君の塗り絵 2 イージー (6Q, 灰色, 200 点)

「白い部分」が常に長方形であることから、その位置を上手に管理しよう。 問題へのリンク 問題概要 座標平面上で、2 点 を対角線とする長方形領域が与えられる。はじめ、全体が白く塗られている。この領域に対して、次の 回の操作を行なった。 【操作】 3 つ…

AtCoder ABC 362 B - Right Triangle (6Q, 灰色, 200 点)

三平方の定理を思い出そう! 問題へのリンク 問題概要 座標平面上の 3 個の格子点 が与えられる。 これら 3 点 が直角三角形をなすかどうかを判定せよ。 制約 座標値は -1000 以上 1000 以下 考えたこと 3 点 A, B, C が直角三角形をなす条件は のいずれかを…

JOI 本選 2007 C - 最古の遺跡 (AOJ 0518) (2Q, 難易度 5)

少し数学チックな問題! 問題へのリンク 問題概要 二次元の座標平面上に 個の点がある。点 の座標は である。 これら 個の点から 4 個を選ぶ。選んだ 4 点が正方形の頂点となる場合についての、正方形の面積の最大値を答えよ。 制約 考えたこと であるような…

AtCoder ABC 246 A - Four Points (6Q, 灰色, 100 点)

工夫すると楽できる! 問題へのリンク 問題概要 xy 平面上に、各辺が x 軸または y 軸に平行である長方形がある。この長方形の 4 つの頂点のうちの、3 つの頂点の座標 が与えられる。 残り 1 点の座標を求めよ。 制約 考えたこと:一般の長方形の性質 たとえ…

AtCoder ABC 356 G - Freestyle (5D, 赤色, 575 点)

この見た目で「幾何」になるの、面白い! 問題へのリンク 問題概要 高橋君は 種類の泳ぎ方ができる。 種類目の泳ぎ方では、1 秒間に体力を だけ消費して、 メートル進むことができる。このとき、次の 回のクエリに答えよ。 【クエリ】 正の実数 が与えられる…

JOI 一次予選 2022 (第 2 回) A - 立方体 (10Q, 難易度 1)

このくらい易しい問題はとてもいい! 問題へのリンク editorial 問題概要 一辺の長さが である立方体の体積を求めよ。 解法 求める体積は である。 よって、整数値 X の入力を受け取り、X * X * X の値を出力すればよい。 コード #include <bits/stdc++.h> using namespace </bits/stdc++.h>…

AtCoder ABC 145 A - Circle (9Q, 灰色, 100 点)

ちょっと図形問題! でも、サンプルから法則を見つける解き方もできそう。 問題へのリンク 問題概要 半径 の円の面積が、半径 1 の円の面積の何倍であるかを答えよ。 解法 1:円の面積の公式 半径 の円の面積は である。これに対して、半径 の円の面積は、 …

CodeQUEEN 2023 決勝 F - Queen's Crown

AOJ 2373 HullMarathon とよく似た問題。 問題へのリンク 問題概要 二次元平面上に 点を以下の条件を満たすように配置する。各点を とし、偏角を とする。 点 と、原点との距離は このとき、多角形 の面積の最大値を求めよ。 制約 考えたこと ほとんどこの問…

AOJ 2373 HullMarathon (JAG 冬合宿 2010 day3-E) (700 点)

面白い最適化問題! 問題へのリンク 問題概要 二次元平面上で、原点からの距離が であるような 点の凸包の面積として考えられる最大値を求めよ。 制約 考えたこと 凸包というところが面倒だが、要は 本のうちの何本かを選んで それを適切な順序に並び替えた…

Yosupo Library Checker - Sort Points by Argument

偏角ソートの verify 問題へのリンク 問題概要 二次元平面上に 個の点が与えられる。各点の座標は である。これらの点を偏角 ( とする) が小さい順にソートせよ。 ただし、点 の偏角は であるとする。また、偏角が等しい点の順序は問わない。 制約 考えたこ…

AtCoder ABC 314 Ex - Disk and Segments (4D, 赤色, 625 点)

本当に三分探索で通るのね! これらの問題を思い出した drken1215.hatenablog.com drken1215.hatenablog.com 問題へのリンク 問題概要 二次元平面上に 本の線分がある。この平面上の円盤 (円周と内部を含む) のうち、 本の線分すべてと共有点をもつようなも…

AtCoder ABC 207 D - Congruence Points (2D, 黄色, 400 点)

すごくシンプルだけど詰まる部分もたくさんありそうな問題 問題へのリンク 問題概要 二次元平面上に、2 組の 個の点集合 、 がある。 に含まれる 個の点に対して、一律に 原点を中心とした回転をする (角度は任意) 平行移動をする (移動量は任意) を実施する…

AtCoder ABC 265 F - Manhattan Cafe (黄色, 500 点)

次元空間という、いかめしいものが出てくるけど、あまり関係ない。DP 高速化が本質。 問題へのリンク 問題概要 次元空間上に 2 つの格子点 , が与えられる。 これらとのマンハッタン距離がともの 以下であるような格子点の個数を 998244353 で割ったあまりを…

AtCoder ABC 016 D - 一刀両断 (2Q, 試験管水色)

幾何の問題。特に「線分と線分の交差判定」に関する問題! 問題へのリンク 問題概要 凸とは限らない 角形 が与えられる。 番目の頂点の座標は である。 この多角形 の外部に 2 点 , がある。この 2 点を結ぶことによって、多角形 をいくつかのピースに分ける…

AtCoder ABC 304 C - Virus (3Q, 灰色, 300 点)

単純な DFS / BFS 系はいよいよ灰色 diff になったのですね。 問題へのリンク 問題概要 二次元平面上に 人がいます。 番目の人は座標 にいます。 今、 番目の人がウィルスに感染しました。ウイルスに感染した人から距離が 以内にいる人にウイルスは次々とう…

AtCoder ABC 250 F - One Fourth (黄色, 600 点)

くしらっちょ君と一緒に解いた! 実装が辛い。 問題へのリンク 問題概要 頂点数が である凸多角形が与えられる。この凸多角形の面積を とする。 今、凸多角形の隣接しない 2 頂点を結ぶ直線によって凸多角形を 2 つの多角形に分ける。そして、2 つの多角形う…

square869120Contest #5 B - Emblem

競プロ典型90問の問題 001 の類題。「最大値の最小化」をする二分探索の典型問題ですね。 問題へのリンク 問題概要 二次元平面上に 個の円が与えられます。またそれらとは別に 個の点が与えられます。円同士は互いに交わることはなく、点が円に包含されるこ…

AtCoder ABC 010 C - 浮気調査 (6Q, 試験管茶色)

読解がちょっと大変......今の時代の問題文の方がわかりやすいね。 問題へのリンク 問題概要 高橋君は最高速度 で移動することができる。 高橋君は時刻 に地点 を出発し、時刻 に地点 に到達しました。 その過程で 個の地点 , , のいずれかに寄り道した可能…

AtCoder ABC 075 D - Axis-Parallel Rectangle (1Q, 水色, 400 点)

古き良き全探索問題!! 問題へのリンク 問題概要 二次元平面上に 個の点があります。 番目の点の座標を とします。 この二次元平面上で各辺が X 軸・Y 軸に平行であるような長方形であって、 個の点のうち 個以上の点を内部および周に含むようなものを考え…

JOI 春合宿 2007 day3-2 Route (1Q, 難易度 7)

DIjkstra をするときに、直前の頂点ももつ系 問題へのリンク 問題概要 頂点数 、辺数 の重み付き無向グラフが与えられる。頂点 の座標は となっている。 頂点 1 から頂点 2 へと至る経路のうち、鋭角に曲がる箇所がないようなものを考える (頂点 の前の頂点…

Codeforces Round #557 (Div. 1) B. Chladni Figure (R1900)

KMP 法で殴ったけど、愚直にやっても調和級数的計算量で間に合うね。 問題へのリンク 問題概要 円周上に等間隔に 個の点が打たれている。これらの点を端点とした 個の線分がある (下図のような感じ)。 これが回転対象性をもつかどうかを判定せよ (1 周未満の…

AOJ 3217 Cafe au lait (OUPC 2020 I) (4D)

数学っぽい問題好き!!! 問題へのリンク editorials 問題概要 個のカフェオレがある。 番目のカフェオレは、コーヒーが mg、ミルクが mg だけ入っている (ともに整数)。 これらを混ぜて作れるカフェオレのうち、コーヒー量 とミルク量が がともに正の整数…

JOI 春合宿 2007 day4-2 Lines (難易度 9)

平面グラフの面の個数を考える系問題 ジャッジへのリンク 問題へのリンク 問題概要 二次元平面上に 本の直線が与えられる。これらの直線は、それらを通る 2 点の座標 ( と を通る) で与えられる。 これらの直線によって、平面全体が何個の領域に分割されるの…