/
最近
.rdf
追記
編集
設定
本棚
翌日へ
前日へ
脳
l
o
g
[
2
0
2
4
0
7
2
0
]
2
0
2
4
年
0
7
月
2
0
日
(
土
)
[
A
t
C
o
d
e
r
]
今日は
A
t
C
o
d
e
r
B
e
g
i
n
n
e
r
C
o
n
t
e
s
t
3
6
3
があ
った
。
R
u
b
y
にと
っては
C
問題が難しすぎて解けなか
ったが
A
C
を出している人もいる
。
精進が足りない
。
R
u
b
y
で通している人が1人でもいるなら自分も通せなければいけない
。
なんなら自分が最初で唯一の
A
C
でありたい
。
E
まで解いてから
F
と
C
を見比べて
F
の方に見込みがあると思
って
F
に専念していた
。
その見込みは間違
っていなか
ったが
、
T
L
E
を出したあと誤
った解法の実装にのめり込んでいる内に時間切れにな
った
。
実は関数に引数を1つ付け加えるだけで
A
C
にな
ったのだが
、
3
0
分ちかく時間を残していてそれに気がつけなか
った
。
くやちい
。
■
A
問
題
「
P
i
l
i
n
g
U
p
」
。
全パタ
ーンの差分を並べても
っともふさわしいものを選んだ
。
短い解答を見てみると
、
すべての基準値が
1
0
0
の倍数だということを利用していた
。
そういう法則がすぐに見抜けないし
、
見抜けるまで問題を読んでもいない
。
■
B
問
題
「
J
a
p
a
n
e
s
e
C
u
r
s
e
d
D
o
l
l
」
。
ソ
ー
トして
P
番目なんだけど
、
昇順ソ
ー
トして前から
P
番目ではない
。
それを間違えていてもサンプル3を試すまでは答えが合うのが怖い
。
■
C
問
題
「
A
v
o
i
d
K
P
a
l
i
n
d
r
o
m
e
2
」
。
順列全列挙では間に合わなか
った
。
どうやるの?
C
問題で順列全列挙以外はやる気がないよ
。
■
D
問
題
「
P
a
l
i
n
d
r
o
m
i
c
N
u
m
b
e
r
」
。
これぞ
A
B
C
の
D
問題
、
緑
d
i
f
f
って感じの問題
。
実際の難易度が何色かはまだ知らないけども
。
順番に生成して
1
0
^
{
1
8
}
番目まで数えることはできないので
、
まずは桁数を決めて
、
桁数が決ま
ったら先頭の桁から確定してい
った
。
■
E
問
題
「
S
i
n
k
i
n
g
L
a
n
d
」
。
U
n
i
o
n
F
i
n
d
で
す。
最大6桁の数字が
1
0
0
万個という入力はそれだけでけ
っこう重い処理
。
正確さを重視して富豪的に書くと
A
C
と
T
L
E
のボ
ーダ
ーを超える可能性があるので
、
全体を通して最初から書き方を選んでいく……余裕があるといいね! グリ
ッ
ドの各マス+海用に1個の頂点を用意して
、
海抜の低い順に
、
自分より低い頂点とのあいだで結合する
。
海のマスを数えたら陸のマスが求まる
。
■
F
問
題
「
P
a
l
i
n
d
r
o
m
i
c
E
x
p
r
e
s
s
i
o
n
」
。
やるだけの問題だと思うんですよ
。
解けたはずだと思えばこそ悔しい
。
まず中心に
N
を置きま
す。
これが最初から条件を満たしているならこれが答え
。
さもなければ
、
N
を
L
*
M
*
R
で置き換える
。
L
と
R
は左右対称でなければならず
、
M
に対しては再帰的に同じことを繰り返
す。
2数の積で
N
を割
っていくので
、
N
≦
1
0
^
{
1
2
}
だから
、
L
,
R
として列挙する数は
1
0
^
6
個程度に収ま
って許されそう
。
終了条件を
N
<
[
L
,
R
]
.
m
i
n
*
*
2
として愚直にや
ったら
T
L
E
だ
った
。
N
や
M
に関して結果をメモしたら数は減
ったけどまだ
T
L
E
だ
った
。
A
C
にな
った鍵は
、
A
*
B
*
C
*
D
*
E
という状況で
A
<
=
B
でなければならないと定めたこと
。
こういう方針自体は
T
L
E
が出た直後に考えて実装に取りかか
ってるんだけど
、
なぜか実装の途中で
L
が回文数でなければいけないという条件が加わ
っていて
、
その実装に忙殺されてしま
っていた
。
なんでだよ
ー
。
■
自分のすべての提出
。
■
F
問題
。
日記を読み返す
と
「なんでだよ
ー
」
の答えが見つかるんだよなあ
。
L
*
M
*
R
の
L
と
R
に関して
、
「
L
と
R
は左右対称でなければならず
」
と表現しているところに誤りの種がある
。
左右対称なのは
L
*
M
*
R
全体なのであ
って
、
L
と
R
について書くなら表現を改めて
、
「
L
と
R
は反転して一致しなければならず
」
とする方がよりふさわしいと思う
。
雰囲気で理解して細部がぼんやりだから途中ですりかわるんだよ
。
コンテキ
ス
トが遠ざか
ったときに左右対称という断片に引
っぱられて勘違いをする
。
■精進
。
C
問題
。
A
r
r
a
y
#
p
e
r
m
u
t
a
t
i
o
n
で
N
の階乗通りを列挙する代わりに
、
再帰関数で同じ文字を区別しないで列挙するようにしてもまだ
T
L
E
だ
った
(
#
5
5
8
2
7
0
6
7
)
。
X
で読んだ通りに
、
1度しか出現しない文字を統合する前処理を施すことでさらに列挙数を減らすことができて
A
C
にな
った。
提出
#
5
5
8
2
7
3
1
7
(
A
C
/
5
3
6
B
y
t
e
/
5
8
4
m
s
)
。
3
0
0
点問題にかけていいコ
ス
トではない
。
同じ時間で
D
と
E
と
F
を解いたあとで初めてペイする
。
■
■
■
D
問題
。
「
N
=
1
9
9
9
9
のとき
、
正解が
9
9
9
9
9
9
9
9
(
8
桁
)
だけどコ
ー
ドが出す解が
9
9
9
9
9
9
9
(
7
桁
)
にな
っち
ゃうみたいですが通りはしました
」
と投稿している人がいて
、
試しに自分の
A
C
提出
(
#
5
5
7
9
7
0
0
0
)
を実行してみたら
1
0
0
0
0
0
0
0
1
(
9
桁
)
にな
って
、
どちらでもなか
った
。
投稿主の提出
(
#
5
5
8
3
1
3
1
0
)
をコ
ー
ドテ
ス
トで実行してみたら
、
たしかに書いてある通り7桁の9が出力された
。
正しい答えはなんなんです?
R
u
b
y
の
A
C
提出2
、
3個で多数決をと
ったら
、
正しい答えは
9
9
9
9
9
9
9
9
(
8
桁
)
らしい
。
入力と出力の見た目には桁数が違
っても維持されるパタ
ーンが見られるのだけど
、
自分の提出は
N
=
1
0
0
0
0
0
型とか
N
=
9
9
9
9
9
9
型では他と一致していても
、
N
=
1
9
9
9
9
みたいな型の入力に対してはずれている
。
だ
って
N
=
1
9
9
と
N
=
2
0
0
の答えが同じなんだもん
。
サンプルの3を合わせるために ≦ を
<
に修正してから提出したのだけど
、
たぶん修正すべき場所が間違
っていた
。
ザルなジ
ャ
ッジにお目こぼしされてしま
った
か
。
提出
#
5
5
8
3
3
4
3
7
(
A
C
)
。
a
f
t
e
r
_
c
o
n
t
e
s
t
はまだないみたいだけど修正版を提出
。
N
=
1
9
.
.
.
9
と
N
=
2
0
.
.
.
0
っていうのは
、
出力の桁数が変化するという点でのコ
ーナ
ーケ
ースみたい
。
テ
ス
トケ
ースにコ
ーナ
ーケ
ースがなか
ったんだね
。
■
E
問題
。
別解。
提出
#
5
5
8
6
0
7
9
9
(
A
C
/
5
2
3
B
y
t
e
/
7
0
7
m
s
)
。
U
n
i
o
n
F
i
n
d
解が
#
5
5
8
0
0
7
0
5
(
A
C
/
5
2
4
B
y
t
e
/
1
6
2
9
m
s
)
だ
ったので
、
長さはほぼ同じなものの
、
時間は倍以上早くな
った
。
別解は
B
F
S
。
プライオリ
テ
ィ
キ
ュ
ーすら必要ではなか
った
。
■精進
。
「
砂の城
(
S
a
n
d
c
a
s
t
l
e
)
」
。
E
問題と似た問題だと名前が挙が
っていたので。
提出
#
5
5
8
6
2
4
7
6
(
A
C
/
3
5
4
B
y
t
e
/
5
7
8
m
s
)
。
たしかに
、
これも
B
F
S
だ
った
。
かなりシンプルに書けたと思う
。
翌日へ
前日へ