[AtCoder] ABC 167 D – Teleporter
配列は \( 0 \) を基準として考えます。
閉路を構築する問題です。頂点 \( 1 \) から出発してループになっている道を見つけるには、頂点に訪れた回数を数えれば良いです。\( 2 \) 回以上訪れた頂点の集 ...
[AtCoder] ABC 167 C – Skill Up
各本に対して読む読まないの \( 2 \) 通りが考えられるので、ビット全探索を行います。
コード#include <bits/stdc++.h>using namespace std;typedef long l ...
[AtCoder] ABC 166 D – I hate Factorization
\( y = x^5 \) というグラフを考えると、発散するスピードが速いことが分かります。よって、\( A , B\) という値は、\( X \) に比べて非常に小さい値を取ることが想像できます。これは、\( y = (x ...
[AtCoder] ABC 166 C – Peaks
展望台 \( i \) が隣接している全ての展望台の中で一番高いかどうかという情報を求めます。これは、全ての道について、\( H(A_i) \) と \( H(B_i) \) という値を比較すれば十分です。
コード#in ...
[AtCoder] ABC 165 D – Floor Function
\
\( 0 \leq x \leq N \) の最大値を求めます。整数 \( k, r \) を用いて、\( x \) を次のように表します。
\
このとき、
\begin{e ...
[AtCoder] ABC 165 C – Many Requirements
全ての数列のパターンに対して得点を求めます。どのように数列を生成するかですが、深さ優先探索を行います。条件を満たす数列が \( i \) 番目まで決まっているとき、\( A_{i + 1} \) の値は、\( A_{i} \l ...
[AtCoder] ABC 164 C – gacha
セットを使います。
コード#include <bits/stdc++.h>using namespace std;typedef long long ll;int main() { int N; cin>>N; s ...
[AtCoder] ABC 163 D – Sum of Large Numbers
\( n \) 個の自然数から任意の個数の和の組み合わせは、
\
となります。これは、最大値が \( n \) 個の和であるためです。ここで、関数 \( f(x) \) を
\
...
[AtCoder] ABC 163 C – management
いわゆる頻度を数え上げる問題です。
コード#include <bits/stdc++.h>using namespace std;typedef long long ll;int main() { int N; c ...
[AtCoder] ABC 162 D – RGB Triplets
まず初めに、\( S_i \neq S_j \wedge S_i \neq S_k \wedge S_j \neq S_j \) を満たす組の数を求めます。これは、\( i, j \) について、\( S_i \neq S_j ...