約 221,259 件
https://w.atwiki.jp/akitaicpc/pages/216.html
mapの使い方 mapの宣言 std map keyの型名, 値の型名 変数名; map keyの型名, 値の型名 変数名; // using namespace std; を書いているとき よく使うメンバ関数 // map T1, T2 m; とします。 // 要素数を返す. (戻り値 size_type) m.size(); // 要素をすべて削除する. (戻り値 void) m.clear(); // 要素数が 0 のときは true, そうでないときは false を返す. (戻り値 bool) m.empty(); // key と対応する値を val に変更する. key がまだ存在していなかったときは新しく要素に追加される. (戻り値 T2) m[key] = val; // key と対応する値の個数を返す. key と対応する値はユニークなので 0 か 1 が返ってくる. (戻り値 size_type) m.count( T1 key ) // key と対応する要素を削除して, 削除した個数を返す. (戻り値 size_type) m.erase( cosnt T1 key ); // m の先頭を指すイテレータを返す. (戻り値 iterator) m.begin(); // m の末尾を指すイテレータを返す. (戻り値 iterator) m.end(); その他 // map の要素をすべて走査する (keyが小さい順から走査されます) for(map T1,T2 iterator it = m.begin() ; it != m.end() ; ++it ){ it- first; // keyの値 it- second; // keyと対応する値 } ...
https://w.atwiki.jp/akitaicpc/pages/41.html
ユークリッドの互除法 ユークリッドの互除法(ユークリッドのごじょほう)は、 2 つの自然数または整式の最大公約数を求める手法の一つです。 詳しい説明は,wikipediaのユークリッドの互除法に載っています。 最大公約数 (GCD) を返す関数 int gcd(int a, int b){ return (b 0)? gcd(b, a % b) a ; } 最小公倍数 (LCM) を返す関数 int lcm(int a, int b){ return a / gcd(a, b) * b; } ...
https://w.atwiki.jp/akitaicpc/pages/213.html
過去のコンテスト AtCoder Regular Contest(2012年4月以降) コンテスト名 時間 AtCoder Regular Contest #003 2012/05/27(日) 20 00-21 30 AtCoder Regular Contest #002 2012/05/02(水) 21 00-22 30 AtCoder Regular Contest #001 2012/04/14(土) 21 00-22 30 新AtCoder で行われたコンテスト(2012年4月以降) コンテスト名 時間 解説 WUPC 2012/06/02(土) 14 00-16 00 - ふか杯 5th Contest 2012/05/26(土) 14 00-17 00 - IOIer Japan Programming Contest #1 2012/05/20(日) 13 00-18 00 解説 旧AtCoder で行われたコンテスト (2012年3月まで) コンテスト名 時間 問題数 解説 AOJ CTPC 2012 2012/03/03(土) 13 00-17 00 11問 解説1 解説2 概要 - Xmas Contest 2011 2011/12/24(土) 14 15-19 15 8問 解説 - KUPC 2011 2011/08/06(土) 13 00-18 00 10問 解説 AOJ 2271-2280 UTPC 2011 2011/05/14(土) 12 00-17 00 12問 解説 AOJ 2259-2270 AOJで行われたコンテスト コンテスト名 時間 問題数 解説 AOJ OUPC 2012 2012/03/18(日) 13 00-18 00 12問 解説 AOJ 2350-2361 RitsCamp12Day3 2012/03/15(木) 10 00-13 00 7問 解説 AOJ 2362-2368 RitsCamp12Day1 2012/03/13(火) 14 30-17 30 7問 解説1 解説2 AOJ 1084-1090 RUPC 2011/10/15(土) 13 00-17 00 9問 解説 AOJ 2281-2289 UAPC 2011 Summer 2011/9/24(土) 13 00-18 00 10問 解説 AOJ 1074-1083 UAPC 2011 2011/06/05(日) 13 00-18 00 12問 解説 AOJ 1062-1073 Google Code Jam コンテスト名 時間 Google Code Jam 2012 World Finals Google Code Jam 2012 Round3 Google Code Jam 2012 Round2 Google Code Jam 2012 Round1-C Google Code Jam 2012 Round1-B Google Code Jam 2012 Round1-A Google Code Jam 2012 Qual Google Code Jam Japan 2011 決勝 2011/10/08(土) 13 00-16 00 (JST) Google Code Jam Japan 2011 予選 2011/10/01(土) 13 00-19 00 (JST) Google Code Jam Japan 2011 練習問題 Facebook Hacker Cup コンテスト名 時間 Facebook Hacker Cup 2012 Round 3 2012/02/12(日) 6 00-9 00 (JST) Facebook Hacker Cup 2012 Round 2 2012/02/05(日) 6 00-9 00 (JST) Facebook Hacker Cup 2012 Round 1 2012/01/29(日) 3 00 - 1/30(月) 3 00 (JST) Facebook Hacker Cup 2012 Qualification Round 2012/01/21(土) 9 00 - 1/24(土) 9 00 (JST)
https://w.atwiki.jp/akitaicpc/pages/9.html
@wikiにはいくつかの便利なプラグインがあります。 これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
https://w.atwiki.jp/akitaicpc/pages/33.html
数学関数 math.h 剰余を計算する double fmod(double a, double b) 引数 a, b b ≠ 0 戻り値 a を b で割った余り = a - (int)(a / b) * b +プログラム例 誰か編集して... 正の平方根を計算する double sqrt(double x) 引数 x x ≧ 0 戻り値 √(x) +プログラム例 誰か編集して... 指数を計算する double exp(double x) 引数 x double 型で扱える範囲全体 戻り値 exp(x) = eのx乗 +プログラム例 誰か編集して... 累乗を計算する double pow(double a, double b) 引数 a, b aのb乗をする数 戻り値 aのb乗 +プログラム例 誰か編集して... 正弦を計算する double sin(double x) 引数 x double 型で扱える範囲全体 戻り値 sin(x) +プログラム例 誰か編集して... 余弦を計算する double cos(double x) 引数 x double 型で扱える範囲全体 戻り値 cos(x) +プログラム例 誰か編集して... 正接を計算する double tan(double x) 引数 x x ≠ (2 * n + 1) * π / 2 (n は整数) 戻り値 tan(x) = sin(x) / cos(x) +プログラム例 誰か編集して... 双曲線正弦を計算する double sinh(double x) 引数 x double 型で扱える範囲全体 戻り値 sinh(x) = (exp(x) - exp(-x)) / 2 +プログラム例 誰か編集して... 双曲線余弦を計算する double cosh(double x) 引数 x double 型で扱える範囲全体 戻り値 cosh(x) = (exp(x) + exp(-x)) / 2 +プログラム例 誰か編集して... 双曲線正接を計算する double tanh(double x) 引数 x double 型で扱える範囲全体 戻り値 tanh(x) = sinh(x) / cosh(x) +プログラム例 誰か編集して... 自然対数を計算する double log(double x) 引数 x x 0 戻り値 log(x) / log(e) +プログラム例 誰か編集して... 常用対数を計算する double log10(double x) 引数 x x 0 戻り値 log(x) / log(10) +プログラム例 誰か編集して... 逆正弦を計算する double asin(double x) 引数 x -1 ≦ x ≦ 1 戻り値 -π / 2 ≦ asin(x) ≦ π / 2 +プログラム例 誰か編集して... 逆余弦を計算する double acos(double x) 引数 x -1 ≦ x ≦ 1 戻り値 0 ≦ acos(x) ≦ π +プログラム例 誰か編集して... 逆正接を計算する double atan(double x) 引数 x double 型で扱える範囲全体 戻り値 -π / 2 ≦ tan^(-1)(x) ≦ π / 2 +プログラム例 誰か編集して... 角度を計算する double atan2(double x, double y) 引数 x, y 平面上の座標 ((x, y) ≠ (0, 0)) 戻り値 x 軸からの動径 (-π atan2(x, y) ≦ π) , z = x + i * y (iは虚数単位) としたときの z の偏角 Arg(z) でもOK +プログラム例 誰か編集して... ...
https://w.atwiki.jp/akitaicpc/pages/214.html
過去の活動の記録 過去の活動で解いた問題などを記録しています。主にVirtual Arenaでの練習の記録が残されています。 2012年度 前期(4月-7月) 日付 練習名(Virtual Arena) 解いた問題 時間 目標 感想 5/29(火) hiyokko_team short practice #1 AOJ 2259-2263(5問) 1h30m 2問解く 最初は2問だけの予定でしたが@otaks21が時間が余ったので5問になりました。 5/29(火) hiyokko_team short practice #2 AOJ 1153(1問) 1h30m 30分で1問解く 1人しか目標達成していませんでした。 6/01(金) hiyokko_team ICPC practice #1 AOJ 2271-2273(3問) 2h 2時間で3問解く 1人しか目標達成していませんでした。 6/05(火) hiyokko_team short practice #3 AOJ 1041(1問) 1h30m 30分で1問解く この日はみんなちゃんと目標達成しました。(ただし途中参加者を除く) 6/08(金) hiyokko_team ICPC practice #2 AOJ 2000-2005(6問) 3h 3問解く 問題セットは2006年の模擬国内予選。1人しか目標達成できませんでした。途中でuwiさんが乱入してきました。 6/12(火) hiyokko_team short practice #4 AOJ 2100(1問) 1h30m 30分で1問解く 1人しか目標達成していませんでした。 6/13(水) hiyokko_team ICPC practice #3 AOJ 2012-2017(6問) 3h 3問解く 問題セットは2007年の模擬国内予選。1人しか目標達成できない上に他の人は0-1問しか解けなくてダメな日でした。 6/15(金) hiyokko_team ICPC practice #4 AOJ 2252-2258(7問) 3h 3問解く 問題セットは2011年の模擬国内予選。1人しか目標達成できない上に他の人は0-1問しか解けなくてダメな日でした。途中で_holmesさんが乱入してきました。 6/17(日) 模擬国内予選2012年 AOJ 2399-2405(7問) 3h 3問解く 「hiyokko_team」だけ3問解くことができました。開始時間が20分程度遅くなりました。 6/22(金) hiyokko_team ICPC practice #5 AOJ 1153-1158(6問) 3h 3問解く 問題セットは2008年の国内予選。2人が目標達成できた。この問題セット国内予選の中で一番解きやすい問題セットだと思います。 6/23(土) hiyokko_team ICPC practice #6 AOJ 1141-1146(6問) 3h 3問解く 問題セットは2006年の国内予選。この日も2人が目標達成できた。 6/27(水) hiyokko_team ICPC practice #7 AOJ 1165-1171(7問) 3h 3問解く 問題セットは2010年の国内予選。1人しか目標達成できない上に他の人は0-1問しか解けなくてダメな日でした。 6/29(金) hiyokko_team ICPC practice #8 AOJ 1172-1178(7問) 3h 3問解く 問題セットは2011年の国内予選。この日は2人が目標達成できた。 7/06(金) 国内予選 AOJ 1179-1185 3h 3問解く hiyokko_teamが2問解いて69位。それ以外はHonorable mention(順位なし)。2問しか解けず69位で予選落ちしたと思い絶望していましたがぎりぎりアジア地区予選に出場することになりました。 後期(10月-3月) 日付 練習名(Virtual Arena) 解いた問題 時間 目標 感想 10/05(金) hiyokko_team short practice #5 AOJ 0521, 2272, 0558, 1045, 1179, 1180 2h 4問解く 易しめ(国内予選問題AB相当)の問題セットにしたつもりで4-6問くらい解けるかと思いきや、みんな1-2問しか解けていなくてダメな感じでした。 10/08(日) hiyokko_team practice #0 AOJ 2242-2251 5h 2問解く 問題セットは2010年の模擬地区予選。hiyokko_teamの初めてのチーム練習で、@otaks21がまったくコード書かない縛りの練習だったけど目標達成できた。 11/03(土) hiyokko_team practice #1 AOJ 2175-2184 5h 3問解く 問題セットは問題セットは2009年の模擬地区予選。前半ではあまり問題が解けなくて焦っていたが最終的には3問解けて目標は達成できた。問題セットが易しめなので4問くらい解けてもよさそうではあった。 11/04(日) 模擬地区予選2012年 AOJ 5h 3問解く 2012年の模擬地区予選でAtCoder開催。問題Cしか解けなくて残念でした。全体的に難しめの問題セットに感じたけどできれば2問は解きたかった。 11/11(日) hiyokko_team practice #2 AOJ 1305-1314 5h 3問解く 問題セットは2010年のアジア地区予選の問題。明らかに簡単な2問しか解けなくて残念でした。簡単な問題はさっさと片付けて、やや思考が必要な問題にじっくり考えられるようにしたい。 ...
https://w.atwiki.jp/akitaicpc/pages/90.html
幾何アルゴリズム 2点間の距離? 点と直線の距離? 線分と線分の交差判定? 線分と直線の交差判定? 直線と直線の交差判定? 円と線分の交差判定? 円と直線の交差判定? 円と円の交差判定? 円の接線を求める? 点が円の内部にあるかどうか? ベクトルの内積と外積? 三角形の内心・外心? 凸閉包? ...
https://w.atwiki.jp/akitaicpc/pages/219.html
ライブラリ検証用問題 ICPC用のライブラリはコンテスト前にきちんとチェックをしておきましょう。 ICPC前にライブラリをつくるときは次のページが役に立つ可能性があります。 Spaghetti Source - 各種アルゴリズムの C++ による実装 https //github.com/nya3jp/icpc/blob/master/unknown/doc/libicpc/trunk/notebook.pdf http //www.incompetech.com/graphpaper/(六角座標系や方眼紙を印刷しよう!) 計算幾何 問題タイトル 内容 AOJ 0010 Circumscribed Circle of a Triangle 三角形の外接円の中心と半径 AOJ 0012 A Point in a Triangle 点pが三角形の内部にあるかどうか AOJ 0021 Parallelism 2つの線分の平行判定 AOJ 0023 Circles Intersection 2つの円の位置関係 AOJ 0035 Is it Convex? 四角形が凸多角形かチェック AOJ 0058 Orthogonal 2つの直線の直交判定 AOJ 0068 Enclose Pins with a Rubber Band 凸包の計算 AOJ 0079 Area of Polygon 凸多角形の面積 AOJ 0081 A Symmetric Point 線対称に点を移動 AOJ 0090 Overlaps of Seals 2つの円の交点計算と点が円に含まれているかの判定 AOJ 1050 The Last Dangion ボロノイ図 AOJ 1089 Strawberry Cake Convex Cut AOJ 1100 Area of Polygons 単純多角形の面積(凸とは限らない) AOJ 1183 Chain-Confined Path 円と直線の交点計算 AOJ 2201 Immortal Jewels 2つの円の共通接線 ARC #004 問題A 2点間の最大距離(凸多角形の直径) 数に関する問題 問題タイトル 内容 AOJ 0009 Prime Number 素数 AOJ 0044 Prime Number II 素数 AOJ 0053 Sum of Prime Numbers 素数 AOJ 0005 GCD and LCM 最大公約数・最小公倍数 AOJ 0015 National Budget Big Integerの足し算 ARC #007 問題D Big Integerの足し算・引き算 AOJ 0022 Maximum Sum Sequence 連続する部分列で最大の総和, 累積和, しゃくとり法 AOJ 0027 What day is today? 2004年m月d日の曜日, ツェラーの公式 AOJ 0098 Maximum Sum Sequence II 二次元累積和 ARC #002 問題B 日付を進める 組合せ・順列 問題タイトル 内容 AOJ 0030 Sum of Integers 組合せの列挙 AOJ 2361 Sort 順列の生成 ARC #001 問題C 順列の生成 ARC #009 問題C 順列の生成(smallだけ) 最小全域木(プリム法、クラスカル法) 問題タイトル 内容 AOJ 0180 Stellar Performance of the Debunkey Family 最小全域木 負の閉路の検出(ベルマンフォード法、ワーシャルフロイド法) AOJ 1169 The Most Powerful Spell AOJ 2207 Consistet Unit System サイコロに関する問題 AOJ 1057 Rolling Dice サイコロ+ダイクストラ法 AOJ 1181 Biased Dice サイコロ Union-Find AOJ 1016 Fibonacci Sets AOJ 2364 Lucky Dip ARC #006 問題D AutumnFest 2012 問題B ネットワークフロー AOJ 1088 School Excursion 最小費用流 AOJ 1163 Cards 二部グラフのマッチング 三分探索 AOJ 1093 KND Runs for Sweets
https://w.atwiki.jp/akitaicpc/pages/86.html
基本的なアルゴリズム タイトルが基本的なアルゴリズムと書いていますが、ジャンル分けが適当なので 基本的とは限らないことを初めに断っておきます。 最大値・最小値 値の交換 配列を逆順にする 配列を巡回シフトさせる エラトステネスのふるい(素数判定) ユークリッドの互除法(2 つの自然数の最大公約数を求める) 拡張ユークリッドの互除法? 素因数分解 ...
https://w.atwiki.jp/akitaicpc/pages/185.html
Faceboook Hacker Cup 2012 Facebook Hacker Cup 2012の予選が1/21(土)に、Round1が1/29(日)に開催されました。(日本標準時間) 気が向いたら解説を書きます。 Qual Qual(予選)は1/21(土) 9 00 - 1/24(土) 9 00 (JST)に開催されました。 問題タイトル 解説 Billboards 解説 Auction 解説 Alphabet Soup 解説 Round 1 Round1は1/29(日) 3 00 - 1/30(月) 3 00 (JST)に開催されました。 問題タイトル 解説 Checkpoint 解説 Recover the Sequence 解説 Squished Status 解説 Round 2 Round2は2/5(日) 6 00 - 9 00 (JST)に開催されました。 問題タイトル 解説 Road Removal 解説 Monopoly 解説 Sequence Slicing 解説 Round 3 Round3は2/12(日) 6 00 - 9 00 (JST)に開催されました。 問題タイトル 解説 Trapezoids 解説 Divisor Function Optimization 解説 Unfriending 解説 ...