C++競プロ学習日記(仮)

( 学習記録であり解説Blogではないです )

C++

ABC128 B - Guidebook|tuple

B - Guidebook を解きました。 sort の工夫を覚えたのでメモ 題意 個のレストランの 所在市名 と評価 が与えられる 以下の順でレストランの番号を出力する 市名が辞書順で早いものから 同じ市に複数レストランがある場合は、評価が高いものから 考察 保持し…

約数列挙|C++

#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; vector<int> v; for( int i = 1; i <= N; i++ ) { if( N % i == 0 ) { v.emplace_back( i ); } } for( auto &x : v ) { cout << x << " "; } cout << endl; cout << "count : " << v.size() << end</int></bits/stdc++.h>…

std::next_permutation|C++|順列

std::next_permutation という関数を覚えたのでメモstd::next_permutation は、[first, last) の範囲を次の順列に変換する関数です。*1 これを使うと配列内の要素の順列を簡単に列挙することができます。 全ての順列を取得する場合は、関数に最初に与える範…

std::tuple の使い方|C++

std::tuple の使い方を覚えたのでメモします。std::tuple とは? std::pair が 2 つの型の値を保持出来るのに対し、std::tuple は N 個の型の値を保持する事ができる。*1 宣言・要素格納: //宣言 vector<tuple<int, string, bool>> vc; for( int i = 0; i < 3; ++i ) { string a; boo</tuple<int,>…

std::unique|続・重複要素チェック|C++

std::unique *1 の挙動にハマったので覚え書き📝 #include <bits/stdc++.h> using namespace std; bool check( vector<int> A ){ sort( begin( A ), end( A ) ); return unique( begin( A ), end( A ) ) == end( A ); } int main() { vector<int> vc1{ 1,1,1,2,3,3,3,1,1,1 }; vector<int> vc</int></int></int></bits/stdc++.h>…

重複要素チェック|C++

std::vectorに代入された要素が全て同じ値か否かをチェックするコードを、 自分の参照用に記事として残します。 std::set は重複するデータの保持を許さないコンテナ *1 なので、 重複チェックの意味合い的にも適している、( 0 )と( 3 )を使っていこうと思い…