YunBaichuan
YunBaichuan
全部文章
分类
归档
标签
去牛客网
登录
/
注册
YunBaichuan的博客
全部文章
(共121篇)
思维(Python)
思路:整体思路比较容易想到:当两数间的差值时,用公差为的等差数列去从小到大的插入,结果就是,然后不断累加即可。但是有个特判不好注意到,整体思路可以处理差值中有k的情况,此时会正确输出0;但当所有差值都< k时,此时应该输出1,因为我们要额外构造一个数,使得差值为k。所以说再额外引入一个flag...
2026-01-10
0
37
贪心(Python)
思路:贪心,我们需要最少的操作次数,那就可以cnt出每个字符串对应位置的元素个数,并且要所有对应位置的字符都变成最大数量的那个字符,具体是什么字符我们不关心。那么剩下需要修改的字符数量就是n // k - mx,我们遍历一遍,然后累加即可得到ans 注意:具体实现的时候不需要把具体的n // k个字...
2026-01-09
0
39
线段树(Python)
思路:多次修改,多次查询的区间问题,要想到用线段树解决 注意:对于Python来说,print函数的时间代价很大,所以说像这种多次查询并输出的题目,我们需要用一个数组来记录每次要输出的答案,最终用一次print输出,来减少超时的风险 代码: import sys input = lambda: sy...
2026-01-08
0
49
思维(Python)
参考:https://blog.nowcoder.net/n/0a5f5968e0c94844917ada856a748cc5 思路:思维题,题目说了边界补零且无法被更改,所以说要让所有元素相同,那么最终结果应该都是0。因此对于中间是0来说,直接统计即可;对于中间是正数来说,他四周应该都<=0...
2026-01-07
0
38
模拟(Python)
参考:https://blog.nowcoder.net/n/9814e3fcac084972ad72b1c6ffe1357e 思路:对于这种需要明确连接关系的题目来说,适合用邻接矩阵来做。因此,我们先建邻接矩阵,之后用i, j, k枚举三个点,并且判断其在邻接矩阵中的边关系。然后输出真分数就用gc...
2026-01-06
0
42
排序 + LIS(Python)
思路:排序 + LIS。他的本质是算一个二维最长严格递增子序列,然后再用小红本身的H和A,去判断是否能够战胜最大的二维严格递增子序列结尾。如果可以的话,就更新ans = max(ans, dp[i]),最终输出ans即可 注意:这里排序是为了贪心的得到更长的二维最长严格递增子序列,而且题目只限制了h...
2026-01-05
0
48
思维、构造(Python)
思路:思维题,首先有一个特判可以注意到:令k = n // 2,如果此时k是奇数,那么数组左边是奇数个偶数和,结果为偶数;数组右边是奇数个奇数和,结果为奇数。因此,左右两边的和不可能相等,直接输出"NO"即可 然后我们就可以往左边填偶数,从2开始填,形成一个等差数列,其求和公式为...
2026-01-04
0
56
划分dp(Python)
参考:https://www.nowcoder.com/share/jump/5537992501767403764056 思路:这题可以用划分dp来做,我们定义表示到使得数组为空的最小划分数,并且记录一个数组,用来记录元素值的最小划分次数。这样后续在进行首尾元素相同,状态转移的时候,就可以找到结尾...
2026-01-03
0
42
最大化最小值问题,二分(Python)
思路:非常经典的最大化最小值问题,用二分解决。不过题目没明确说明是最大化最小值,需要分析一下。如果没有学过这种二分题型的同学可以学习一下 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10...
2026-01-02
0
54
手搓二叉树,递归写遍历(Python)
思路:ACM赛制下就需要手搓一棵符合题目要求的二叉树了,没有接触过的同学可以练习一下,具体流程如下:1.写一个节点类;2.分别对各编号建立节点;3.读入边然后建二叉树,顺便存储一下边;4.通过入度为0,找到根节点编号,并取出根;5.用经典的递归来写三种遍历方式,输出结果即可,当然你也可以扩展一下,用...
2026-01-01
0
65
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页