2014-12-28から1日間の記事一覧

演算子のオーバーロード

c++

//pの小さい順にソートして同じだった時はdが小さい順にソートする struct Prince{ int d; int p; bool operator<(const Prince& right) const { return p == right.p ? d < right.d: p < right.p; } }; ソートが出来るようになって便利。もしソートする要素…

fill, fill_n コンテナを指定した値で埋める

c++

#include <algorithm> #include <vector> vector<int> v = {1,2,3,4,5}; // 0で埋める fill(v.begin(),v.end(),0); //先頭から2つを0で埋める fill_n(v.begin,2,0) int a[100]; //0で初期化 fill( int *)a, (int *)a+100, 0) int b[10][100]; //2次元配列を0で初期化 fill( (int *)b,</int></vector></algorithm>…

素数生成

c++

#define N 1000001 int prime[N]; void make_prime(){ //primeが0だったら素数 fill(prime,prime+N,0); prime[0] = prime[1] = 1; for(int i = 2; i*i < N; i++){ if(prime[i] == 0){ for(int j = 2*i; j < N; j+=i){ prime[j] = 1; } } } }