Arc's blog

競プロなど

競技プログラミングを始めよう(2020年版)

2018年に書いた同タイトルの記事の2020年版です.競プロを始めるにあたって知っておくと良いことのまとめです. 競技プログラミングって何? 端的に言うと,プログラムを書いて数学パズルを解くeスポーツです.競技プログラミングの大会(コンテスト)では,難…

割と真面目にKaggleをやってみた話

しばらくの間,割と真面目にKaggleをやっていたので記録(とポエム)を残します. Kaggleに挑戦するまで どうしてKaggleを始めたか 自分のスキル コンペ概要 やったこと 特徴量の作成 Textのクリーニング,ベクトル化 Keywordの変換 Locationの削除 モデルの…

C++で浮動小数点型を扱うときのメモ(精度比較,精度設定)

(Qiitaを退会したため,同名の記事をQiitaからはてなに移行しました) AtCoderで問題を解いていたら、浮動小数点関連のC++の仕様でつまずいたのでメモ。 精度比較してみる サンプルコード #include<iostream> #include<cstdio> #include<iomanip> using std::cout; using std::cin; using</iomanip></cstdio></iostream>…

C++で構造体やクラスをソートする方法まとめ

(Qiitaを退会したため,同名の記事をQiitaからはてなにコピーしました) C++でクラスや構造体の入ったvectorコンテナをソートする時、「何と何を比較してソートするのか?」を定義しないといけない。幾つか方法があったので自分なりにまとめてみる。 その1 演…

AtCoder Regular Contest E - TrBBnsformBBtion + この手の問題に対して汎用的に使えそうなテク

問題概要 原文はこれ 'A'と'B'からなる文字列$S,T$に対して,次の操作を任意の順番で何回でも行える. 文字列中の1字を選ぶ.それが'A'なら'BB'に,'B'なら'AA'に置換 部分文字列'AAA'か'BBB'を1つ選んで消す 文字列$S,T$($1 \leq |S|, |T| \leq 10^{5}$)が…

PandocとMarkdownで快適執筆環境を作る

文書を書く際、MS Wordで体裁を整えて提出 or .docxを直接提出する事が多いと思います。しかし実際に書いてみると、 Wordが重い 直接書くと体裁が崩れがち 白背景嫌い などの問題が発生しました。そこで、Markdownで執筆して.docx形式にエクスポートする環境…

Google Code Jam 2019 Qualification Round に参加したよ

GCJ予選に参加してきました。AB満点で41点でした。予選通過です。 GCJ予選のルール 全4問。 それぞれの問題はいくつかの小課題に分かれている。 それぞれの小課題には「点数」「Visible か Hidden か」が決まっている。 Visible: 採点結果がコンテスト中に通…

AtCoder Beginner Contest (ABC) 106 を解いてみた

