2020-08-03 diverta2019-2 A, B
diverta 2019 Programming Contest 2 A, B 考察
diverta2019-2 A - Ball Distribution
K = 1
のときは 0
。 K > 1
のときはそれぞれに 1 個ずつ配って残りを誰かひとりに配れば良い。多い人: N - (K - 1)
個 少ない人: 1
個になる。差は N - (K - 1) - 1 = N - K
。
https://atcoder.jp/contests/diverta2019-2/submissions/15654626
diverta2019-2 B - Picking Up
任意の順で取り出したときに x
が p
ずつ y
が q
ずつ変わるときコストを減らせる。コストを減らすために変えられるのは順序と (p, q)
だ。 N <= 50
と数は少ない。ある要素と他の各要素の差を全列挙できる。差の中で最も頻度の高いものを選べばコストが最小になりそうだ。 BTreeMap
に N * (N - 1)
を挿入して並び替えて取り出す。
N = 1
のとき差がないので Map が空になってしまうことを考慮しそびれていた (1WA) 。
https://atcoder.jp/contests/diverta2019-2/submissions/15660107
https://mybatis.org/mybatis-3/dynamic-sql.html
MyBatis の <foreach>
の内側で <bind>
すると期待通りに動かなかった。
<bind>
しないと任意の関数を呼び出せない (と思う) ので <foreach>
の中で <bind>
したのだけどどうも同じ値が何度も割り当てられているようだった。
結局は MyBatis でごちゃごちゃ指定するのをやめて Mapper クラスのメソッドの引数の型のプロパティで対応することにした。 MyBatis では #{propertyName}
を指定するだけにした。
https://stackoverflow.com/questions/29296696/mybatis-bind-in-foreach-for-parameter
リングフィットアドベンチャー 47 日目 レベル 90 ワールド 10