次に、具体的な組み合わせを列挙する方法ですが、本番ではここでつまずいてしまいました。以下のように考えます。考えた場合、これは必ずユニークな値になります。よって、iとjを2重ループでまわして組み合わせを列挙していき、そこに整数を1つずつ当てはめていきます。その際に、各部分集合にその整数を割り当てていき、最後に各部分集合に含まれる値を出力すればよいです。")end感想400点のCはほぼ解法がわかっていたのに、もう一歩考察が足りずにWAとなってしまいました。500点のDも考え方はあっていたのですが、組み合わせの列挙で躓いてしまった。いうことで、またしても水色手前で足踏み状態です。訪れる町の数が最大で8のため、訪れる順番の組み合わせは最大でも8!(=40320)通りです。町の数は最大200であり、事前にワーシャルフロイド法(計算量はO(N3))等でそれぞれの町の間の最短距離を求めておけば、全ての組み合わせを試しても十分に間に合います。数字の出現回数が・偶数回:消えている・奇数回:書かれているので、mapを使って出現回数をカウントしておき、最後に奇数回のものを数えれば解けます。これ以外にもsetを使って操作をシミュレートしても良い。Mac以前、radikoのタイムフリーを保存する方法を書きましたが、今回はエリアフリー対応版です。13:30基本的な手順は同じですが、異なるのは最初にログイン処理を行ってCookieをローカルに保存し、以降はそのCookieを送信する点です。authkey.pngauthkey.png実行ログイン処理エリアフリーの番組を保存する場合、この手順が必要になります。最後のmailとpassにプレミア会員登録しているメールアドレスとパスワードを設定します。'mail=aaaa@example.com&pass=password'実行すると、cookie.txtにクッキーが保存されます。以降のcurlコマンドではこのファイルを-bオプションで指定します。key事前準備でダウンロードしたキーとなる画像ファイルから、X-Radiko-KeyOffsetがオフセット、X-Radiko-KeyLengthが長さとなるデータを抽出する。UNIXのddコマンドを使って抽出する。抽出したデータはBase64で文字列に変換する。Japan応答として地域の情報が帰ってくると認証は成功。プレイリストの取得と音声の保存プレイリスト取得用のURL(https://radiko.jp/v2/api/ts/playlist.m3u8)に対して、クエリとして放送局IDと開始、終了時間を指定してするとプレイリストを取得できます。lというクエリには15を指定するらしいのですが、意味は不明です。放送局IDについてはググると出てくると思います。'flash=1'#EXTM3U#EXT-X-VERSION:3#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=52973,CODECS="mp4a.40.5"https://radiko.jp/v2/api/ts/chunklist/GTgzFQEx.m3u8これをffmpegの引数として渡すことで、音声の保存が可能です。ffmpegの実行時はCookieを送信する必要はありません。out.m4aiTunes等で聴けるように、ffmpegのオプションでm4a形式で保存するようにしています。まとめ以上の手順によってradikoのエリアフリーを保存することが出来ます。左から順にpiをみていきます。次の数と入れ替えて、右に2つ進む。このとき、次の数(pi+1)がi+1かどうかは特に意識する必要は無い。どちらの場合も、入れ替え後に条件を満たすため。iの場合は、一つ前の数と入れ替えればOK。400点とは思えないほど簡単です。AtCoder問題https://beta.atcoder.jp/contests/abc072/tasks/arc082_a解法aiがとりうる値は、ai-1、ai、ai+1の3つです。とりうる値の数をカウントする配列を用意しておき、各aiについてai-1、ai、ai+1の3カ所を1ずつ加算していけば、その最大値が解となります。実装aiが0となる場合の扱いを簡略化するため、aiと+1、+2の箇所を加算している。最終的な解は「個数の最大値」であるためこのままでも問題無い。左から順にドミノの並びを見ていく場合、並び方は・縦に1つ置く・横に2つ重ねるの2パターンです。そこで、直前の並びに対する次の並びでの塗り方のパターンを考えます。よって、左側から順番にドミノの並びを検査していき、上記のパターンをかけていくと解ける。長方形の辺の候補となるのは2本以上存在する棒です。4本以上存在すれば正方形にすることが出来ます(正方形は長方形に含まれる)よって、同じ棒が2本現れる毎に辺の候補に追加し、その中から1番目に長いものと2番目に長いもので長方形を作れば解となります。辺の候補が2つ以上無ければ解無しとして0を出力します。実装としては、同じ長さの棒のカウントにはmap、辺の候補の管理はvectorで行います。