随笔分类 - CodeForces
摘要:比赛链接 A. Gardener and the Capybaras (easy or hard version) 分类讨论即可。 如果第一个字符串以 $a$ 开头,我们先考虑找一个在中间的 $b$, 如果存在,则从这个 $b$ 一直到倒数第二个字符规定为第二个字符串,确保其为最大的。如果不存在这个
阅读全文
摘要:比赛链接 A、Make it Beautiful 一种构造方法:按照从大到小的顺序构造,可以发现前缀和永远大于当前值。但是需要特判存在两个最大值的情况。只需要将最小值与第二位交换位置即可。最后暴力判一遍防止数字全部相等。 点击查看代码 #include<bits/stdc++.h> using na
阅读全文
摘要:比赛链接 A、Greatest Convex 非常的简单。根据样例直接猜是输出 $n - 1$. 上一个 $Python$ 代码。 T = int(input()) while T > 0: T -= 1 n = int(input()) print(n - 1) B、Quick Sort 题目大意
阅读全文
摘要:比赛链接 A、SSeeeeiinngg DDoouubbllee 一个字符串的每个字母翻倍,且没有其他限制。所以把字符串正着输一遍,再倒叙输出一遍即可。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define N 100010 tem
阅读全文
摘要:比赛链接 A、 点击查看代码 #include <bits/stdc++.h> using namespace std; int main(){ int T; cin >> T; while(T--){ vector <int> G; for(int i = 1; i <= 3; i++){ int
阅读全文
摘要:比赛链接 A、 手摸不难发现,能做出的正方形大小就是当前的最大长度。所以直接输出向上取整即可。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define N 1000010 #define ll long long template <
阅读全文
摘要:比赛通道 A. Parkway Walk 可以选择在第一个房子直接休息到最大值,然后一路过去。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define N 1000010 #define ll long long template <
阅读全文
摘要:比赛链接 A、Planets 水题。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define N 10010 #define ll long long template <class T> inline void read(T& a)
阅读全文
摘要:题目传送门 首先,可以发现,我们不关心原数字的大小,只关心他们除以 $k$ 之后的余数。如此考虑: 两个数相加,$(a + b) / k = a / k + b / k + (a$ $mod$ $k + b$ $mod$ $k) / k$。 如果二者余数部分达不到 $k$,那么相加时其余数也必然不会
阅读全文
摘要:比赛链接 A、Spell Check 水题。不多说。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define N 100010 #define ll long long template <class T> inline void r
阅读全文
摘要:A. League of Legends 水题。 点击查看代码 #include<bits/stdc++.h> using namespace std; #define int long long int a[6]; int b[6]; signed main() { for(int i = 1;
阅读全文
摘要:先来看板子题: CF786B 可以发现,如果对着区间内的每一个点都建一条边,然后跑最短路,我们无论是在空间还是时间复杂度上都是过不去的。因此,我们请出老朋友线段树。 参考上图。修建两棵线段树。其中一棵从父亲向左右儿子连边,若为有权图则边权为 \(0\), 以此保证每一个区间可以到达区间内部的每一个点
阅读全文
摘要:比赛传送门 A and B 两道题比较水,懒得做了。 C Minimum Varied Number 暴力搜索即可。但是暴搜也是有技巧的。首先,可以贪心地想,答案数字每一位一定是从小到大的,而且不可能有 $0$, 有 $0$ 一定不是最优。 其次,数字不重复,所以最多只有 $9$ 位数。 那么一次枚
阅读全文
摘要:比赛链接 A. Password 大水题,求个组合数就水掉了。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define N 1000010 #define ll long long template <class T> inline
阅读全文
摘要:AC传送门! 由于在洛谷发布时,用了大量的LATEX,所以不想在博客园重新打一遍了。 洛谷博客 #include <bits/stdc++.h> using namespace std; #define N 1000010 #define ll long long inline ll read(){
阅读全文
摘要:AC传送门! 题目大意: 给定一个序列,每次选择一个点修改权值,然后求出全序列的值。 不难想到,直接用线段树维护就好了: 就一个单点修改 同时,在建树的时候,我们求出每一段的深度。pushup时,根据单双数来判断是按位或还是亦或运算。 code: #include<bits/stdc++.h> us
阅读全文
摘要:CF527C Glass Carving 很简单,直接用SET维护。 #include<bits/stdc++.h> #define its set<int>::iterator #define is mulitset<int>::iterator using namespace std; int
阅读全文