2018-09-27から1日間の記事一覧

SRM592 Div2 Hard - LittleElephantAndArray

違う意味で教育的 キレた 問題 長さnの数列a = {A, A+1, A+2, ..., A+N}がある LittleElephantくんはこの各要素について何個かの桁を消す 消す桁は0個でも良いが完全に消すことはない また結果できる数が同じでも消す桁が違えば別の消し方として区別する (例…

SRM592 Div1 Easy - LittleElephantAndBalls

問題 ボールをn個持っており、ボールiの色は左から順にs[i]である(s[i]は'R' か 'G' か 'B') これを左から順に空のテーブルに一列に置いていく ボールiを置くとき、 ボールの列の端に置く場合) 元のボールの列に含まれるボールの色の種類数をスコアに加える …

SRM592 Div1 Medium - LittleElephantAndPermutationDiv1

類題(前提知識) creep06.hatenablog.com 問題 長さnの順列a,bがあるとき、 magic(a,b) = max(a[1],b[1]) + max(a[2],b[2]) + ... + max(a[n],b[n]) と定義する magic(a,b)の値がk以上になるようなa,bの組み合わせの数を求めよ1 1 解法 How to deal with two …

AOJ 2439 - 箱根駅伝 (Hakone)

めちゃくちゃ教育的類題 creep06.hatenablog.com 問題 箱根駅伝のある中継所における「各チームの通過順位」と「前の中継所からの順位変動」が与えられる 具体的には、c[i]がこの中継所をi番目に通過したチームの前の中継所からの順位変動を表し、 c[i] = '-…

K4PC E - はじめての動的計画法(Easy Dynamic Programming)

問題 https://beta.atcoder.jp/contests/k4pc/tasks/k4pc_e「n本の胡瓜があり、それぞれの重さはa[i]である これらの部分集合(空でも良い)のうち、重さの総和がw以下であるようなものの個数を求めよ 1 という問題について、答えがxになるような入力例を1つ作…

yukicoder 31 - 悪のミックスジュース

類題 creep06.hatenablog.com 問題 果物1、果物2、...、果物nの、それぞれの100%ジュースを混ぜて、ミックスジュースをvリットル作りたい 果物iの100%ジュースは1リットルパックがc[i]円で売られている ミックスジュースを作るための最小コストを求めよただ…

yukicoder 269 - 見栄っ張りの募金活動

これは良い問題だ!✨類題 creep06.hatenablog.com 問題 n人のクラスで募金を計s円集めて寄付することにした 生徒は出席番号順に寄付金額を決めていく 生徒は皆見栄っ張りなので、出席番号が1つ前の生徒よりk円以上高い金額を寄付しないと気が済まない 不満な…

Code Festival 2017 予選C D - Yet Another Palindrome Partitioning

面白い問題! 問題 英小文字のみからなる文字列sが与えられる これをいくつかの空でない部分文字列s[1], s[2], ..., s[n]へ分割したい 更に任意のs[i]について、「s[i]の文字列を並び替えて回文が得られる」という条件も満たしたい 条件が成り立つようにsを…

Code Festival 2017 予選B D - 101 to 010

問題 0と1のみからなる文字列sが与えられる この文字列に対し、「"101"となっているところを"010"に書き換える」という操作を行うことができる 最大で何回操作を行えるか1 解法 操作を逆から見ると、最終状態の1は「もともと1だった」か「101に操作をして出…

東京工業大学プログラミングコンテスト2015 M - コインと無向グラフ

問題 頂点数n、辺数mの無向グラフが与えられ、グラフの各頂点iにはコインがc[i]枚乗っている 各プレイヤーは交互に以下の操作を繰り返す 1) 頂点0以外で頂点0と連結な頂点を1つ選び、それをjとする 2) jに隣接する頂点のうち、jより頂点0に近い点を1つ選び、…

東京工業大学プログラミングコンテスト2015 I - そーっとソート

典型力と地力を上げたくてなんとなく docs.google.com を解いていってるんだけど、ビビるくらい良い問題も何個かあったからどんどん書いていきます 問題 (1,2,...,n)の順列として数列aが与えられる 以下の操作を10^5回まで行えるとき、数列を1,2,...,nに並び…