B]競技プログラミングhttp://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=ICPCOOC2017&pid=BM点ある(Mは偶数)。全ての点を2点でマッチングさせて、直線を引く。16といういかにもな制約があるので、ここから考える。制約的にはO(2^M)という感じ。bitDPだろうなぁと考えていくとDPできる。部分集合mskを全てマッチングさせて、全て平行な直線が作れるか」これをbitDPを使って解決していく。このためにもう1つDPを用意する。部分集合mskを全てマッチングさせた時に作れる全て平行な直線の傾きの集合」これを更新しながらdp2を更新していく。1これを順にやっていく。これで答えのbitDPの用意が整った。部分集合mskを使って出来る平行線の組の個数の最大値」これはmskを2つに分けて足し合わせることで更新していく。F]月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。