2016-08-01から1ヶ月間の記事一覧

競技プログラミングに関するメモ

C++ [C++] STLの型の使い分け - Qiita 競技プログラミングの入力メモ - 2冊の本を3等分 【C++】入出力のメモ - 緑茶思考ブログ Python Python3で競技プログラミングめも - くれなゐの雑記 Pythonで競技プログラミングする時に知っておきたいtips(入出力編) -…

AOJ0016

Treasure Hunt | Aizu Online Judge C++ だと,円周率ってどこに定義されているんだろう? #include <iostream> #include <cmath> using namespace std; int main() { const double PI = static_cast<double>(acos(-1.0)); pair<double, double> pos = {0.0, 0.0}; int angle = 90; int d, a; while (1</double,></double></cmath></iostream>…

AOJ0015

National Budget | Aizu Online Judge boost::multiprecision::cpp_int 的なものを実装する必要あり. 「入力される整数は 100 桁を超えない」ということに注意する. #include <iostream> using namespace std; struct big_int { static const int CAPACITY = 80; int</iostream>…

AOJ0014

Integral | Aizu Online Judge #include <iostream> using namespace std; int main() { int d; while (cin >> d) { int s = 0; for (int x = 0; x < 600; x += d) { s += x * x * d; } cout << s << endl; } return 0; }</iostream>

AOJ0013

Switching Railroad Cars | Aizu Online Judge #include <iostream> #include <stack> using namespace std; int main() { stack<int> s; int n; while (cin >> n) { if (n != 0) { s.push(n); } else { cout << s.top() << endl; s.pop(); } } return 0; }</int></stack></iostream>

AOJ 0012

A Point in a Triangle | Aizu Online Judge 外積を用いて判定します. #include <iostream> #include <array> using namespace std; class point { public: double x, y; double operator%(const point &p) const; point operator-(const point &p) const; }; // cross produ</array></iostream>…

AOJ 0011

Drawing Lots | Aizu Online Judge #include <iostream> #include <vector> #include <numeric> using namespace std; int main() { int w, n; cin >> w; cin >> n; vector<int> lots(w); iota(lots.begin(), lots.end(), 1); for (int i = 0; i < n; ++i) { pair<int, int> p; cin >> p.first; cin.ign</int,></int></numeric></vector></iostream>…

AOJ 0010

Circumscribed Circle of a Triangle | Aizu Online Judge 外接円の中心の座標を として,次の方程式を解く. つまり,次のような連立方程式を解けばよい. 解は次のようになる. 外接円の半径 は外接円の中心と 3 つのうちのひとつの点の Euclid 距離を求め…

AOJ 0009

Prime Number | Aizu Online Judge 普通に Eratosthenes の篩を用いる.実行時に素数を数えるより,予め計算しておいたほうがはやい. #include <iostream> #include <array> using namespace std; int main() { const int N = 1000000; array<bool, N> search_array; array<int, N> count_arra</int,></bool,></array></iostream>…

ポンピング補題の証明問題

反復補題 (pumping lemma) はある言語が正規言語や文脈自由文法でないことを示すときに使う定理である. 正規言語に対する反復補題と文脈自由文法に対する反復補題 *1 は若干異なるから注意すべし. 正規言語のポンピング補題 言語 が正規言語ならば,以下の…