秋田大学ICPC対策室@wiki内検索 / 「リンク一覧」で検索した結果
-
リンク一覧
リンク一覧 秋田大学関連 秋田大学 秋田大学プログラミング同好会TNP ICPC関連のリンク ACM-ICPC 公式サイト(英語) ACM-ICPC 2012 2012年のICPC公式サイト ACM-ICPC 2011 2011年のICPC公式サイト ACM-ICPC OB/OGの会 ICPCで役立ちそうな情報があるページ ACM/ICPC国内予選突破の手引き ICPCの詳細な問題解説があります プログラミング道場 ACM/ICPC ICPCの問題を解くために役立つ情報があります ACM-ICPC 国内予選 - MAYAH.JP 国内予選の問題の総評・難易度など Algorithm note 図付きでアルゴリズムの解説があります。 プログラムプロムナード 難しい問題やアルゴリズムの解説があります。 Spaghetti Source - 各種アルゴリズムの C++ によ...
-
ページ一覧
...(DP) 値の交換 リンク一覧 リスト ライブラリ検証用問題 ユークリッドの互除法(2 つの自然数の最大公約数を求める) メニュー ページ一覧 プラグイン ハノイの塔 ナイトツアー問題 トップページ ダイクストラ法 ソートアルゴリズム スタック・キュー グラフ構造 グラフアルゴリズム グラフとは エラトステネスのふるい(素数判定) エイトクイーン問題 どうでもいいページ その他・古典パズルなど vectorの使い方 stringの使い方 stack,queue,priority_queueの使い方 setの使い方 ...
-
メニュー
...r部のカレンダー リンク一覧 ここを編集
-
ACM・ICPCとは
...ださい。 リンク一覧のページにICPCの問題を解く上で役に立ちそうなサイトにリンクを張っています。 ぜひ一度目を通しておいたほうがいいページも多数あります。 ICPC関連のリンク ACM-ICPC2010 2010年のICPC公式サイト ACM/ICPC国内予選突破の手引き ICPCの詳細な問題解説があります プログラミング道場 ACM/ICPC ICPCの問題を解くために役立つ情報があります ACM-ICPC OB/OGの会 プログラムプロムナード 難しい問題やアルゴリズムの解説があります。 Spaghetti Source - 各種アルゴリズムの C++ による実装 ICPCの問題を解くのに使えるアルゴリズムがあります。 Algorithm note 図付きでアルゴリズムの解説があります。 AIZU online judge PKU J...
-
ASCIIコード
ASCII コード アスキー(ASCII American Standard Code for Information Interchange)は英語圏などでよくつかわれる 文字コードです。 ICPCの問題では、Input,Outputともにアルファベットか数字、記号しか出てきません(つまり日本語はない) そのため、文字列処理を行うときに文字コードの番号を知りたい時があるかもしれないのでのせておきます。 初めの32文字(10進数で0-31)と最後の127(DEL 削除)は、ASCIIでは制御文字となっていて 残りの33-126は印刷可能文字です(32は空白文字) 編集上の都合により、文字 (不等号)と | (パイプ文字)と ~ (チルダ)は全角で表示していますが、 本当は半角なので気を付けてください。 制御文字 10進数 16進数 文字(Ctrl ...
-
ICPC体験記など
ICPC体験記など web上にある過去のICPCに参加した人たちによる体験記や参戦記をみつけてリンクを貼っておきます。 各大学の学科のページに載っているものや個人のブログによるものがあります。 大学の各学科に載っている体験記・参加記など 東京大学 ACM/ICPC 2003プログラミングコンテスト参加記 東京大学理学部情報科学科 チーム「lighthouse」のアジア地区予選・世界大会の参加記です。World Finalでは11thで銅メダルという素晴らしい結果でした。 東京大学 ACM/ICPC 2004-2005 参加記 東京大学 チーム「Gokuri-Squeeze」のアジア地区予選の参加記です。 東京大学 ACM/ICPC 2006-2007 参加記 東京大学 チーム「kitsune-」のアジア地区予選・世界大会の参加記です。 龍谷大学 国際大学...
-
グラフとは
グラフとは グラフ(graph)とは、点の集合と辺の集合で構成されるものをいいます。 点は、ノード(node)、頂点・節点(vertex)と呼ぶこともあります。 線は、辺・エッジ(edge)、枝(branch)、リンク(link)と呼ぶこともあります。 今後の説明では、ノードとエッジという言葉に統一して説明します。 なおグラフに関する詳しい説明はここではしないので詳しく知りたい人は、wikipediaのグラフをみるか、自分でググるなどしてください。 図1.無向グラフ 上のようなものがグラフです。 上のグラフでs(スタート)からg(ゴール)へいくにはどの経路を通ればよいでしょうか? s→a→b→g s→a→b→c→g の2つですね。 有向グラフと無向グラフ エッジに矢印(向き)があるグラフを有向グラフ(directed graph...
-
ダイクストラ法
ダイクストラ法 ダイクストラ法(Dijkstra s algorithm)とは,グラフ上の2点間の最短経路を 効率よく求めるアルゴリズムです。ただしエッジに負のコストがあると使えないアルゴリズムとなっています。 このページはグラフとはのページを見たことを前提に説明していますので、目を通してください。 このページではダイクストラ法をいかにしてC++でコーディングするかに注目するため、 ダイクストラ法のアルゴリズムの詳細は説明しません。下記のリンク先のページを見てください。 wikipedia ACM/ICPC国内予選突破の手引き グラフとはのページでグラフの情報を構造体として扱いましたが、 ダイクストラ法のためにメンバ変数を追加します。 struct Node{ vector int to;//どのノードとつながっているか vector int...
-
最大値・最小値
最大値・最小値 C++では、 algorithm ヘッダをインクルードすることでmax(),min()関数が使えるので、 自分で書く必要はありません。max(),min()はよく使うので覚えておいてください。 引数の型は、int型でもdouble型でも使えます。 例) max( 12 , 35 ); //35が返ってくる min( -5.0 , 56.6 ); //-5.0が返ってくる 配列aから最大の値を返す関数 int array_max(int a[], int n){ int m = a[0]; for(int i=1 ; i n ; i++){ m = max( a[i] , m ); } return m; } 配列aから最小の値を返す関数 int array_mim(int a[], int n){ int m = a[0]; for(int i=...
-
配列を逆順にする
配列を逆順にする 配列を逆順にしたい時は、次のようにするとよいでしょう。( algorithm ヘッダをインクルードするのを忘れずに!) void reverseArray(int a[], int n){ for(int i=0 ; i n/2 ; i++) swap( a[i] , a[n-i-1] ); } 実はC++の algprithm ヘッダにはreverse()関数があるので文字列や配列などを逆順にする関数を自分で作る必要はありません。 例えばvector int vc;に対して逆順にしたいなら reverse( vc.begin() , vc.end() ); とするだけで逆順になります。 std stringも逆順にできるので文字列を逆順にするのも簡単です。 ...
-
競技プログラミングに役立つページ
競技プログラミングに役立つページ プログラミングコンテストでは、プログラミングの能力だけでなくアルゴリズムやデータ構造の知識や論理的思考力など様々な能力が必要です。 ここにはアルゴリズムやデータ構造の勉強に役に立ちそうなページを書いています。 ICPCで役立ちそうな情報があるページ ACM/ICPC国内予選突破の手引き ICPCの詳細な問題解説があります プログラミング道場 ACM/ICPC ICPCの問題を解くために役立つ情報があります ACM-ICPC 国内予選 - MAYAH.JP 国内予選の問題の総評・難易度など アルゴリズムの勉強によさそうなページ Algorithm note 図付きでアルゴリズムの解説があります。 プログラムプロムナード 難しい問題やアルゴリズムの解説があります。 Spaghetti Source - 各種アルゴリズムの C++ による...
-
値の交換
値の交換 変数aとbがあったとき、この2つの値を交換したいときがあると思います。 そういう時はswap()関数を使います。 algorithm ヘッダをインクルードすると使えるので 覚えておきましょう。 例) #include algorithm using namespace std; int main(){ int a=3, b=5; cout "a" a " b " b endl; swap( a , b ); cout "a" a " b " b endl; } しかし、自分でswap関数を作りたい人もいるかもしれません。 例えば次のようにすると値を交換できる関数が作れます。 vo...
-
ICPCの入出力について
入出力について ICPCの入出力に関してはACM/ICPC国内予選突破の手引きのACM/ICPC問題用入出力の書き方のページによく書かれています。 printf, scanfによる入出力 入力した値を変数に格納するにはscanf関数を使います。scanf関数の書式は次のようになっています。 scanf( 書式指定文字列 , 格納する変数の並び ); scanfの変換仕様 変換仕様 使い道 %d 10進数を読み込みint型変数に格納する %lld 10進数を読み込みlong long int型(64bit整数)に格納する %x 16進数を読み込みint型変数に格納する ...
-
ソートアルゴリズム
ソートアルゴリズム ソート(sort)とは、データの集合を一定の規則に従って並べることのことです。日本語では整列(せいれつ)といいます。 単にソートというと、値を小さい順に並べる昇順(しょうじゅん、ascending order)を指すことが多いみたいです。 その反対に値を大きい順から並べることを降順(こうじゅん、descending order)といいます。 C++では algorithm ヘッダをインクルードすることでsort関数を使えるので、便利です。 つまりソートのアルゴリズムを知らなくてもソートできるということです。 しかし、ソートのアルゴリズムを知りたい人もいると思うので、 各ソートのアルゴリズムとコードを載せておきます。 -説明 例えばvector int vc;に対してvcの要素のすべてを昇順にソートしたいなら sort( vc.b...
-
C言語における文字列の扱い
C言語における文字列の扱い C言語には、C++やJavaと違い文字列型(string型)は存在しません。 文字列はchar型の配列として表現されます。そのため、ライブラリ(主にstring.h)を使わないと 文字列処理ができないので関数リファレンスが手元にあると便利です。 文字列の宣言 cahr str[80] = "hoge"; 文字列を逆にする関数 /* *reverse_string.c *by otaks , 2011-01-14 */ #include stdio.h #include string.h //引数strを逆にしてstrに代入する関数 void reverseString(char *str){ int length = strlen(str), i; char temp; for(i=0 ; i length...
-
@wiki全体から「リンク一覧」で調べる
更新順にページ一覧表示
|
作成順にページ一覧表示
|
ページ名順にページ一覧表示
|
wiki内検索