随笔分类 - Codeforces 题解
摘要:~~一开始想了一个复杂度爆炸的 DP~~ 分析 首先考察题目的性质: 方便起见,将字符看成是 的值。 注意到操作可以等价于选择任意两个下标,然后对应的两个值一加一减或者一减一加。 这样的操作显然不会改变字符串的值和(也就是字符串中每个字符对应的值的和) 进一步地,可以发现答案就是与
阅读全文
摘要:~~这题是我练 CF DP 标签题目的时候遇到的,但我做完之后根本没见到 DP 的影子啊。。~~ https://codeforces.com/contest/1416/problem/C 分析 考虑从高位到低位拆位决策。 从最高位考虑起,记为第 位。 采取分治的思想,只考虑第 位造
阅读全文
摘要:Educational Codeforces Round 33 (Rated for Div. 2) 提交记录 https://codeforces.com/contest/893/status D 为了尽可能防止钱数 ,所以设置一个下界 来判断是否有解:也就是每次必要充钱(就是当
阅读全文
摘要:传送门: https://codeforces.com/contest/987 A 模拟,开个 map。 int main(){ map<char, string> w; w['p']="Power", w['g']="Time", w['b']="Space", w['o']="Soul", w[
阅读全文
摘要:A 直接 用结论搞出来即可,但赛时发现范围很小就直接模拟了(注意到机器人在撞到上面和左面的墙并发生变速之前一定能够清除,只需要模拟撞下面、右面的墙) int main(){ int T; cin>>T; while(T--){ int n, m, sx, sy, tx, ty; cin
阅读全文
摘要:传送门: https://codeforces.com/contest/1325 A 很简单的构造,输出 即可。 int main(){ int T; cin>>T; while(T--){ int n; cin>>n; cout<<1<<' '<<n-1<<endl; } retu
阅读全文
摘要:Codeforces Round #549 (Div. 1) 传送门: https://codeforces.com/contest/1142 A 分类讨论。 我们记出发点为 ,走一步后(距离为 )到达的点为 。 我们根据 的位置分成四种()情况:
阅读全文
摘要:传送门:https://codeforces.com/contest/1405 A 将序列翻转输出即可。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define
阅读全文
摘要:A 保证乘积不为 ,所以要将所有 加 ,然后看看变换后的数列和是否为 ,如果是再加一个 即可。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl
阅读全文
摘要:传送门:https://codeforces.com/contest/1277 A 求一下和 相同位数时有多少个是合法的,记为 ,答案为 。 我写的很丑 qwq。 #pragma GCC optimize("O3") #include<bits/stdc+
阅读全文
摘要:传送门:https://codeforces.com/contest/1549 A int main(){ int T; cin>>T; while(T--){ int x; cin>>x; cout<<2<<' '<<x-1<<endl; } return 0; } B 贪心,能直走就直走,因为是
阅读全文
摘要:A 发现长度为 的一定是最好的。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr << #x << ": " <<
阅读全文
摘要:绝赞自闭 China Round A 模拟。 无解的情况是前后总和不等。 然后当 时就向后填, 时就把后面的搬过来,这样操作就能保证 了。 #pragma GCC optimize("O3") #include<bits/stdc++.h> usin
阅读全文
摘要:这场还是很有区分度的(逃 A 贪心,从小到大模拟合并的过程。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr << #x <
阅读全文
摘要:传送门:https://codeforces.com/contest/1207 A 模拟 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x
阅读全文
摘要:这次的题目挺简单的(指签到题 A 最小的数肯定去不掉,而不是最小的数一定可以在一定的操作后去掉,所以答案为 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '
阅读全文
摘要:昨晚觉得 B2 难搞就去搞 D 了,可惜细节没想好,等题解出了补上orz A 分析: 如果二进制的 有 位,那么所求的 对应的二进制位数一定是 (因为要让最高位成为 ),那么 个 是不是就是答案了呢? 是,因为我们能够保证 到 $
阅读全文
摘要:(FST警告) 传送门:https://codeforces.com/contest/1492 A 模拟,分别求出三人到的时间取 即可。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #de
阅读全文
摘要:传送门:https://codeforces.com/gym/102916 D 题意:给定 个物品,价值分别为 ,AB两人轮流从物品中选取物品,A会从中选价值最大的,而B在物品中随机选一个。求A,B得到物品价值的期望。 分析: 概率DP 直接按照题意解可能较难(一个个取物品)
阅读全文
摘要:A 分析: 直接模拟,对于相邻的两个数,如果小的两倍还是比大的小,就乘2,同时贡献++。 代码 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define SET0(a) memset(a,0,siz
阅读全文