解法,解法,?解法について解説します.
問題はこちら
問題概要
以上以下の整数のうち,先頭に余分な0をつけない十進表記で偶数桁であり,前半と後半が文字列として一致するようなものは何個あるか.解説
O(√N)解法
をからまで全探索するのは間に合わない.この全探索では,各について「前半と後半が文字列として一致する」という条件を満たすか調べる必要がある.そこで,そもそもこの条件を満たしているについて探索を行うことができれば探索範囲を削減できる.前半と後半が等しいので,前半を決めることで条件を満たすのみについて全探索を行うことができる.O(logN)解法
解法のの探索において「であるか?」の真偽が単調であることを利用して二分探索を用いることで最大のを求めることができる.O(1)?解法
解法において最大のは,- の長さがの場合, (例:3 -> 0)
- の長さがでない奇数の場合, (例:3141592 -> 999)
- の長さが偶数かつ「前半の数後半の数」の場合,前半の数字 (例:31415926 ->3141)
- の長さが偶数かつ「前半の数 > 後半の数」の場合,前半の数字-1 (例:314159 ->313)
提出プログラム
https://atcoder.jp/contests/abc196/submissions/21262672 解法https://atcoder.jp/contests/abc196/submissions/21262749 解法
https://atcoder.jp/contests/abc196/submissions/21262571 ?解法