ICPC2020 アジア地区予選 模擬練習会 参加記

jag-icpc.org

Aobayama sugerstep(ha15 mine691 tarakojo1019) で参加 mine691 視点

コンテスト

多分最初のほうは難易度順だろうから A tarakojo1019, B mine691 だけ決めて、ha15 には全体を見てもらう

Bを読むと最小全域木やるだけじゃん?ってなったけど誤読してた。頂点云々よりも区間を分割する問題。パニックになってヘルプを出したけど冷静になったら簡単だった。

区間を指定したとき、その区間の中央値をワープポイントに割り当てればよく、これは座圧して BIT するとできる。あとは累積和を用いて DP をすればいい。

ところで、 BIT の lower bound がバグっていて中央値が取得できません。仕方ないのでうしさんのを借ります。AC(02:17)

開始15分くらいでAが通っていたらしい。涙

ha15 が E をやっているらしい。差分制約どばあな問題なので牛ゲー(最短路問題の双対)になりそう と指摘。できそう。書きます書きます。丁寧に丁寧に辺を貼る。

ところで値の範囲を [-1e9,1e9] だと思って 1WA しました。涙の AC(04:00)

ha15 が F に出して WA が出たらしい。解法自体は正しそうなので誤差の可能性を疑う。

CHT の色々を long double でやっていて、long long でできるところは long long でやる。

ここでもまたうしさんの CHT を拝借する。もう時間がないのでとりあえず出す。AC(04:42)

通らないと思ってたので反応に困る。

感想

Bで詰まると全てが終わる。二週間ぐらい競プロやってなかったから実装が下手になってた。

今日から熱烈 Codeforces 精進をします。

TOEIC初受験感想

院試で使う可能性があったので第262回 TOEIC を受けた。

受験一週間前

月曜日は集中講義があったので、火曜日から真面目に対策を始めた。

TOEIC の対策本で問題形式を知る。(は?) リーディングはまだしもリスニングは普段やってないので、真面目に対策をしないといけなそうだった。

経験的に点数を上げやすいのはPART5とPART6で、数をこなして感覚を掴めばイディオム以外は取れることを確信した。

kakomonn.com

これは布団の中でもできてオススメ。

水曜日はゼミ+バイトがあって、↑のサイトをひたすらやってた。

木曜日にリスニング対策を始める。 対策がしやすそうなPART1とPART2を重点的にやった。

他のリスニングPARTでもそうだと思うが、TOEIC典型シチュエーションを抑えておくといいらしい。 具体的には「物が積まれている状況」「コピー機が動かない」「飛行機が遅れる」など。

PART2のような短い文章のリスニングでは、主語と時制に注意して聞くと選択肢が絞れることがある。(当然内容も大事だけど)

金曜日はゼミのあと友達と遊んだ。

土曜日はリスニングの復習と文法をやった。

本番当日

朝8時に起きる。次回からは午後に受験することを決意。

受験会場の近くに着いたが英検や管理栄養士国家試験も同時に行われており、会場がどこか全然分からなかった。

本番

問題用紙に書き込めないことを直前に知って焦る。リスニング問題を解くとき、〇△×の印をつける訓練をしていたため、そういうのを脳内でやる必要が出てきた。

内容には触れずに感想だけ述べる。

最初のシールを剥がすのが最難。

PART1とPART2は意外とできた。

PART3とPART4は部分的にできた。 解答に悩むと後に響くことを実感する。(聞き逃したらさっさと捨てるべき) テンポよく問題を解くと選択肢を先読みでき、無理なく内容を理解できる。 ノリに乗ってしまい、解答欄がずれてしまったのは反省。

PART5は虚無。分からないボキャブラリー問題に時間をかけるのは無意味なので、数秒で分からなかったら捨てるべき。

PART6で見たことない形式(単語ではなく文章を挿入する)が出て面を食らう。流し読みをして雰囲気で解く。

PART7は完全初見。メール多すぎて途中で飽きた。典型表現と典型シチュエーションばかりに見えたので、単語と表現を覚えて速度を上げれば楽勝そう。

感想

スコアは分からないが雰囲気を知れたのはよかった。 TOEICは英語情報処理能力試験なので訓練すれば満点が取れる試験(競技)だと思っている。

