摘要:
这段时间有点忙,好久没打CF了 A 考虑到n与n-1互质,可以把数列分成两段操作[1,1][2,n],全部加成n的倍数,再操作[1,n]即可,注意特判n=1 #include<bits/stdc++.h> using namespace std; typedef long long ll; cons 阅读全文
摘要:
AB 太水了 C 打表发现答案是n!-2n-1,但是不能就这样草草了事,理性分析:考虑不成环的方案(因为看起来远少于成环的),加入一个新元素的时候,如果原图成环,则怎么放都成环,如果不成环,放在开头和结尾则不成环,故方案数每次*2 D 当n>=4时不符合条件输出-1,对于每个2*2的矩阵都满足条件, 阅读全文
摘要:
AB 签到 C 开始还写个假的模拟法,后来发现可以直接贪心,从大到小枚举答案x,发现相同数的个数不超过n/x+1,且等于n/x+1的不超过n%x即可 #include<bits/stdc++.h> using namespace std; const int N=1e5+7; int n,m,ans 阅读全文
摘要:
AB 签到 C 计算子树内的人总数,然后可以计算出经过此节点时开心的人数目,然后若存在节点开心人数目小于儿子之和,则输出NO,反之输出YES,注意特判特殊情况 #include<bits/stdc++.h> #define int long long using namespace std; con 阅读全文
摘要:
A 签到 B 直接DP,f[i][j]表示前i步j步向左的最大值,位置可以直接计算 #include<bits/stdc++.h> using namespace std; const int N=1e5+7; int n,k,z,ans,a[N],f[N][6]; int main() { int 阅读全文