2023-07-07 『フィットボクシング 2 』のアチーブメントをコンプリートした / bbn 0.38.0 をつくった / EDPC T を解いた
昨日は書き忘れていたのだけど、昨日 (2023-07-06) で『フィットボクシング 2 』のアチーブメントをコンプリートした。プレイ時間は 90 時間。
連続日数は数え間違えがなければ次の通り。
- 31 日連続
- 2 日空き 1 日連続
- 2 日空き 111 日連続
- 2 日空き 55 日連続
- 1 日空き 62 日連続
- 1 日空き 76 日連続
EX アチーブメントが追加されたけど、そちらは諦めた。
リングフィットアドベンチャーは筋トレでフィットボクシングは運動という感じだった。汗をかく感じであって鍛える感じではなかった。
不満点としては手に入るチケットでは衣装 (?) をコンプリートできないこと。全キャラクターの全衣装分のポイントないんだな……って。アチーブメント対象のキャラクターにあてると 1 チケット残ったし (ぼくが適用漏れをしているのかもしれない) よく分からない。 EX アチーブメントにはチケットはつかないっぽいしどうしようもないのかな。コンテンツを購入すると変わるのかもしれないけどそこまでする気持ちはない。
次をどうするか。やめてしまうかリングフィットアドベンチャーに戻ろうと思っている。今日は東京への出張があって厳しいので明日以降かな。
bouzuya/rust-sandbox bbn 0.38.0 をつくった。
bbn list
で query
が必須だったのを optional にした。
- Permutation (Educational DP Contest:T問題)
https://atcoder.jp/contests/dp/tasks/dp_t
- https://atcoder.jp/contests/dp/submissions/43301555
- 解説 AC
- 個数を状態に持つ DP
use proconio::{input, marker::Chars};
fn main() {
input! {
n: usize,
s: Chars,
}
let modp = 1_000_000_007_usize;
let mut dp = vec![1_usize; n];
for (i, s_i) in s.iter().copied().enumerate() {
let mut next = vec![0_usize; n];
let c = std::iter::once(0)
.chain(dp.iter().scan(0, |acc, &i| {
*acc += i;
Some(*acc)
}))
.collect::<Vec<usize>>();
for j in 0..n - i {
if s_i == '<' {
next[j] += c[n - i] - c[j + 1];
next[j] %= modp;
} else {
next[j] += c[j + 1] - c[0];
next[j] %= modp;
}
}
dp = next;
}
let ans = dp[0];
println!("{}", ans);
}
今日のコミット。