💡

138. 変数分離型の微分方程式

2023/03/22に公開

【問題概要】
以下の微分方程式を解け。
dy/dx = 2x/y

【解説】
この問題は、変数分離型の微分方程式を解く問題です。変数分離型とは、微分方程式の左辺と右辺がそれぞれxとyの関数で表される形式のことを指します。

まず、両辺をyで割って、dy/dxを分離します。
dy/y = 2x dx

次に、両辺を積分します。
∫dy/y = ∫2x dx

左辺の積分は自然対数関数lnを用いて表せます。
ln|y| = x^2 + C

ここで、Cは積分定数です。両辺の指数関数をとり、指数関数の性質を利用すると、以下のようになります。
|y| = e^(x^2 + C)

最後に、|y|に関する式をyに変形して、正負を考慮して解を求めます。
y = ±e^(x^2 + C)

以上が、この微分方程式の解法です。

この問題は、AtcoderのABCコンテストにおいて、レーティング難易度(★) に分類されており、ACした回答者に絞った場合のレーティング帯の範囲は約 1100 ~ 1300 点程度です。また、AC率は約 80% 程度となっています。

参考までに、解法については、「ABC130D Enough Array」(https://atcoder.jp/contests/abc130/tasks/abc130_d) などが挙げられます。この問題では、数列の中からk個以上の要素を選んだ場合の最小の部分列の和を求める問題となっています。解法としては、二分探索によって部分列の和を求める方法が示されています。

Discussion