摘要:
A 这个题是一个暴力 判断是否全在对角线上或下,两次二重循环即可,如果是,直接乘起来。 点击查看代码 #include<bits/stdc++.h> #define int long long using namespace std; const int mo = 1e9+7; int n; int 阅读全文
摘要:
A link 这道题就先输出整个的\(oox\),再输出剩一个两个的。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; signed main(){ cin >> n; int t = n/3; for(int i = 1;i < 阅读全文
摘要:
A link 很简单 遍历,判断模\(k\)是否为\(0\),如果为\(0\),输出\(a_i/k\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n,k; int a[105]; signed main(){ cin >> n 阅读全文
摘要:
C link 我们可以把所有字母都存上,代表换到最后这个字母换成什么了,当然最开始就是它本身。 那么,把\(c\)改成\(d\)的时候,就只要把所有等于\(c\)的都改成\(d\)就行了。 点击查看代码 #include<bits/stdc++.h> using namespace std; int 阅读全文
摘要:
E link 这个题目中所说的好的其实就是像\(010101\)这样一个\(0\),一个\(1\)的字符串。 那么不好的就是两个\(0\)或两个\(1\)在一起,所以判断一个区间好不好只需要判断一个区间内有没有两个\(0\)或两个\(1\)在一起,那么我们可以把两个\(0\)或两个\(1\)在一起的 阅读全文
摘要:
\(\huge{C}\) link 首先,考虑暴力,用一个堆,存所有数,每次拿出最大的数,拆开加入堆,计入答案,直到最大的\(\le1\),时间复杂度\(O(\text{不能过})\)。 考虑想求出\(n\),要什么。 求\(n\)一定是第一次把\(n\)拆成\(\lfloor{\frac{n}{2 阅读全文
摘要:
G link 定义\({{dp_i}_j}_k\)为考虑完第i个点,最左边没有染色的点为\(j\),最右边没有染色的点为\(k\)的最小数量。 考虑转移(用自己更新别人) 如果不用\(i\),直接转移到\({{dp_{i+1}}_j}_k\)。 如果向左喷,\(k\)为\(max({i+1,k})\ 阅读全文