マガジンのカバー画像

競プロ

26
運営しているクリエイター

#競技プログラミング

競プロ参加日記001 NOMURA プログラミングコンテスト 2020 参加

ぬるからです。

N年ぶりにatcoderのコンテストに参加しました。
一回、競プロから離れようとして消したアカウントでは水色までいっていたので、今回は青色を目指せたらなと思います。

●NOMURA プログラミングコンテスト 2020の全体的な感想
https://atcoder.jp/contests/nomura2020
A,B,Cの3完で1501位でした。
A,B,C問題の早解きコンテスト

もっとみる

競プロ参加日記002 ABC169 参加

●全体的な感想
こういうA,B,C問題はやめて!!
結果はA,B,C,Dの4完で2240位でした。(4WAはやばい)

●A問題 Multiplication 1
制約もよわよわなので脳死で問題文に従いましょう

//#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<cmath>#include<vector>

もっとみる

競プロ参加日記003 東京海上日動 プログラミングコンテスト2020 参加

https://atcoder.jp/contests/tokiomarine2020

●まとめ
A,B,Cの3完で1016位でした。
水色コーダーにとってはC早解きコンテストでしたね

●A問題 Nickname
任意の場所なので、先頭3つを出力すれば良さそうです。
|A|>=|あだ名| なので、制約とか難しいことを考える必要もありません。

//#include<bits/stdc++.h>

もっとみる

セグメント木を育てる 2

・問題を区間に言い換えるARC033-C_データ構造
集合Sに数字が追加されていくので、下からX番目の数字が何かを答える問題です。
set等で解けそうな感じですが、一番大きいor一番小さいはO(1)で分かるのですが、下からX番目は辿っていくしかなくO(N)かかっちゃいます。

・数字Xが下から何番目かを記録する配列を持つ。
 EX.5 8 3 9 2と数字が追加されるとします。
 0 0 0 0

もっとみる

競プロ参加日記009 Codeforces Round #667 (Div. 3)

ぬるからです。
https://codeforces.com/contest/1409
競プロの勉強にブーストをかけたい一心で、CodeForcesの方にも参加してみました。こちらにも、ちょくちょく顔を出すと思いますのでよろしくお願いします。

・初めにA,B,C,Dの4完でした。
レートは603からのスタートです。
コンテスト後の解きなおしで、E,Fも解けたので概ね満足しています。

・A. Y

もっとみる

セグメント木を育てる 1

ぬるからです。
青になるために、セグメント木(SegmentTree)なるものの習得が必須だと感じました。
少し勉強したり、ライブラリとして作ったので纏めてみます。

・例題AOJ:Range Minimum Query (RMQ)
セグメント木のお手本のような問題です。
単純に考えれば、updateにO(1)、findにO(N)かかります。
クオリが全てfindだった場合、O(QN)となるので、

もっとみる

競プロ参加日記008 AtCoder Beginner Contest 177 参加(ABC177)

ぬるからです。
https://atcoder.jp/contests/abc177
ABC117に参加しました。

・はじめにA,B,C,D,Eの5完でした。
順位的にも青パフォが何とか出そうなくらいで、満足です。

・A問題 Don't be late

D÷S分がT分より大きいか小さいかを見ればいいです。
D÷Sを計算した際に小数が発生することがあります。intで計算してそのまま切り捨てると

もっとみる

競プロ参加日記005 AtCoder Beginner Contest 173(ABC173) 参加

https://atcoder.jp/contests/abc173

・全体的な感想
A,B,C,D,Eの5完でした。
今回みたいなE問題好き。
今回みたいなD問題嫌い。

・A問題 Payment
A問題にしては、結構ややこしい気がします。
N%1000が、1000円札ではぴったり払えない金額なので、1000からそれを引けばお釣りになります。N%1000==0の時は要注意。入力例が強くて助かっ

もっとみる

競プロ参加日記004 Introduction to Heuristics Contest 参加

所謂、マラソンと呼ばれる形式のミニコンテストが開催されていました。
普通のマラソンコンテストと違い以下の特徴があります。
・期間が2Hと短い
・解き方が書いてある小問(B,C問題)がある
そのため、初心者に優しい感じのコンテストでした。(楽しかったので定期的にもっと開催してほしいです。)

・結果
81890786点で503位でした。(この後、改良して98908056まで伸ばしました。)

・提出

もっとみる

競技プログラミング C++で多倍長を使いましょう

1/19に開催されたAtcoderのABC152 E Flattenでこんな問題が出ました。
https://atcoder.jp/contests/abc152/tasks/abc152_e

要するに、
各A[i]の最小公倍数を計算し、各A[i]を各A[i]の最小公倍数で割ったものを足し合わせる問題です。

MODのややこしさ

modは除算が絡むとややこしかったりします。
a mod m +

もっとみる