YunBaichuan
YunBaichuan
全部文章
分类
归档
标签
去牛客网
登录
/
注册
YunBaichuan的博客
全部文章
(共121篇)
思维(Python)
思路:思维题,我们考虑一下不同次数操作,有什么影响。一次操作时可以把相邻的两个元素翻转,也就是距离为1的元素进行翻转,比如"11"变成"00";两次操作时,可以把距离为2的元素进行翻转,比如"101"变成"000";三次...
2025-12-31
0
46
并查集,离散化(Python)
思路:看到题目中提到了传递性,并且和点、边有关,首先要想到并查集。但直接用常规的连续并查集,对于1e9的点数量来说,会爆内存,因此我们需要在创建、使用并查集之前,对数据进行离散化操作 之后就是创建并查集,然后判断c为0的情况下,a和b是否已经合并过了。如果有的话,说明存在矛盾,输出"NO&...
2025-12-30
0
16
恰好不定长滑动窗口(Python)
思路:题目问的是在一个连续的区间[l, r]中恰好存在k个"01"子序列,这其实是一个恰好不定长滑动窗口问题。一般来说,如果要计算满足条件的连续区间个数,我们需要用两次不定长滑窗解决,也就是用<= k - <= k - 1 = k,即用两个至多逻辑得到恰好逻辑(用至少...
2025-12-29
0
45
分类讨论(Python)
思路:分类讨论,首先注意到操作1并不会改变x, y的值,所以说我们要使得x, y的值改变,得看操作2。因此,令操作2中的,得到,那当且仅当为0的时候成立。 由于我们操作1可以进行x, y的交换,所以说我们只需要考虑怎么得到0即可,有三种情况:1.原本里面就有0,那就不管,具体是x还是y,这个讨论一下...
2025-12-28
0
46
贪心,dfs(Python)
思路:首先要想到一个特判,那就是当节点n的个数为奇数时,必然不满足条件中的全偶数划分。然后就是贪心进行划分,什么意思?打个比方来说,我在4的时候进行划分,不如在2的时候就进行划分,这样就可以多一次划分,更优 所以说,我们可以统计子树大小,一旦遇到偶数就进行划分,这可以用递归dfs来做。具体来说,当我...
2025-12-27
0
36
模拟,贪心(Python)
思路:模拟,贪心。我们读入数据的时候,先判断当前的圆是否包含了原点。如果包含有原点,那就计算出它的移动代价,并且存放到一个临时数组中。之后就判断一下这个数组的长度是否<=k,如果是直接输出0即可;否则,我们要先把代价从小到大排序,然后取前length - k个元素。 代码: import sy...
2025-12-26
0
43
dp打表(Python)
思路:用dp打表找规律,可以发现在x > 14时,结果都为True;在x <= 14时,结果不都为True。那么我们就在x <= 14的时候用dp表判断一下,否则直接输出Yes即可 代码: import sys input = lambda: sys.stdin.readline(...
2025-12-25
0
34
状态机dp(Python)
思路:非常裸的状态机dp板子题,挺典型的,建议没有接触过状态机dp的朋友们好好学习 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): return...
2025-12-24
0
38
位运算,思维(Python)
思路:我们首先要知道&的性质,简单说来就是&操作过后,结果不会变得更大。那么根据题目中的式子,我们可以大胆推测:对于每个将被的式子,比如:来说,其结果应该就是。那么其他将被的式子结果就应该是,因此最终结果就应该是所有元素的异或和 代码: import sys from functoo...
2025-12-23
0
46
双指针,模拟(Python)
思路:按照题意,用双指针进行模拟即可 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): return input() def II(): ...
2025-12-22
1
42
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页