tk555 diary

プログラミング、もしくはそれ以外のこと書きます。

ABC103-D

問題

atcoder.jp

提出

atcoder.jp


範囲(a,b)がM個与えられてbで独立にソートしたものを持っとくってのはよく見る気がする。
なのでその方針はすぐ立ったがコードに落とし込むのに30分ぐらいかかっている。(地頭の問題か?)

最終的に(a,b)の組をaでソートするPriorityQueueとbがどこに何個あるかを記録するサイズnのint配列使って解いているが、これだと類題でN~10^9なんかが出た時に困る。

直したのがこれ

atcoder.jp

けどこの133行目からの

if(maxB<=fip.x){
    maxB=fip.y;
    ans++;
}

この部分正直直観に反するから思いつかんべ。

x < y(a < b)ってのとy(b)が昇順にソートされてるってのが分かっててもACした今でさえ違和感ある。

多分max求めるときの書き方に似てるからだろうな。