一週間勉強して、なんだかんだで英語のモチベが上がった。 「英語のスコアを上げる」より「外国人Vtuberの放送を難なく聞けるようになりたい」「留学生とスムーズに会話したい」という気持ちが強くなった。

日常的に英語の勉強をしようね。(反省)

2021/02/23 Aobayama sugarstep チーム練 2018-2019 ICPC, NEERC, Southern Subregional Contest

これ Status - 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) - Codeforces

Aobayama sugarstep のチーム練をしました。

Aobayama dropout も並走してくれました。

mine691視点です。敬称略で書いています。

コンテスト

序盤は順位表を見ながら3分割

A-D, tarakojo1019

E-I, mine691

J-M, ha15

ha15がKを書いくとAC(00:14)

HのACが出ているので見てみるとロリハでやるだけに見える。貼って書くとWA

aaa, aa みたいな重複を考慮していなかったので直す。WA

ロリハが衝突しているように見えるので、map<string,int>を信じて書く。AC(00:30)

知らないうちにtarakojo1019がAC(00:52)

Fを読む。いい案が思い浮かばないのでha15を呼ぶ。

00 の個数を全探索すればできそうと分かる。ここから怒涛の6WA

tarakojo1019がCでTLEする。ちょっと見てみるとBITで普通の二分探索をしているらしい。

ACLのセグ木を使うことを提案してみるとAC(02:53)

どうやら配列外参照とcontinueのタイミングに問題があったらしい。修正してAC(03:01)

ha15が考えてくれたAの考察を見るとsmall multipleっぽくできそうなことが分かるのでお願いする。1MLEののちにAC(03:33)

Eをmine691とha15、Bをtarakojo1019に取り組む。

「うーん、BITを2本持って二分探索!」って提案して実装している間にha15が別の解法でAC(04:47)

BはACできずに時間切れ

結果

ACDEFHKの7完 2021/02/23 17:27時点で256位

感想

出だしはまあまあ調子が良く、順位表をよく見て捨てる問題を見極めることができた。

途中で実装がアな場面があった(特にmine691)ので、ウォームアップに何かしたい。(毎日コードを書こう!)

後半にもACしているのはよかったが、もう少しチームメイトを頼った立ち回りをしてチーム戦の良さを生かしたい。

仲間に解法を共有するとき文字や声だけでは限界がある気がしたので、google meet のホワイトボードを活用することにした。

Google Meet でホワイトボードを使用する - Google Meet ヘルプ

2021/02/14 Aobayama sugarstep チーム練 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest

Aobayama sugarstep のチーム練をしました。

Aobayama dropout も並走してくれました。

mine691視点です。敬称略で書いています。

Dashboard - 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror, ICPC Rules, Teams Preferred) - Codeforces

コンテスト

難易度が分からないのでどういう順番でやるか全然決めてなかった。 とりあえず、3分割して問題を読むことにする。

A-D, tarakojo1019

E-I, mine691

J-N, ha15

問題文が短いのを読もうと思ってFを読んだら自明だったので書くとAC(00:05)

tarakojo1019 がAを書いて、ha15が後ろの方の問題を読んでくれてる。いつの間にかAがAC(00:25)

Hの実装やりたくないって思ってたら場合分けが全然いらなかったので、文字列の比較をバグらせながら書き始める。AC(00:38)

ha15がN、tarakojo1019がLをやってくれていた。tarakojo1019が訳していたBが解けそうだったのでやる。

Lは簡単だったらしくいつの間にかAC(01:08)

BはO(N K logK) が生えて、ちょっと枝刈りすれば普通に速くなりそうだったので書いたがTLE

嫌な予感がしたのでtarakojo1019にヘルプを出す。別解法を考えて貰っている間に犯罪手法を試す。 極端なケースで遅くなっている気がしたので、適当な枝刈りをするとAC(01:50)

ha15がNで辛そうだったので様子を伺うと、謎のTLEが出ているらしい。

tarakojo1019とJを考えつつ、ha15のコードとにらめっこする。どうやらNは頂点の情報の持ち方が良くなかったらしく修正してもらう。

Jは貪欲と二分探索で解けそうな気持ちになったので、tarakojo1019にコードを書いてもらう。AC(03:06)

