2011-05-26から1日間の記事一覧

TCO11 Qual3 Hard(1000) ComplementMachine2D

ComplementMachine2D 00 01 01 11このようになっていたら、この4マス全部が消去可能な部分マトリックスに含まれることはない。各部分マトリックスについて、このような4マスを含まないかどうか調べる。 #include <string> #include <vector> using namespace std; class Co</vector></string>…

TCO11 Qual3 Medium(500) CoinMachinesGame

CoinMachinesGameneed[i]-give[i]が小さいマシンから順に使っていけば良い。 #include <vector> using namespace std; class CoinMachinesGame{public: int maxGames( int coins, vector <int> need, vector <int> give ) { int n = (int)need.size(); int ans = 0; while ( tr</int></int></vector>…

TCO11 Qual3 Easy(250) AllButOneDivisor

AllButOneDivisor11*12*13*14*15=360360。ここまで調べれば充分。全探索しても間に合う。 #include <vector> using namespace std; class AllButOneDivisor{public: int getMinimum( vector <int> divisors ) { int K = (int)divisors.size(); for ( int i=0; i<=360360; </int></vector>…

SRM506 Div1 Medium(600) SlimeXGrandSlimeAuto

SlimeXGrandSlimeAutoそれぞれの車をどの移動に使うかという割り当て問題。最小費用流で解ける。 #include <string> #include <vector> using namespace std; // 全点対間最短路(Warshall-Floyd法) vector<vector<int> >warshall_floyd(vector<vector<int> >E) { int n=(int)E.size(); for(int i=0;i</vector<int></vector<int></vector></string>

PKU 2195 Going Home

PKU

Going Home割り当て問題。最小費用流で解ける。 #include <iostream> #include <string> #include <vector> using namespace std; // 最小費用流 O(fn^2) // F: 容量, C: 費用, s: 始点, t: 終点, f: 目標流量 // 返値: 最小コスト、目標流量を流せないなら-1 // 両方向のフローには未</vector></string></iostream>…