tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

2015-03-01から1ヶ月間の記事一覧

AOJ 2611: Ordering

AOJ

計算量の解析が難しそうだがたぶん例のLCAテクでO(N^2)になるやつのそれぞれでO(N)かかってるからO(N^3)になるんだろうな~と予想がつく。コンビネーションで上手く数えるだけ。 #include<stdio.h> #include<algorithm> #include<vector> using namespace std; int mod=1000000007; int C</vector></algorithm></stdio.h>…

AOJ 2618: Trip to Kyoto

AOJ

2点間の距離の計算がなんかやたら場合わけ漏れしやすいことに定評のある京都旅行。 もはやこのくらいの問題は45度すぐ見えるよね・・・ #include<stdio.h> #include<algorithm> using namespace std; int x[11000]; int y[11000]; int X[11000]; int Y[11000]; int ABS(int a){re</algorithm></stdio.h>…

AOJ 1259: Colored Cubes

AOJ

やるだけだけどどうやるか考えた なんかこのやり方はだいぶ失敗な気がするんだけどループの段数が入力によって可変だと変なソースになるのはどうしようもないと思う。 #include<stdio.h> #include<string> #include<algorithm> #include<vector> using namespace std; int dice[6][6]={ {0,1,2,4,</vector></algorithm></string></stdio.h>…

JOI2015 春合宿 参加記

JOI

合宿中にプレイしたRuckyGamesのアプリのレビューを書いていきます。 項目の例 タイトル Game Centerでの自分の点数 / 満点 5段階評価: ★☆☆☆☆ (ダウンロード即放置) ~ ★★★★★ (ゲームと呼べる) コメント 本編 大収集!!カードコレクト Game Center: 480/850…

AOJ: 2594 Reverse a Road II

AOJ

残余グラフとか最小カットとかを真面目に考察しないといけない。かなり難しいと思う…。 #include<stdio.h> #include<algorithm> #include<vector> #include<map> #include<queue> using namespace std; const int D_MAX_V=2002; const int D_v_size=2002; struct D_wolf{ int t,c,r; D_wolf(){t=c=r=0</queue></map></vector></algorithm></stdio.h>…

AOJ 2256: Divide the Cake

AOJ

上半分の点の集合が変わるのはO(N^2)回ある。2点を通る直線とy軸の交点を列挙すればこの区間を左側で分けられる。 左側がy=tのときの右側が取れる範囲の大きさは1次式で、上半分の点の集合が同じなら同じ式となるはず。 ということは、この領域の中央に代表…

AOJ 1324: Round Trip

AOJ

まったく面白みのない最短路。 本当につまらない。 #include<stdio.h> #include<algorithm> #include<vector> #include<queue> using namespace std; int c[110]; int d[110]; vector<pair<int,int> > g[110]; vector<pair<int,int> > rev[110]; vector<int>h[1100]; int e[110]; int ijk[51][51][1<<10]; int v[51][51][1<<10]; i</int></pair<int,int></pair<int,int></queue></vector></algorithm></stdio.h>…

AOJ 2514: MirrorLabyrinth

AOJ

幾何してグラフ作って最短路というありがちなつまらないやつ。 線分が多角形に入ってるかどうかの判定も面倒で有名。 550なのに心が折れそうになった。というかこれはこんな問題で心が折れそうになる最近の自分が悪いと思う。だけど550の実装量じゃないよね…

AOJ 2167: Find the Point

AOJ

robustness-hard。いい練習になる。 気をつけないといけないことは、 ・点が少ないときのMany ・平行のとき(中点を結んで線を作ろうとすると長さが極端に短くなって誤差る) ・交わるとき(点をいいかげんに選ぶとargを取るときに長さが極端に短くなって誤差る…