AtCoder Beginner Contest 137(参加2回目)
C問題 TLE で解けなかった。。
解説動画を確認
ソートした後、組み合わせで解けばいいのか、、
解説動画で勉強になったこと
・処理が間に合う基準:10^8(中の処理にもよるので大体の目安)
エンジニア35年定年説からのAtCoderデビュー
気づいたら、組み込みソフトエンジニアとして10年以上働いてきて、エンジニア定年説35歳を超えてしまった。
色々と思うところがあり、以前から興味はあったのだが、プロコンをはじめてみようと思う。3日坊主にならないように記録をつけていきたい。
始めようと思った理由は以下な感じ
- 徐々に名ばかりリーダー業務が多くなってきてコーディングから離れてきた
- 社内スキルでなく汎用スキルも身に着けたい
転職市場だと今貰っている給料の価値は自分にはないと思われる - そもそもまともにアルゴリズムを学んだことがない
配列とリストとマップ知ってればなんとかなる仕事 - まあ組み込みってそんなもんなんだが、、、
設計の方が力を入れる。昔ながらのウォーターフォールなので - 特にミドルウェアだと別部署とのIFを決めた時点で仕事の半分以上は終わっている感覚。社内調整がいちばん大変。
- 実装はあまり重要視されていない
協力会社さんに実装からパスするくらいだから - なんか、愚痴みたいになってきた、、、
事前にやったこと
良記事だと思う。
ある程度プログラム書いたことあって、プロコン未経験者はすんなり入っていける
ちゃんと10問は解いた。
stdを普段使わないので、cinの仕様であたふたしてしまったw
A, B問題は日本語が読めて、if, forが使えれば解けるかなぁといった感触
C問題は相性次第か、、
D以降はわからん、、
初戦
ロードレースの初戦的なちょっとドキドキしながら開始
A, Bはわりとすんなり解けた。Acceptが出るとうれしい!
Cで割と時間を使ってしまった
途中で、「1stepごとにBestな更新をしていけいいのでは?」と気づいてなんとか突破。解説動画でわかったがこれが「貪欲法」らしい。はるか昔に習った気がするが。。
ここまでで1時間弱。
D問題はさらに苦戦。10^100のループは太陽系が消滅しそうなので回せないことはわかるが、解がわからん。R-Lの並びに入ると、ここをループするので収束するんじゃね?までは思いついて、スパゲッティコードになりつつ何とか実装完。
提出すると無情にもいくつかのTestCaseでTimeExceedが、、いろいろ試したがGive Upで終了
結果
とりあえず、茶を目指して頑張ろう!
2019 Mt.富士ヒルクライム 1:11:18 266W 3.95倍
今年もやってきた富士ヒルクライム
去年は雨予報に日和ってDNSだったが、今年も天気予報は雨
前々日の金曜日は有給をとって最後のダイエット&調整のためヤビツライド
体重は66.6kg
そんなに追い込むつもりはなかったが登りはじめるとがんばってしまった
36:38 291W PWR4.38
今年最速でなかなか調整は良かった
そして当日
体重66.8kg。。まあいい痩せられない意志の弱さだけど極端に太ったりもしなからな、、
天気予報はバッチリあたって雨
昔、ブルベ用にそろえた雨具グッズを下山用リュックに詰め込んでいざ出発
スタートまで1時間以上あったので体育館に避難してスタート10分くらい前にならぶ。過去の成績ごとにウェーブが構成されるので大体足はそろっているはずなので後方スタートでもいいや、という感じ
最後の補給でメイタンサイクルチャージカフェインを流し込む。これ、ジェル系の補給食では群を抜いてまずいのだけど、あたまが活性化してすごい効く。まずいけど
スタート後はのんびり走って、料金所手前の計測区間からペースがあがる。いきなり300W超えであっさり千切れる。己を知る回りの人たちと合わせて登っていく
シッティングだとすぐ足にきてしまうのでダンシング多めで。すこし勾配があがるとすぐ立ち上がる。周りに比べて不自然なほどダンシングしていたと思う。Garmin Vectorはダンシング時間測定してくれるのだが、ログ確認すると全体で40分ほど立ちこぎしてた。
脚の調子は非常にいい感じで無限ダンシングできそうなくらい
たまにの平坦区間は座ってケイデンス重視でスピードをあげる
最初のペースアップを見送ってしまったので徐々に足の合う人がいなくなって先頭固定で引く。腰を落とす、上げるの動作で疲労がたまるので先頭交代は促さなかった。
40分くらい経過すると、後ろから初出場?のゴールド列車が爆速でぬいていく。数分寄生したが、レベルが違いすぎて途中下車
スプリント区間でも足が軽い感じがしたのでぺースアップしたが、標高の高さの影響か一気に呼吸が苦しくなってしまって最後の平坦区間はあまりペースがあげられずにゴール!
あわよくば1:10:00切りを狙っていたが11分台でも満足
頂上は6℃ + 雨のコンボで激寒
コーヒーだけ買ってお店のなかでストーブに当たっているひとが多いなか、高級品の焼きそばを買って食べているとお店の人に椅子を用意してもらう接待を受けてしばらく休憩。
そとにでるとやっぱり寒い
ぶるぶる震えながらダウンヒルを終えて、ぼそぼその吉田うどんをすすってFinish
来年は70分を切りたいなあ
TacxNeoとGarmin Vector パワーメータ精度の比較
最近Vectorの電池消費を抑えるために、TacxNeoのパワーメータでZwiftやっていたが、どうもVectorよりパワーが高く出ている気がしていた。
Aクラスレースでも最後まで集団に残れるようになったので、実力が上がったのかハッピーメータなのかが気になったので調査してみた
データ取得
・TacxNeoパワーメータ -> ZwiftApp
・Vetor2パワーメータ -> GarminEdge
でペアリングした状態で、Tour of Watopia Stage6のデータを取得
TrainingPeaksから.fitファイルをダウンロード
解析
Parser(https://github.com/dtcooper/python-fitparse)をつかってCSVに変換
PandasのDataFrameで統計データ出力
結果
グラフ
統計データ
tacx_power | vector_power | |
count | 3085 | 3085 |
mean | 263 | 253 |
std | 70 | 68 |
min | 0 | 0 |
25% | 259 | 248 |
50% | 283 | 272 |
75% | 300 | 290 |
max | 429 | 416 |
meanは平均
結論
TacxNeoは+10Wattsのハッピーメーターである
といっても絶対値はわからないのでVectorに比べて、、だが
(※グラフでは切っているが100W付近になると差がなくなる)
FTPで10W上がるとホントにハッピーになれるな
Zwiftの先頭集団の展開が自分的にはちょうどFTPくらいだから、10Wバイアスがあると余裕度がかなり上がる。FTP超重要。
でも、自分を測るにはおなじデバイス使わないとな。ということでZwiftもVectorでやることにした。
ちなみにTacxNeoは大本営発表だと精度̟̟±2%
Zwiftレースにでる全員がTacxNeo使っていたとしても最大4%の誤差が出る。
300Wで12Wだから相当違う
工業製品だから2%以上のブツも出回っているはず
バーチャルでなかなかフェアな勝負は難しいのだ
大垂水峠 MAXパワーだがダンシング多すぎ問題
走り始めから足が軽い感じがしたので大垂水峠でPR更新を狙った
結果は
大垂水表 8:50 349W 5.26倍 ダンシング時間6:33s
大垂水裏 9:32 328W 4.94倍 ダンシング時間5:50s
となり、表は更新ならず。裏は更新した。
ただ足がFreshな表のほうが自分的には重要
PRだしたのははるか昔の2016年
8:32 332W 5.03倍 ダンシング時間3:42
このときは確かトラック数台に抜かれてドラフティング効果があった気がするが
Power, PWRともに今回より低い
差分はダンシング時間
今回のほうが倍くらい長い
特に序盤は30km/h以上出る峠なのでフォームの空力影響も大きいはず
最近Zwiftのやりすぎでダンシング時間が増えている
バーチャルなのでパワーさえ出ればアバターは進むのでどうしてもダンシング多めになってしまう
シッティング意識してZwiftやろうかな
でもレースだとどうしてもパワーの数値上げて食らいつきたくなる
もてぎ7時間エンデューロ 7時間ソロ 7位
Zwiftの冬眠から明けて久しぶりのレース
まず補給食の準備 固形物は喉を通らないので流動食でまとめる
フレームにボトル2本 背中にソフトフラスク2本体制
3kgはずっしり重く感じる
900ml ボトル CCD粉末×3(170×3 = 510kcal)
900ml ボトル CCD粉末×3(170×3 = 510kcal)
500ml ソフトフラスク mag on×5 (120×5 = 600kcal)
500ml ソフトフラスク mag on×5 (120×5 = 600kcal)
当日は朝体重66.0kg
Zwiftのおかげで去年より体重1kg軽く、CTLも10高い。FTPは推定285W
早朝は雨が降っていたが会場着くころには止んで、着替えた後に最後の補給をし、手荷物を整理していると、なんか足りない。。ジップロックにしまっておいた車のキーと現金円2000円がない!
もう緊急事態。スタート地点への整列がはじまっていたが、現金はともかく車のカギは帰れなくなるので、それまでに自分の行動をたどって捜索をするが見つからない。もはやレースどころではないが、「今探してないものは7時間後に探してもないのではないか?落とし物で届いてくのならば後で問い合わせても一緒だろ!」と理論を構築してとりあえずスタート地点に急ぐ。
去年は自分のペースで走ることを目的に中級者ラインにしたが、今回は付いていけるところまでは頑張ろうと上級者ラインに並ぶ。いつも周りの人の足の筋肉とか機材を観察するのだが、今回は車のカギのことで頭がいっぱい。見つからなかったらJAF呼ぶのかな。。いや、携帯も車の中だからスタッフの人にまず電話借りないと、、と考えていたら、はいスタート
ついていけないほど早くはないが
登りで2分弱 350Wくらい。下りも休めずに速い。体格の良いRXと内房レーシング?の2名が圧倒的に強いのがわかる。コーナリングも上手なので、2番手のときに下りでガチ踏みしてるのに中切れ発生させてしまった。あ、、と思って後ろ見ると3番手も自分から切れていたのでおとなしく集団に戻った。
RXの選手は先頭に出るときに速度キープでぬるっと出ていくので後ろにいると無駄足を使わなくて非常に楽だった。狙ってなんどか後ろにつかせてもらった。
逆にきつかったのが下りでサガンのクラウチングポジション取る人。速いし向かい風がすっごいくるのできつかった。マネは怖くてできないのでなるべく後ろ付かないように集団に横入りするときに調整。
なるべく前方キープしていたが徐々にきつくなってきて、3時間半くらい経過したときに登りで補給でモタモタしているときにペースがあがって、自然に千切れた。
まだ、半分残ってるよ、、
近くに足の合いそうな集団もいなかったので、残りの時間は、最重要課題の車のカギ問題を解決するためにピットイン。とりあえずトイレ行ってパン食べてのんびり総合受付に行って、「ジップロックに入った2000円と車のカギ届いてないですか?」と期待値高くなく聞くと、お姉さんが「届いてますよ!」と。
2019年うれしかったことの1位は確定。2000円もそのまま残っていた。届けてくれた方ありがとうございました。
後顧の憂いが解消されたので、コースに復帰。2時間エンデューロが始まるまではコースも閑散としていて足の合いそうな人たちもいなかったのでペースが落ちてしまう。
その後うまいこと2時間エンデューロのスタート直前にゴールラインを追加したのですぐに集団に追いつかれて後ろに寄生することができた。
1周7:30くらいとペースは速くないので集団も巨大
後ろ方でギリギリ食らいついている人たちはコーナーで膨らむしイヤな予感しかしていなかったが前方5mくらいのところで落車発生。余裕をもって回避できたが中切れは埋められず千切れ組と一緒にあとはゴールまで
最後の1周は出し切るために先頭で引く。ゴールが近づいてくると横から土井選手が出てきて集団をガンガン引っ張ってくれる。そのままノリで残りかす600Wスプリントで何人かかわしてゴール。
リザルトは7位。6位までは終盤まで集団を維持していたので順位以上の実力差はありそう。ピットインせずに走り続けていても6位はなかった。
「車のカギみつかってよかったね」のレポートでした。
Zwift - TFC Winter Race (49 km / 31 mi)
TFC Winter Race (49 km / 31 mi) 1:07:07 264W 3.9W/kg
Aクラス 15/18位
PWR 4.0以上、FTP250W以上はZwift PowerではAクラスに分類されてしまうので、Bクラスは卒業した。ただ、Aクラスは5倍以上とか普通にいるので集団についていくだけでつらいだろうなー
出走リストを見ると、あのRXの高岡さんが、、フォローしとこ。ブログ課金しているし。
Zwiftのなかでは長距離レースなので400Wスタートダッシュはすぐ収まってくれて助かった。長い登りもないので、そんなに上げ下げがないレースだったがFTPギリの強度なので普通につらい。アイテムガチャでエアロかフェザーが出ることが多くなんとか集団からは切れなかった
なぜか50分過ぎくらいから強度になれたのか少し楽になってきたので登りで上げたり
さらに残り3kmからエアロアイテムを使って飛び出してみたがあっさり追いつかれる。追いつかれたときのスピード差がありすぎて集団から切れる失態を犯し、、あとは1人で寂しくゴール。
RX氏も最後は切れてしまったようだ。Zwifter恐るべし。