安心しているとNもAC(03:18)

Cをmine691、Eをtarakojo1019、Gをha15が別々に取り組む。(こういう戦略はよくなさそう)

Cは解けそうな見た目だったのに全然分からなくなってha15にヘルプを送る。遅延セグ木解を生やしてくれた。

遅延セグ木を使い慣れてない自分が書ききる自信はなかったのでha15に実装をお願いする。

Eをtarakojo1019と一緒に考えるが、2-sat以外思い浮かばずとりあえず書いてみるが合わない。

CもEもACできずに時間切れ

結果

ABFHJLNの7完 2021/02/16 14:27時点で360位

感想

海外ICPCのチーム練は初めてだったが意外と解けてよかった。

難易度が分からないコンテストは順位表をこまめに見るのが大切そう。

後半に失速しているので、「全員で同じ問題に取り組む」「それぞれの得意なジャンルを優先する」などして終盤にもACができるようにしたい。

部屋の大掃除で読んだ百合漫画2020

今年2020年の年末大掃除の途中に読んだ漫画を紹介します。
試し読みのリンクと申し訳程度の感想を書きました。(作者敬称略)
Kindle のリンクはうまく埋め込めないことがあったので断念しました。

面白そうな漫画は買って読みましょう!(隙あらば布教)

ほんへ

憎らしいほど愛してる(ユニ)

数ある社会人百合の中で上位に入るほど好きな漫画です。
数か月に一度読んで余韻で動けなくなります。
単巻だけど215ページの大ボリュームで満足度が高いです。

comic.pixiv.net

ヒトゴトですから!(ユニ)

人事部が題材の社会人百合漫画です。
百合要素抜きにしても素直に面白いです。
人事に携わっている百合好きには読んで欲しいです。

www.shodensha.co.jp

ぽちゃクライム!(みんたろう)

絵がかわいいです。(かわいいので)
キャラの反応が一々かわいくて愛着が持てます。
軽めの百合が読みたいひとにオススメです。

comic.pixiv.net

百合鍵(瀬田せた)

単巻の社会人百合です。
ギャグがしっかりしていて思わずクスっとしてしまいます。
百合初心者でも安心して読めると思います。

comic-walker.com

