2)Codeforces誤読が酷い。Tree問題概要l〜rの間のk^n(nは整数)を満たすものを全て出力せよ。普通に実装すればいいんじゃ?と思って提出→WA。JavaのBigintegerやPython使えば普通に通る。C++で通すなら、普通に解くのではなく、lとrを割っていき、l≦1≦rを満たすものを数える。最初に1度も割らずにチェックして、以降は割りながら配列に何回割ったのかを記録。その後、k^a[i]を出力すればOK。Code問題概要n個の数字の積を出力せよ。少なくともn-1個は各桁が1つ以下のの1と0で出来ていて、leading-0は無い。数字の桁数の指定はないが、数字の桁数は合計で10万桁以下である。Codeforces解法そのよくわからない条件は何?と思ったので、例を上げると、0,1,10,100,1000,...となります。これってlog10とればいいですよね?ということで0の数を数えてあげて、残りの条件を合わない1個を先に出力してから合わせて出力します。0の数字があった瞬間、積は0というコーナーケースに気を付けてください。因みに自分は条件を満たすものは必ずn-1個と誤読して、n個全て条件を満たすものに対して0の羅列を出力する結果に。Blower問題概要ある点を中心にn頂点からなる多角形(凸包である保証はない)を1回転させた面積を求めよ。2≦i≦nでa[i-1]とa[i]は直線で結ばれていて、a[n]とa[1]も直線で結ばれている。各頂点と中心の距離の最大値をr1,各線分と中心の距離の最小値をr2とした時の(r1^2-r2^2)π。r2が線分なのは中心(0,0)、2点(1,1)(-1,1)を結ぶ線を考えると交点が(0,1)の時に距離が最短になるから。r2を求める際の交点は線分を作る2点をa,bとして、中心をoとしたとき、a+(b-a)(o-a)/(b-a)2と表せます。(掛け算部分は内積)よく分からない人はベクトルを考えて、oからabに下ろした垂線の足をhとした時、ah=nabと定義すれば内積=0で解けます。doubleをprintfしたら謎の挙動を示すのでcoutで出力させられる、と悲惨な問題でした。1番悲惨なのはこの問題が凸包だと思ったこと。解けるわけ無い...まあ、凸包実装したこと無いのでグラハムスキャン実装できただけで満足するべきなのでしょう。