Dividing 与えられたビー玉を組み合わせて合計の半分の価値にできるか、ということと等価。 ビー玉の価値の合計が高々120000ということに着目して動的計画法で解く。価値m以下のビー玉を組み合わせて価値iを作れるかどうかを表に持つ。そのまま実装すると制限時間をオーバーしてしまうので、一工夫している。↓のソースのforループ内で flag[p] == m が成り立つならば、以降マークできる箇所は既にマークされているはず。 #include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; int main() { for ( int c=1; ; c++ ) { int marble[7]; for ( int i=1; i<=6; i++ ) cin
授業について 「実践的プログラミング」は教養学部前期課程で開講されている。全学自由研究ゼミナールです。 履修希望の方はUTAS等をご覧ください。2020年夏学期は月曜5限にオンラインで開講されました。 内容に興味がある方はPDFの資料等をご覧ください。(授業で扱う範囲はこの一部で、また細かくは差異があります) ウェブページについて 現在CMS変更に伴う更新作業中です。過去のページも引き続き閲覧可能です。 なお、国際大学対抗プログラミングコンテスト(ICPC)については、現在は多少状況が変化していますので、過去のページをご覧の際はご留意ください。 ACM-ICPCは、2018年12月までにはACMの後援が外れて、ICPCとなりました。 2020年度は、COVID-19の影響で、各チーム分散した環境で国内予選が行われています。教員による「監督」制度も適用されていません。 なお、来年度以降は未定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く