2023-07-04 bouzuya/bouzuya.net v2.7.0 をつくった / ACL Beginner Contest の A, B, C, D を解いた
bouzuya/bouzuya.net v2.7.0 をつくった。 https://bouzuya.net/ から Twitter へのリンクを削除した。
ぼくの中での Twitter はここ数日の「ログアウト状態での参照をできなくした件」と今日の「 TweetDeck が Twitter Blue に組み込まれた件」で完全に終わった。
TweetDeck の有料化は余計なアレコレがなされる前の以前の Twitter なら月数百円は平気で払えたと思う。ほとんどお布施というか寄付のような気持ちで。 AtCoder Problems (kenkoooo さん) に毎月 $5 を払っているのと同様に。いまの Twitter に対しては払いたいとは思わない。
「プラットフォームってこんな簡単に死ぬんだな」という感想。
あと前述のとおりぼくの中での Twitter は終わってしまったけど Meta の Threads についてははじまる前から終わっている印象なので関わりたくない。
ACL Beginner Contest の A, B, C, D を解いた。
- A - Repeat ACL
https://atcoder.jp/contests/abl/tasks/abl_a
- 提出: https://atcoder.jp/contests/abl/submissions/43233772
"ACL".repeat(k)
- B - Integer Preference
https://atcoder.jp/contests/abl/tasks/abl_b
- 提出: https://atcoder.jp/contests/abl/submissions/43233785
!(b < c || d < a)
- C - Connect Cities
https://atcoder.jp/contests/abl/tasks/abl_c
- 提出: https://atcoder.jp/contests/abl/submissions/43233802
- 連結成分に分けて、その連結成分間を繋げばいいので、連結成分数 - 1 が答え
- コンテストの趣旨的に dsu の groups - 1 するのが模範解答っぽい
- D - Flat Subsequence
https://atcoder.jp/contests/abl/tasks/abl_d
- 提出: https://atcoder.jp/contests/abl/submissions/43233855
- 解説 AC
- ひとつの segtree を素朴に書き換えていけばいいだけだった……
use proconio::input;
use segtree::*;
fn main() {
input! {
n: usize,
k: usize,
a: [usize; n],
};
let max_a_i = 300_000;
let mut dp = Segtree::<Max<usize>>::new(max_a_i + 1);
for a_i in a {
let l = a_i.saturating_sub(k);
let r = (a_i + k).min(max_a_i);
dp.set(a_i, dp.prod(l, r + 1) + 1);
}
let ans = dp.all_prod();
println!("{}", ans);
}
// segtree
今日のコミット。
- bouzuya.net 3 commits
- rust-atcoder 1 commit