YunBaichuan
YunBaichuan
全部文章
分类
归档
标签
去牛客网
登录
/
注册
YunBaichuan的博客
全部文章
(共103篇)
最大化最小值问题,二分(Python)
思路:非常经典的最大化最小值问题,用二分解决。不过题目没明确说明是最大化最小值,需要分析一下。如果没有学过这种二分题型的同学可以学习一下 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10...
2026-01-02
0
47
手搓二叉树,递归写遍历(Python)
思路:ACM赛制下就需要手搓一棵符合题目要求的二叉树了,没有接触过的同学可以练习一下,具体流程如下:1.写一个节点类;2.分别对各编号建立节点;3.读入边然后建二叉树,顺便存储一下边;4.通过入度为0,找到根节点编号,并取出根;5.用经典的递归来写三种遍历方式,输出结果即可,当然你也可以扩展一下,用...
2026-01-01
0
53
思维(Python)
思路:思维题,我们考虑一下不同次数操作,有什么影响。一次操作时可以把相邻的两个元素翻转,也就是距离为1的元素进行翻转,比如"11"变成"00";两次操作时,可以把距离为2的元素进行翻转,比如"101"变成"000";三次...
2025-12-31
0
40
并查集,离散化(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
40
分类讨论(Python)
思路:分类讨论,首先注意到操作1并不会改变x, y的值,所以说我们要使得x, y的值改变,得看操作2。因此,令操作2中的,得到,那当且仅当为0的时候成立。 由于我们操作1可以进行x, y的交换,所以说我们只需要考虑怎么得到0即可,有三种情况:1.原本里面就有0,那就不管,具体是x还是y,这个讨论一下...
2025-12-28
0
40
贪心,dfs(Python)
思路:首先要想到一个特判,那就是当节点n的个数为奇数时,必然不满足条件中的全偶数划分。然后就是贪心进行划分,什么意思?打个比方来说,我在4的时候进行划分,不如在2的时候就进行划分,这样就可以多一次划分,更优 所以说,我们可以统计子树大小,一旦遇到偶数就进行划分,这可以用递归dfs来做。具体来说,当我...
2025-12-27
0
33
模拟,贪心(Python)
思路:模拟,贪心。我们读入数据的时候,先判断当前的圆是否包含了原点。如果包含有原点,那就计算出它的移动代价,并且存放到一个临时数组中。之后就判断一下这个数组的长度是否<=k,如果是直接输出0即可;否则,我们要先把代价从小到大排序,然后取前length - k个元素。 代码: import sy...
2025-12-26
0
39
dp打表(Python)
思路:用dp打表找规律,可以发现在x > 14时,结果都为True;在x <= 14时,结果不都为True。那么我们就在x <= 14的时候用dp表判断一下,否则直接输出Yes即可 代码: import sys input = lambda: sys.stdin.readline(...
2025-12-25
0
28
状态机dp(Python)
思路:非常裸的状态机dp板子题,挺典型的,建议没有接触过状态机dp的朋友们好好学习 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): return...
2025-12-24
0
31
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页