/
最近
.rdf
追記
編集
設定
本棚
翌日へ
前日へ
脳
l
o
g
[
2
0
2
4
0
9
2
1
]
2
0
2
4
年
0
9
月
2
1
日
(
土
)
[
A
t
C
o
d
e
r
]
今日は
ユニ
ークビジ
ョンプログラミングコンテ
ス
ト
2
0
2
4
秋
(
A
B
C
3
7
2
)
があ
った
。
脳みそがスポンジ化している
。
このごろは最初に問題をざ
っと読むんだけど
、
E
までは普通に解けると思
って
、
F
問題に時間をかけて考えて解けるかどうかだと見通しを立ててから
A
の実装に取りかか
った
。
番狂わせの
D
問題
。
E
問題を終了
2
0
秒前に提出するのがや
っとだ
った
。
■
A
問
題
「
d
e
l
e
t
e
.
」
。
S
t
r
i
n
g
#
t
r
メソ
ッ
ドは文字の削除もできま
す。
つい最近他の人の提出で見るまで知らなか
ったけど
、
S
t
r
i
n
g
#
d
e
l
e
t
e
というメソ
ッ
ドもありま
す。
■
B
問
題
「
3
^
A
」
。
N
が出力の制約だと気がつくまで時間がかか
った
。
1
0
万個の数字を出力してもいいんですかと確かめるつもりで問題とサンプル
(
の上の方
)
を眺めてもまだわからなか
った
。
制約さえ把握できたらあとは3進数
。
I
n
t
e
g
e
r
#
d
i
g
i
t
s
メソ
ッ
ドは基数を引数に取る
。
■
C
問
題
「
C
o
u
n
t
A
B
C
A
g
a
i
n
」
。
つどカウ
ン
トするわけにはいかないから
、
置換前に
A
B
C
の一部であればカウ
ン
トを1減らし
、
置換後に
A
B
C
の一部であればカウ
ン
トを1増や
す。
これも実装で下手をして答えが合わなか
った
。
クエリの
x
を2回使うので
、
x
を変更するのではなく別の変数にコピ
ーしてから変更していたのだけど
、
最後に別の変数を参照するところで
x
を使用していた
。
■
D
問
題
「
B
u
i
l
d
i
n
g
s
」
。
来ました
D
問題
。
2
1
:
2
6
に
C
問題を提出してから
2
2
:
2
5
に
D
問題を提出するまでほぼ1時間ぐだぐだや
っていた
。
問題が全然頭に入
ってこないの
。
い
ったい何を数えるんだよ
ー
。
問題を完全に理解したのが
2
2
時
2
0
分! 理解したら実装は5分
。
「
ビル
i
とビル
j
の間にビル
j
より高いビルが存在しない
」
という
i
と
j
のペアを数えるんだけど
、
え
っとね
、
i
のビルの高さはなんにも関係ないんだよ
。
サンプル1の解説とサンプル1の出力例を突き合わせて自分の理解の誤りが明らかにな
ったのが
2
2
時
2
0
分だ
ったのだ
。
出力形式もや
っかい
。
合計じ
ゃないんだよ
、
さりとて
j
を基準にした数字でもないんだよ
。
問題を解く筋道を規定されるようでとことん振り回された
。
解法は後ろから見てい
って増加列の列を管理する
。
いや……ただの増加列なの
か
。
無駄なことをしたかも
。
■
E
問
題
「
K
-
t
h
L
a
r
g
e
s
t
C
o
n
n
e
c
t
e
d
C
o
m
p
o
n
e
n
t
s
」
。
一読してスタ
ー型のグラフに殺されるなどうしようかなと考えたときに
k
が
1
0
以下との制約が目に入
って解けたと思
った
。
連結な頂点のことを隣接頂点だと勘違いしていたのに気がついて途中で
U
n
i
o
n
F
i
n
d
を
(
頭の中から
)
ひ
っぱり出してきた
。
連結な頂点に自分自身を数えることも最初はわか
っていなか
った
。
A
r
r
a
y
#
m
a
x
メソ
ッ
ドの戻り値がソ
ー
ト済みではないと知らなか
った
。
そんな感じで実装に
1
5
分
。
D
問題のせいで解ける
E
問題を落とすのは悔しすぎるので残り
2
0
秒で間に合
って良か
った
。
■
F
問
題
「
T
e
l
e
p
o
r
t
i
n
g
T
a
k
a
h
a
s
h
i
2
」
。
3
0
分から1時間を残してじ
っくり考えたか
ったけど
、
すべては
D
問題のせい
。
■
F
問題
。
K
×
N
の表を作成していて
、
K
と
N
がどちらも大きいんだけど
、
k
行目の値を決めるのに斜めに
k
項の和が欲しい
。
k
の2乗はダメだ
。
左にあ
って一番近い意味のある頂点が
t
個前にあるとして
、
k
-
t
番目の値を参照すればいいのかな
。
■
■
■
F
問題。
T
L
E
×
8
、
T
L
E
×
2
7
、
T
L
E
×
1
2
。
なんで最初が一番ましなの
か
。
最初だけ送
っていて
、
あと2つはもら
っている
。
T
S
P
問題ではもらう方が速いのだけど
、
逆に遅くなる理由がどこにあるのかわからない
。
■
A
C
!
でも
R
u
b
y
の他の提出
では全部で4つの
A
C
がいずれも
1
5
0
0
m
s
前後しかかけていない
。
自分のはや
っとで
2
0
5
5
m
s
。
2
5
%
遅い
。
正直なにが
A
C
と
T
L
E
を分けたのかもわか
っていない
。
他の人の提出を読んだ
(
眺めた
)
けど
、
なんか遷移がシンプルだよね
。
D
P
のために用意する配列のサイズが
N
+
K
だ
ったり
N
から継ぎ足して
N
+
K
だ
ったり
、
最初から最後まで
N
だ
ったりもする
。
自分は
2
M
×
K
の2次元配列
(
※
)
を使
った
。
明らかに何かが違
って効率が悪い
。
むむむ
。
※
C
言語では2次元配列と配列の配列
(
j
a
g
g
e
d
a
r
r
a
y
)
を区別するけど
、
R
u
b
y
には片方しかないので……
。
■たぶんだけど
、
ある頂点の場合の数を記録している添字をずらしていくことで1つ先への移動を
ノ
ーコ
ス
トで行うんだと思う
。
初期にはそういうことも考えていたけど
、
移動したら移動元には場合の数が残らないはずなのに
、
考え違いをしていて一歩ずつ加算していかなければいけないような気がしていた
。
今日も実装を始めたときにはまだその勘違いをしていて
、
過大な答えが出たりしていた
。
勘違いで解法を潰してしま
っていた。
提出
#
5
8
0
3
6
3
4
2
(
A
C
/
1
4
3
0
m
s
)
。
ほらね
、
1
5
0
0
m
s
グル
ープの仲間入り
。
提出の中でなんで
y
から
x
を引いてまた
x
を足してるのかはわかりません
。
差分が生きるような気がしたけど
、
気の迷いだ
った
。
翌日へ
前日へ