はじめに
D問題でやらかしましたw(最初に言う事それ)
pop_countだけで行けるのに、色々深堀りしすぎて結局ACできませんでした(何をやっているんだか)
結局3完でした、連続緑perfにはなりませんでしたそれも,perfは茶色前半レートは、下がらなかったけど、ヒヤヒヤしました
同学年(中1)の皆さんは、結構4完していて、自分のAJLの順位は、おそらく下がると思っています
順位稼ぎにARC出るか検討中です(レートつかないけど)(0完でしたwwwwwwww)
すべて精進少しサボった結果です いやJOIの過去問解いてましたけど それが原因なんだよ
来週はABCが金曜日開催ですね(開きなおって)
面白そうで楽しみです
使用しているライブラリ よかったら参考にどうぞ(メタいですが記事を書くのがめんどくさいのでリンクにしました)
github
さて本題
今回眠いので問題の要約はしません、ていうか今回あまり要約することがありません(眠いのは流石に言いわけですよね)
A問題
問題文のとおりに実装した
ひっさしぶりに一分以内にA問題ACした
acコード(ライブラリ抜粋) 全文 多分全文のURLの需要ないけど載せておく ていうかこの記事需要ないと思う、でも言語化できるからいいや
S = s()
if S.count("1") == 1 and S.count("2") == 2 and S.count("3") == 3:
print("Yes")
else:
print("No")
B問題
pythonの場合splitを使えば簡単だった
具体的には、for文で0の部分を弾いてそのまま出力すればOK
acコード(ライブラリ抜粋) 全文
S = s()
result = []
for t in S.split("|"):
if len(t) > 0:
result.append(len(t))
print(*result)
C問題
問題文が長くて読むので時間を消費した
1の塊の情報を取っておいてあとは、問題文のとおりに実装すればいい
pypyのstringが遅くてびっくりした そのせいで1ペナ食らってlistに修正したら、ACできた
acコード(ライブラリ抜粋) 全文
変数名が相変わらず一文字ですいません
N, K = il()
S = list(s())
L = []
for i in range(N):
if S[i] == "1":
if i == 0:
L.append([i, i])
elif S[i - 1] == "0":
L.append([i, i])
else:
L[-1][1] += 1
result = []
for i in range(N):
if L[K - 2][1] >= i:
result.append(S[i])
elif L[K - 2][1] + 1 <= i <= L[K - 2][1] + (L[K - 1][1] - L[K - 1][0]) + 1:
result.append("1")
elif L[K - 2][1] + (L[K - 1][1] - L[K - 1][0]) + 2 <= i <= L[K - 1][1]:
result.append("0")
else:
result.append(S[i])
print(*result, sep="")
D問題
最後までACできなかった
残り10分ぐらいでpop_count使うとこまではいったが変なとこに、行ってしまいACできなかった。
なんか解けないときコード書いてるとき、焦ったりして、精神的に消耗した
最後に
えーはい
$$
4完したかった
$$
明朝体で言うな
やべツッコミがカッコから飛び出してきた
レートは14ぐらい上がりました、レート600まであと10のところまで来ました
年内には、750ぐらいまでレートを上げたいです
あとJOI二次予選突破したいです。