codeton专题

Codeforces CodeTON Round 3 D. Count GCD【状压、容斥原理计数】

D. Count GCD 题意 给定一个长度为 n n n 的正整数数组 a a a, ∀ 1 ≤ i ≤ n , a i ≤ m \forall 1 \leq i \leq n,a_i \leq m ∀1≤i≤n,ai​≤m 先要要统计满足以下条件的数组 b b b 的数量: ∀ 1 ≤ i ≤ n , b i ≤ m \forall 1 \leq i \leq n,b_i

CodeTON Round 8 (Div. 1 + Div. 2, Rated, Prizes!)

A. Farmer John’s Challenge 构造一个长度为n的数组a 满足循环右移数组中恰好有k个是升序的 #include<bits/stdc++.h>#define endl '\n'#define int long longusing namespace std;int n,k;void solve() {cin>>n>>k;if(k==1){for(int i=1;

CodeTON Round #7 (Div. 1 + Div. 2)

A.jagged Swaps 题意: 给出一个包含 n n n个数字的序列,每次可以选择一个同时大于左右两边相邻的数字,将这个数字与它右边的数字交换,问能否在经过若干次操作后使序列变为升序。 分析: 由于交换只能向后进行,且第一个元素无法向后交换(不存在左边的数字),而其他大的数字均可以通过交换到达自己的位置,因此只需要考虑开始时序列的第一个数字是否为1,如果是1,就是"YES",否则,就

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(A-C)

A. Good Pairs 题意: 思路: 观察上面的数学等式,有没有发现只要绝对值开出来不变号,那么一定成立?所以取个最大和最小即可 #include<bits/stdc++.h>using namespace std;const int maxn=2e5+100;struct node{int v,idx; }a[maxn];bool cmp1(node a,node b)