随笔分类 -  G-Codeforces

摘要:answer page 还有好多没补,但是既然赛时写出了e就应该去补f,不进则退 这场没开排行榜埋头苦写第一次赛时出e了,也是第一次500名,可喜可贺//(虽然d不会) D 想了一个n4做法,状态设计为f[i][pos][j][k], 表示第i行必须选第pos个数且当前在位置j且当前行选k个 阅读全文
posted @ 2024-12-21 14:40 lyrrr 阅读(36) 评论(0) 推荐(0) 编辑
摘要:连掉了五场分,但是该打还是要打。反正也不会更差了。 problem set 官方中解 A 我A就不会了,但是随便猜了一个结论过了。 复制一下题解:考虑移除连续33实际减少的数是多少,就会发现减少的也是33倍数,所以原本就要整除才行 B 呃一开始构造错了。。把最小数间隔k排然后别的数随便塞 C \(O 阅读全文
posted @ 2024-12-20 18:59 lyrrr 阅读(16) 评论(0) 推荐(1) 编辑
摘要:贪心 https://codeforces.com/problemset/problem/1798/C https://codeforces.com/contest/1779/problem/C (bonus problem不会) https://codeforces.com/problemset/ 阅读全文
posted @ 2024-12-13 22:36 lyrrr 阅读(9) 评论(0) 推荐(0) 编辑
摘要:D 一眼看上去以为是单调栈单调队列啥的,但是实际上有区别() E 两个单源最短路叠加是见过这种题的,枚举相遇点即可。 区别就是有🐎。想的是直接设多设两个状态求有🐎和没🐎的最小dis。 F 树形dp 不加强父节点的时候直接贪心,加强父节点时如果选加强的子节点需要减去2c,挨个处理子节点就行,搞清 阅读全文
posted @ 2024-10-23 20:45 lyrrr 阅读(10) 评论(0) 推荐(0) 编辑
摘要:D 容易观察到需要连续一段区间。这不单点修改区间查询,然后我思维就开始往线段树飘了。。。并且我到这里就以为做完了开始想实现,实际上性质都没观察准确。。 但是因为这是一个1500的题所以显然有不用线段树的解。题解是差分做的,确实差分也可以操作区间 观察到“LR”一定是隔断点,那么我们可以维护非法的隔断 阅读全文
posted @ 2024-10-21 11:49 lyrrr 阅读(8) 评论(0) 推荐(1) 编辑
摘要:最近思路很混乱,每题都有思路,但是理不清楚 C 这题其实也知道肯定是观察两个相邻的大小关系(排序经典做法)。。但是为什么我在搞暴力讨论枚举。。明明逆序对数目可以直接算。。 不过逆序对相同的要两个元素取min较小的放前面,至于为什么,我不懂啊 #include<bits/stdc++.h> using 阅读全文
posted @ 2024-10-21 11:18 lyrrr 阅读(7) 评论(0) 推荐(0) 编辑
摘要:B: 感觉最近几题都用了这种继承的思想。然后就把n方转化为一个递推的问题。 我写了一个跟题解不同的做法是取同余也挺巧妙的。 #include<bits/stdc++.h> using namespace std; #define CI const int& #define int long long 阅读全文
posted @ 2024-10-10 10:13 lyrrr 阅读(13) 评论(0) 推荐(1) 编辑
摘要:B: 很容易发现只有因数个数为偶数的灯泡是亮的。所以只有完全平方数的因数是奇数个。 实现上可以二分。 但是sqrt是double的必须开sqrtl才是long double的,才能满足这题long long的数据范围。人给我卡傻了。哈哈。 #include<bits/stdc++.h> using 阅读全文
posted @ 2024-09-30 10:02 lyrrr 阅读(29) 评论(0) 推荐(1) 编辑
摘要:https://codeforces.com/contest/1982 还没补 阅读全文
posted @ 2024-09-21 10:37 lyrrr 阅读(9) 评论(0) 推荐(0) 编辑
摘要:C: 因为不会打暴力算复杂度所以没过。其实根本不需要技巧直接先往右问再往左问就是2n的 #include<iostream> using namespace std; const int mod = 998244353; int que(string s){ cout<<"? "<<s<<endl; 阅读全文
posted @ 2024-09-21 10:35 lyrrr 阅读(58) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/contest/1978 C: D: #include <bits/stdc++.h> using namespace std; #define pii pair<int,int> #define mkp make_pair #define lowbit 阅读全文
posted @ 2024-09-11 23:52 lyrrr 阅读(9) 评论(0) 推荐(1) 编辑
摘要:https://codeforces.com/contest/1979 补了再发,最近写的题太多了搞不过来 阅读全文
posted @ 2024-09-11 23:49 lyrrr 阅读(6) 评论(0) 推荐(0) 编辑
摘要:这场比赛由于急躁心态不稳导致abc三题接连wa,这时候心态几乎爆炸。而d题思路其实很清晰,但是因为set使用不熟练卡住。最后没用set十分钟就写完过了。这时候只剩下十多分钟来不及写别的了。结束 收获主要就是:还是要注意边界的细节( ab题就不放了。。 C - Rudolf and the Ugly 阅读全文
posted @ 2024-09-11 18:40 lyrrr 阅读(13) 评论(0) 推荐(1) 编辑
摘要:C. Mad MAD Sum 手玩规律题,预处理两次就能得到一个规律的答案。 #include<bits/stdc++.h> using namespace std; #define ls(x) (x<<1) #define rs(x) ((x<<1)+1) int read() { int ret 阅读全文
posted @ 2024-09-11 18:26 lyrrr 阅读(6) 评论(0) 推荐(1) 编辑
摘要:B. Turtle and an Infinite Sequence 看到位运算就应该按位考虑的,我想的是按数扩散没想按位扩散最后就大错特错了。。 按位扩散主要是得想到每个p2[i]每隔p2[i]次就会出现一遍。。如果能扩散到就存在。 #include<bits/stdc++.h> #define 阅读全文
posted @ 2024-09-10 00:07 lyrrr 阅读(13) 评论(0) 推荐(1) 编辑
摘要:ab略... C: map嵌套水过去的,复杂度nlog2n,感觉不如正解 #include<bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> #define mkp mak 阅读全文
posted @ 2024-09-03 19:27 lyrrr 阅读(16) 评论(0) 推荐(1) 编辑
摘要:vp的,老规矩跳过ab C: 根据题意我们知道三个不一样的字母连续放一定可以,然后观察样例发现好像把两个不同的字母轮流放也可以。进一步猜测(瞎猜的)发现这个好像只要把不同的挨个放进去就行了(本来以为可能要按数量排序但是似乎根本不用),最后剩下的全放一起也没事。然后就过了。 #include<bits 阅读全文
posted @ 2024-09-02 23:27 lyrrr 阅读(21) 评论(0) 推荐(1) 编辑
摘要:ab题没啥好说的,b题一开始看题错成线段树了,后面发现维护最大值就过了(我就说b怎么会有线段树)。。。 C:Dora and C++ 卡的我死死的,好久没卡c了,数论果然是最短板。。。我有两个推论,但是一个都不会用: 1.翡蜀定理。(但是这题只有正数)(处理两个数的情况) 2.断环为链。(但是我只会 阅读全文
posted @ 2024-08-31 22:00 lyrrr 阅读(104) 评论(0) 推荐(1) 编辑

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