随笔分类 -  Codeforces 题解

摘要:~~一开始想了一个复杂度爆炸的 DP~~ 分析 首先考察题目的性质: 方便起见,将字符看成是 [0,25] 的值。 注意到操作可以等价于选择任意两个下标,然后对应的两个值一加一减或者一减一加。 这样的操作显然不会改变字符串的值和(也就是字符串中每个字符对应的值的和) 进一步地,可以发现答案就是与 阅读全文
posted @ 2023-02-24 13:03 HinanawiTenshi 阅读(59) 评论(0) 推荐(0) 编辑
摘要:~~这题是我练 CF DP 标签题目的时候遇到的,但我做完之后根本没见到 DP 的影子啊。。~~ https://codeforces.com/contest/1416/problem/C 分析 考虑从高位到低位拆位决策。 从最高位考虑起,记为第 k 位。 采取分治的思想,只考虑第 k 位造 阅读全文
posted @ 2022-11-02 20:35 HinanawiTenshi 阅读(38) 评论(0) 推荐(0) 编辑
摘要:Educational Codeforces Round 33 (Rated for Div. 2) 提交记录 https://codeforces.com/contest/893/status D 为了尽可能防止钱数 >d,所以设置一个下界 lv 来判断是否有解:也就是每次必要充钱(就是当 阅读全文
posted @ 2022-09-12 17:29 HinanawiTenshi 阅读(65) 评论(0) 推荐(1) 编辑
摘要:传送门: 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[ 阅读全文
posted @ 2022-03-11 21:54 HinanawiTenshi 阅读(36) 评论(0) 推荐(0) 编辑
摘要:A 直接 O(1) 用结论搞出来即可,但赛时发现范围很小就直接模拟了(注意到机器人在撞到上面和左面的墙并发生变速之前一定能够清除,只需要模拟撞下面、右面的墙) int main(){ int T; cin>>T; while(T--){ int n, m, sx, sy, tx, ty; cin 阅读全文
posted @ 2021-12-30 00:20 HinanawiTenshi 阅读(141) 评论(0) 推荐(0) 编辑
摘要:传送门: https://codeforces.com/contest/1325 A 很简单的构造,输出 1,n1 即可。 int main(){ int T; cin>>T; while(T--){ int n; cin>>n; cout<<1<<' '<<n-1<<endl; } retu 阅读全文
posted @ 2021-10-20 22:19 HinanawiTenshi 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #549 (Div. 1) 传送门: https://codeforces.com/contest/1142 A 分类讨论。 我们记出发点为 s,走一步后(距离为 L)到达的点为 t。 我们根据 s,t 的位置分成四种(2×2)情况: 阅读全文
posted @ 2021-10-19 17:40 HinanawiTenshi 阅读(98) 评论(0) 推荐(0) 编辑
摘要:传送门:https://codeforces.com/contest/1405 A 将序列翻转输出即可。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define 阅读全文
posted @ 2021-10-08 19:18 HinanawiTenshi 阅读(52) 评论(0) 推荐(0) 编辑
摘要:A 保证乘积不为 0,所以要将所有 01,然后看看变换后的数列和是否为 0,如果是再加一个 1 即可。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl 阅读全文
posted @ 2021-10-05 23:06 HinanawiTenshi 阅读(49) 评论(0) 推荐(0) 编辑
摘要:传送门:https://codeforces.com/contest/1277 A 求一下和 n 相同位数时有多少个是合法的,记为 x,答案为 x+9(len(n)1)。 我写的很丑 qwq。 #pragma GCC optimize("O3") #include<bits/stdc+ 阅读全文
posted @ 2021-08-29 11:53 HinanawiTenshi 阅读(28) 评论(0) 推荐(0) 编辑
摘要:传送门: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 贪心,能直走就直走,因为是 阅读全文
posted @ 2021-08-02 10:50 HinanawiTenshi 阅读(59) 评论(0) 推荐(0) 编辑
摘要:A 发现长度为 2 的一定是最好的。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr << #x << ": " << 阅读全文
posted @ 2021-07-30 11:39 HinanawiTenshi 阅读(52) 评论(0) 推荐(0) 编辑
摘要:绝赞自闭 China Round A 模拟。 无解的情况是前后总和不等。 然后当 ai>bi 时就向后填,ai<bi 时就把后面的搬过来,这样操作就能保证 a=b 了。 #pragma GCC optimize("O3") #include<bits/stdc++.h> usin 阅读全文
posted @ 2021-07-12 12:45 HinanawiTenshi 阅读(69) 评论(0) 推荐(0) 编辑
摘要:这场还是很有区分度的(逃 A 贪心,从小到大模拟合并的过程。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr << #x < 阅读全文
posted @ 2021-07-01 17:36 HinanawiTenshi 阅读(42) 评论(0) 推荐(0) 编辑
摘要:传送门:https://codeforces.com/contest/1207 A 模拟 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x 阅读全文
posted @ 2021-06-22 21:54 HinanawiTenshi 阅读(26) 评论(0) 推荐(0) 编辑
摘要:这次的题目挺简单的(指签到题 A 最小的数肯定去不掉,而不是最小的数一定可以在一定的操作后去掉,所以答案为 n #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define endl ' 阅读全文
posted @ 2021-05-25 19:46 HinanawiTenshi 阅读(44) 评论(0) 推荐(0) 编辑
摘要:昨晚觉得 B2 难搞就去搞 D 了,可惜细节没想好,等题解出了补上orz A 分析: 如果二进制的 nx 位,那么所求的 k 对应的二进制位数一定是 x1 (因为要让最高位成为 0),那么 x11 是不是就是答案了呢? 是,因为我们能够保证 n 到 $ 阅读全文
posted @ 2021-05-21 13:55 HinanawiTenshi 阅读(60) 评论(0) 推荐(0) 编辑
摘要:(FST警告) 传送门:https://codeforces.com/contest/1492 A 模拟,分别求出三人到的时间取 min 即可。 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #de 阅读全文
posted @ 2021-02-23 19:17 HinanawiTenshi 阅读(163) 评论(0) 推荐(0) 编辑
摘要:传送门:https://codeforces.com/gym/102916 D 题意:给定 n 个物品,价值分别为 wi ,AB两人轮流从物品中选取物品,A会从中选价值最大的,而B在物品中随机选一个。求A,B得到物品价值的期望。 分析: 概率DP 直接按照题意解可能较难(一个个取物品) 阅读全文
posted @ 2021-02-22 22:38 HinanawiTenshi 阅读(547) 评论(0) 推荐(2) 编辑
摘要:A 分析: 直接模拟,对于相邻的两个数,如果小的两倍还是比大的小,就乘2,同时贡献++。 代码 #pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define SET0(a) memset(a,0,siz 阅读全文
posted @ 2021-02-17 12:06 HinanawiTenshi 阅读(247) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示