競プロ

AtCoderで解いた問題とか AtCoder:Autumn_A

ABC116

D分かりませんが

(追記)D通しました.ぷらいおりてぃきゅーがわからないのでチョットキタナイ

A - Right Triangle

よく見ると角ABC=90°と書いてあるのでAB*BC/2で終わりです.(面積が整数とも書いてあるので)

ex(C++)

 

B - Collatz Problem

シュミレーションして間に合うので.

sが偶数のときs=s/2,奇数のときs=3s+1をやりましょう.

ex(C++)

 

C - Grand Garden

一番左の花[i]<h[i]となるiの高さを増やすときになるべく右側までまとめて増やしたほうがお得なのでiの高さを1増やすたびにi<k<j(花[k]<h[k])となる[i,j]で高さを1増やしてあげましょう.

ex(C++)

 

D - Various Sushi

ソートしただけでTLEしたから分かりません.

貪欲した後種類を増やしていくんではないんですか.

(追記)方針はあってた.

貪欲する時に各種類の寿司の価値が2番目以下のものを覚えておいて新しい種類の寿司が来るたびにそこの最小のものと入れ替えます.

これは種類を増やさないなら貪欲が正しいことが自明,種類を増やすなら貪欲から種類を減らさないような最小のものを取りだして新しい種類の寿司の中から最大のものと入れ替えればいいことから分かります.

ex(C++)