水野と茶山 上/下 (西尾雄太

え、好き(語彙力喪失)
紙と Kindle の両方を買うくらい面白かったです。
最初のカラーで一気に世界観へ引き込まれます。

エクレアSpecial 好きなのは女の子 北尾タキ百合作品傑作選(北尾タキ)

短編集ですが色んなタイプの作品が楽しめます。
私は『女ってヤツは!!』っていう作品が好きです。

comic-walker.com

ガラスの靴を脱ぎ捨てて(桐山はるか)

社会人百合の短編集です。
明るい話しかなくて、読むとすごく元気が貰えます。
『斯くして二人はこの先も』という話が好きです。

booklive.jp

徒然日和(土室圭)

全人類が読むべき百合漫画の一つです。
多くは語らないので、自分の目で確かめてください。

comic.pixiv.net

付き合ってあげてもいいかな(たみふる)

付き合っているときのすれ違いって感情の暴力だと思っています。
更新ペースが速いから単行本発売ペースも速いです。
5巻は色々すごいです。

urasunday.com

イケメンすぎです紫葵先パイ!(ゆあま)

単行本を読んだら同人も読みましょう!
『君と綴るうたかた』も連載中です!(メロブでささこいと同時購入特典付き)
身長差が性癖にぶっ刺さっています。

合格のための! やさしい三角関係入門(缶乃)

やさしいとはなんだったのか……。(困惑)
まさか……?と思いながら読んでたら本当に三角関係になってました。
展開が全然読めないので、2巻の発売が楽しみです。

comic-walker.com

缶乃短編集 無職とJK(缶乃)

エクレアで読んだことのある作品が半分くらいありましたが、通しで読んでみると違った感想を抱きました。
ヒモの良さ(百合的な意味で)がわかる漫画です。

www.cmoa.jp

欠けた月とドーナッツ(雨水 汐)

百合姫で隔月連載中の社会人百合です。(推し漫画の一つ)
こういう難しい題材は社会人百合の醍醐味の一つだと思っています。

短編集もいいぞ

booklive.jp

百合の蕾が咲く頃に(syou

数少ない成人向け百合漫画
百合100%なので百合オタクも安心して買える
Amazon レビューにまぐろシャイニング先生がいるのが面白い
(R-18のため試し読み略)

ふたりエスケープ(田口囁一)

上伊那ぼたんが好きな人はちょっと読んで欲しいです。(上伊那ぼたんを読んでない人は読もう!)
ストーリーは単純に女二人で現実逃避するだけ。
私はこれを読んで突発旅をしました。

comic.pixiv.net

ふたごわずらい(桜野いつき)

複雑な感情がぶつかりあうダークな双子百合です。
2巻(2/18発売)で完結なので、面白そうだったら是非買って欲しい。

comic.pixiv.net

きたない君がいちばんかわいい(まにお)

嘔吐描写のある百合漫画として全世界を震撼させたことで有名です。
昔はそういうの苦手だったけど全く不快感無く読めました。
オススメは15話(3巻のラストの話)です。

kitakawa-1jinsha.com

はなにあらし古鉢るか

大正義学生百合です。
みんなに内緒で付き合うシチュに青春を感じます。
大都会仙台の描写がでてくるとニヤニヤしてしまうのは自分だけでしょうか。

www.sunday-webry.com

レズ風俗アンソロジー プレミアム

人気アンソロシリーズの3冊目です。
全年齢なのに普通にえっちしててビビります。
有名百合作家陣が描いており、普段とは一味違う作品が楽しめるのではないでしょうか。

山田と加瀬さん。(高嶋ひろみ

映画化もした人気シリーズの大学生編です。
大学に入ってから加瀬さんの童貞ムーブが増えてる気がします。
付き合っているときのいざこざっていいですよね……。

www.cmoa.jp

い か が で し た か ?

漫画を読んだ時間>>>>>>>掃除をした時間
定期的に Kindle でセールしているので軽率に買ってしまおう!(当然紙でもOKI)
ここになくても面白い百合漫画はたくさんあるので機会があれば布教したいです。

元ネタ

春さんの『2020年にAmazonで買ったもの』に触発されました。(リンクを貼る許可取ってないので怒られたらリンクが消えます)
canon4444.hatenablog.com

競プロサークルで Codeforces のバチャ会を開いた話

この記事は、Competitive Programming (1) Advent Calendar 2020 20 日目の記事です。
アルゴリズムの記事を書くと言ったな。あれは嘘だ。

前書き

私は東北大学競技プログラミングサークル puzzleknot に所属しています。
2020年度前期は対面でのサークル活動が禁止され、週に一回のABC解説会が行われていました。*1
後期も引き続きABC解説会が行われているのですが(私個人の気持ちとして)他にも活動をしたいということで、定期的にバーチャルコンテストを開催することにしました。
12月14日時点で AtCoder の AC Counting Rank 7 th と 11th (他にも 59th, 153rdなど)が在籍しており、そういう人も楽しめる会にしたかったのでコンテストサイトに Codeforces を選びました。
私はこの活動をバチャ会と呼んでいます。

バチャ会の内容

Codeforces の virtual 参加機能を使って全員が同時にバチャをします。(一般に並走と言われるやつ)
コンテスト後に後述する Gather.town を使い参加者同士で議論をし理解を深めます。
開催頻度は週に二回(火曜日と水曜日の21:00から)で、特に強制力とかはないゆるい会(のはず)です。

主催者としてやったこと

バチャ会を開くにあたり、初期メンバーを募ります。
slack の random で告知をし、2週間くらいで参加希望を締切ました。

その後専用のチャンネルを作り、詳細な時間帯を決めました。
また、Codeforces に参加したことがない人もいたので、提出方法やシステムについての記事を読んでもらうことにしました。

開催日当日の20:30くらいにリマインドをし、参加する Div をスタンプで確認しました。

こんな感じ*2

f:id:lily728-gg:20201220141139j:plain

開催ポリシー

全員が1問も解いていない回を選びました。
AtCoder の問題でバチャをしたとき、「問題名を見て解法を思い出す」といったことをしがちなので、そういうことがないようにしました。
また、できるだけ全員が楽しめるように Div.1 と Div.2 の併設回のみを選び、レートは関係なく参加者の意思に合わせて好きな Division に参加していいことにしました。

コンテスト後の議論の仕方について

Gather.town というオンライン交流スペースを使っています。*3
Google meet でもいいんですが、入室のときの承認が面倒なのでこちらにしました。
また、チャットでの議論は(基本的に)せず、音声での議論をしています。

バチャに使えるコンテストを探す方法について

ほんへ?
以前であれば、
Codeforces Problems や Contest Mania で良さそうな回を探し、friend standings を見て全員が参加していないことを確認する。
ということをしていたはずです。
Div.1 しかないのであれば問題ないですが、 Div.2 もあるとなると結構大変です。

なので、Codeforces API を叩いてバチャに使える回を列挙するプログラムを書きました。(えらいね)

github.com

(ここにgithubのリンクを貼る)

純粋培養 C++er でもできたので、Python が書ければ誰でもできると思います。
register.txt に参加人数と参加者のIDを入力して実行すると該当回が一覧となって出力します。
Beta Round と Div.3, 4 と ECR は除外されるので安心です。

お世話になった色々について

たまに 2hour 30min の回があって、事前アナウンスのときに使えます。

keymoon さんありがとうございます。

課題とか

参加人数について

もう少しバチャ会参加者を増やしたいと思っていますが、まあこれは各々の生活に依存するので厳しいかなと感じています。*4
課題とかバイトとか研究とかで優先すべきことは優先してほしいですし……。
前に書いた 『Codeforces の便利ツール集』の記事*5も整備して、参加しやすいようにしたいです。

運営について

slack で毎週告知アナウンスするのが面倒になったので slackbot に全てを任せるつもりです。

展望とか

以前 Twitter 見たで「有志五人でバチャ合宿、例えば一日 5 本やって一人が一セットの解説を担当する」をやったら面白いかなって思っています。
Mashup contest 機能も使いこなしたいですね。

まとめ

Twitter で並走者募集してあまり知らない人と並走しても正直あんまり燃えないタイプなので、よく知っている身内と一緒にやるのは結構楽しいです。
いつまで続くか不明ですが、試行錯誤して楽しい会にしたいです。

おまけ

Codeforces #255 は Codeforces Round #FF (Div. 2) と表記されているので、上手くコンテスト名をパースできない。
Codeforces Round #FF(255) - Codeforces

*1:http://puzzleknot.org/category/compro/でスライドを公開しています。更新情報はTwitterでアナウンスしています。

*2:編集が雑なのは許してほしいです

*3:レトロなゲーム世界でエモい気持ちになれる。オンライン交流スペース、「Gather Town」を知ってほしい|Kura|noteが参考になるかも?

*4:人が多い日と少ない日の差が大きい

*5:ちょっと問題があったので現在は非公開

つらくなったときに気を付けること

色々考えちゃってつらくなったので、下書きにあった記事を読んで落ち着きます。

つらくなったとき

・散歩をする。散歩をすると、「何もしていない」という状況から抜け出せる。

・部屋の掃除や食器洗い、洗濯をする。進捗が目に見える。

・好きな曲を歌う。簡単にできるし、簡単に気持ちよくなれる。

・食べ過ぎないようにする。空腹を満たせても心は満たせないし、あとで絶対に後悔する。

SNSを見ない。時間の無駄だし、自分と他人を比べて辛くなるだけ。

・無駄な浪費をしない。絶対に時間差で病む。

・誰かから HELP がきても大事でなければ断る。心に余裕がないのに他人のために何かをするのは無理。

・ヤバいと思ったら、すぐに誰かに相談する。本当にヤバくなったときには、自分がヤバい状態であることに気付かない。

・他人のせいにしない。そう思っているときは落ち着くかもしれないけど、他人を傷つけるのは絶対にいけない。

・過去のことや未来のことは考えない。目の前のことに必死になる。

・嫌なことを辞める。(例えばバイト・サークルなど)

・誰かに迷惑がかかるかもしれないけど、可能ならその場のノリで決断する。心に負担を与えている要因が無くなると冷静になれる。(例えばバイトが辛いならキッパリ辞めるなど)

・好きな動画を視聴する。私は受験期にこれを毎日視聴してました。(宣伝、コメント非表示推奨)
www.nicovideo.jp