ABC128 D Lamp

問題の解き方よりも実装のほうが大変だった問題。他の人の解き方を見て、条件分岐の少ない再実装をしました。配列の実装を1から始めるのがポイントのようです。 #include <bits/stdc++.h> using namespace std; #define int long long signed main() { int h, w; cin >> h ></bits/stdc++.h>…

ABC128 C-Switches

典型的なbit演算の問題として自分なりに整理しました。 コンテスト時には、bitの配列として処理したものを、各bitを桁とする一つの数字にすると処理が簡単になるのが、目からウロコでした。 ただそれなりに独特の考え方をするので慣れていかなければと思いま…

ARC 001 B リモコン

はじめ通貨問題のように貪欲法で解いたところ撃沈。 通貨問題では、使うコインをa,b,cと昇順に並べたときbが aの倍数、cがbの倍数であれば、貪欲法が使えるが、この問題では プラス・マイナス両側から近づくので使えないらしい。 回答をみてBFSで実装しまし…

CODE FESTIVAL 2018 Final (Parallel) C - Telephone Charge

結構難しいlower_boundですが、面白い使い方を見つけたので、使ってみました。 イテレータから値を取り出す書き方は、auto x=*lower_bound(.....)といった*を使う方法しか知っていましたが、 一旦auto it=lower_bound(.....)とイテレータ自体を変数で受け取…

M-SOLUTIONS プロコンオープン E - Product of Arithmetic Progression

最近作った剰余演算用のライブラリを試すのにうってつけの問題。 nCmは使わないけど、累乗や逆数、そしておまけで作ったnPmの計算を使っています。 計算自体はよくある手法だと思うけど、配列をコンストラクタの中で初期化するので サンプルごとにメモリの使…

ABC128 B Guidebook

オブジェクトを作って、それに独自の順序を与える方法を 事前に調べていたので、僕にしては爆速で解くことができました。 #include <bits/stdc++.h> using namespace std; struct Restaurant { string s; int p; int i; Restaurant(){}; Restaurant(string s_, int p_, int </bits/stdc++.h>…

典型問題

atcoderの問題はちょっと捻ったものが多いので、アルゴリズムを習得するために解くと良い典型問題が逆に少ない気がします。 そこで自分用のメモとして典型問題として使えるAtcoderの問題を上げておきます。 (主観的な意見なのであしからず) bit演算 ABC128 C…

自己紹介

50歳のmnruといいます。 お仕事ではEXCELのツールを作っておりますが、atcoderで競プロデビューして3ヶ月たちました。 言語はVBAを使いたいのですが(MONO上のVBとは結構違う)ないのでC++を使ってます。直近の目標は14回ratedなコンテストに参加する前に…