AtCoder Beginner Contest (ABC) 106 の解法ログです。 問題文はAtCoder公式からどうぞ。 注:ソースコードの変数と解法中の文字は無関係です A - Garden 解法 算数の問題にこういうのありましたね。道の重なりに注意。 ソースコード int main(void) { int a,…

AtCoder Beginner Contest (ABC) 105を解いてみた

AtCoder Beginner Contest (ABC) 105の解法をまとめてみます。今回はD問題が詳しめです。 問題文はAtCoder公式からどうぞ。 注:ソースコードの変数と解法中の文字は無関係です A - AtCoder Crackers 解法 なるべく公平に配るなら、 N%K==0のとき 差は0 N%K!=…

Mujin Programming Challenge 2018 を解いてみた

無人コン(参加者800人以上)の解法メモです。 問題文はAtCoder公式からどうぞ。 注:ソースコードの文字と解法中の文字は無関係です A - コンテスト名 文字列MUJINとSを比較するだけ。 ソースコード int main(void) { std::string s; std::string ans; cin >> …

ABC072/ARC082を解いたので記録を残す

だいぶ昔のやつですが、ABC072/ARC082のA~D問題を解いたので記録を残します。 問題文はAtCoder公式からどうぞ。 A - Sandglass2 ans=x-tをして、ans>=0だったらそのまま出力。それ以外だったら0を出力。 int main(void) { int x, t; cin >> x >> t; int answ…

C++&Siv3Dでリアルタイム動画加工ソフト作ったった

Arcです。突然ですが、謎ソフト作ってみました。 機能追加しやすい設計にはしましたが、機能が足りてないです。動作も重いです。クオリティには期待するな。 名付けてRealtimeMovieHacker。厨ニっぽい 製作経緯 CombNaf3のネタを何か持ってみたかった Siv3D…

AtCoder Beginner Contest (ABC) 090 / AtCoder Regular Contest (ARC) 091 レビュー

AtCoder Beginner Contest (ABC) 090 / AtCoder Regular Contest (ARC) 091 の個人的解法解説とレビューです。 今回はABC/ARCのC問題&D問題のみとなります。 問題はこちらのAtCoder公式からどうぞ。 C - Flip,Flip, and Flip...... とりあえず解いてみる 最…

競技プログラミングを始めよう

追記: 2020年版を書き直しました Arcです。今日はレビュー記事じゃない事を書きます。 新年度、なにか新しいことを始めたいと思っているそこのアナタに向けた布教記事です。 対象読者層 問わず できるだけ専門用語を使わずに書いていこうと思います。 競技プ…

AtCoder Beginner Contest (ABC) 089 レビュー

今回は良かったぞ。 AtCoder Beginner Contest (ABC) 089の個人的解法解説とレビューです。 問題はAtCoder公式からどうぞ。 A - Grouping 2 ソースコード 最大化問題。できるだけ3人グループを作っていきたい。 3人グループの数はN/3で求められる。 ここでち…

AtCoder Grand Contest(AGC) 021 レビュー

大爆死 と思ってたらなんとか生きてた 今回はAtCoder Grand Contest(AGC) 021のレビューです。 問題はこちらのAtCoder公式からどうぞ。 A - Digit Sum 2 N以下の任意の値のうち、「各桁の数の和」が最大になるような値を見つけて、その値の「各桁の数の和」…

AtCoder Beginner Contest(ABC) 088 レビュー

2/18に行われたAtCoder Beginner Contest (ABC) 088のレビューです。 問題はこちらのAtCoder公式からどうぞ。 A - Infinite Coins N÷500の余りが一円硬貨で払う必要のある額。 x=N%500として、x<=AならYes、違うならNo。 B - Card Game for Two 「残っている…

JOI2017/2018 本選のレビューとか教訓とか、今後の話とか

さて、第17回 JOI(日本情報オリンピック)2017/2018 本選が終わりました。今回はそのレビューです。 あと、教訓・来年度JOIerへのアドバイスとかもあります。 コードレビュー 110点しか取れなかったので、あまり参考にならない。僕の思考ルートを追いかけて…

AtCoder Beginner Contest(ABC) 084 レビュー

今回は12/30のAtCoder Beginner Contest(ABC)084 についてです。 あ、前回のABC083ですが……全然ネタがないので飛ばします…… A - New Year ソースコード 2日は48時間。48-MすればOK。 B - Postal Code ソースコード ハイフンが見つかる or 文字列の末端まで到…

AtCoder Beginner Contest(ABC) 082 レビュー

今回は12/16のAtCoder Beginner Contest (ABC)についてです。 今回が初参戦となります。 僕のAtCoderのアカウントはこちらです。 問題はAtCoder公式をご参照ください。 A - Round Up the Mean int型の割り算は小数点以下切り捨てなので、a+bに1足してから2で…

はじめまして

Arcと申します。 競技プログラミング、写真といったテーマについて書いていこうと思います。 ブログの目的としては 自分の思考の記録 文章力を上げる 競プロなどの初心者の手助け 覚書 こんな感じでしょうか。 とりあえず最初のうちはJOI本選に向けた勉強の…