2022-05-11 ABC125 A, B, C, D を解いた / PostgreSQL テーブル名の最大長 / フラフープを買った
ABC125 : AtCoder Beginner Contest 125 の A, B, C, D を解いた。
ABC の 4 問構成だった最後の回だったっぽい。
- A - Biscuit Generator
https://atcoder.jp/contests/abc125/tasks/abc125_a
- 提出: https://atcoder.jp/contests/abc125/submissions/31602901
T + 0.5
秒後までにA
秒を周期としたサイクルが何回あるかはT / A
(切り捨て)- その回数だけ
B
枚のビスケットができるのでT / A * B
- B - Resale
https://atcoder.jp/contests/abc125/tasks/abc125_b
- 提出: https://atcoder.jp/contests/abc125/submissions/31602946
X_i > Y_i
のものをすべて選ぶのが最適
- C - GCD on Blackboard
https://atcoder.jp/contests/abc125/tasks/abc125_c
- 提出: https://atcoder.jp/contests/abc125/submissions/31603138
- どれかひとつを選ばなかったときの GCD を求める
- 各要素についてそれ以外の要素の GCD を求めてしまうと
O(N^2)
で間に合わない - 各要素についてその要素より左側の GCD の結果と右側の GCD の結果の間の GCD を取れば良い
- 累積 GCD (?) を左側からのものと右側からのものの 2 つ用意する
- これで GCD を左側・右側から求める際の
O(NlogN)
が計算量になる
- D - Flipping Signs
https://atcoder.jp/contests/abc125/tasks/abc125_d
- 提出: https://atcoder.jp/contests/abc125/submissions/31603227
- 隣接する 2 つの要素の符号を反転する操作ができる
++
のときは反転は不要-+
のときは+-
で右側にマイナスになる位置を移動できる+-
のときは-+
で左側にマイナスになる位置を移動できる--
のときは++
で 2 個マイナスを減らせる- つまりマイナスの位置は自由に動かせて偶数個のものは消せる
- マイナスの要素数が偶数なら絶対値の総和が答えになる
- マイナスの要素数が奇数なら絶対値の最小の要素をマイナスにしたときの総和が答えになる
いまの実力が当時にあれば 4 完できたな……。
PostgreSQL のテーブル名の最大長を調べた。
検索して Stack Overflow 経由で公式ドキュメントの記述にたどり着いた。
https://stackoverflow.com/questions/27865770/how-long-can-postgresql-table-names-be
https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
The system uses no more than NAMEDATALEN-1 bytes of an identifier; longer names can be written in commands, but they will be truncated. By default, NAMEDATALEN is 64 so the maximum identifier length is 63 bytes. If this limit is problematic, it can be raised by changing the NAMEDATALEN constant in src/include/pg_config_manual.h.
デフォルトで 63 バイト。
ちなみに PostgreSQL 13.1 文書の日本語訳もある https://www.postgresql.jp/document/13/html/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS 。翻訳に感謝。
フラフープを買った。いきなり子どもの顔にぶつけてしまった。
昨晩のこと。子どもに絵本を読ませてみた。わりと読めているのだけど「ち」と「さ」の区別がついていないのとカタカナが読めないのが厳しい。次はカタカナだな。
今日のコミット。