340.1

大分見覚えのある感じ。

250

整数配列が与えられるので、最大値と最小値の差分がD以上になるように、部分配列を取得する。部分配列は、左端の要素からはじめて、隣または二つ隣の要素を順次取り込んでいくようにしか作成できない。このとき、部分配列の最小要素数を答えよ、という問題。


どの二つの要素で差分Dを実現するかを全探索して、それらを含むように要素を取り込んでいくだけ。

500

二つの種類のスキルを養成する講義がある。各講義には必須スキルが指定されていて、開講期間中に必須スキルに到達していないと受講できない。このとき、スキルを目的地まで成長させるのに受講する講義の最適順序を答えよ、という問題。


全探索するだけ。

1000

二次元平面上を左上の点から開始して、K個の目的地を囲むように線を引く。ただし、囲んではいけない点がいくつかあるので、それを避けて囲むときの最短距離を答えよ、という問題。


インクリメンタルに増やしていけば良さそうな感じ。既に囲んだ点からの最小距離で決まる。目的となる点以外も囲んでいいので、囲み方についても覚えておかないとダメそう。(囲んではいけない点をどう回避したかが比較的重要そう。)