YunBaichuan
YunBaichuan
全部文章
分类
归档
标签
去牛客网
登录
/
注册
YunBaichuan的博客
全部文章
(共123篇)
矩阵快速幂(Python)
思路:斐波那契数列变种,矩阵快速幂优化。观察题目的数据量可知,这题我们需要用到矩阵快速幂进行优化。首先写两个函数:1.矩阵乘法函数mat_mul、2.矩阵快速幂函数mat_pow。由于本题的斐波那契数列递推比一般的斐波那契数列递推用到的数要更前一位,所以说就需要用到3维的递推矩阵 接着对3维递推矩阵...
2026-02-26
0
36
递推(Python)
思路:经典递推板子题,中间再加个取mod操作即可 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): return input() def II(...
2026-02-25
0
43
多源bfs
思路:多源bfs。首先我们要弄清楚Sekai点是什么?其实就是度数为1的叶子节点,我们要找与Sekai点相距最近的最大距离Miku点,就只需要把所有Sekai点收集起来,做一个多源bfs,就可以得到Sekai点到其他Miku点的最短距离。然后统计其中的最大值及其出现次数,并且根据要求输出答案即可 代...
2026-02-24
0
53
不定长滑动窗口(Python)
思路:不定长滑动窗口,越长越合法。模板题,建议没学过不定长滑动窗口,越长越合法的同学好好练习一下 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): ...
2026-02-23
0
52
模拟(Python)
思路:模拟题。根据题意进行模拟即可,可以写一次遍历,我这里写的是两次遍历,看着比较简单 代码: import sys input = lambda: sys.stdin.readline().strip() import math inf = 10 ** 18 def I(): retu...
2026-02-21
0
34
贪心(Python)
思路:贪心。为了保证根节点具有最大的生命值,我们可以用一个贪心策略:大剪刀能用次,那么就在前m层使用大剪刀,后更深的层使用小剪刀即可。并且题目说了,每次修剪为左右孩子到根,这个顺序天然和后序遍历一致。因此,我们就可以递归算一遍后序遍历,以及对应节点的深度;之后,再用贪心策略求出最终的答案并输出即可 ...
2026-02-20
0
40
浮点数三分(Python)
思路:浮点数三分。题目给定了单峰函数,并且每个单峰函数的相互独立。所以说我们每两个点之间算出一个单峰函数,之后再用浮点数三分把给算出来,并且算出具体的函数值,接着不断累加到ans中,最终输出答案即可 技巧:三分函数我们只需要写找最大值单峰的逻辑即可,然后用一个find_max变量来记录我们是否找的是...
2026-02-19
2
47
网格图bfs(Python)
思路:网格图bfs。根据题意描述,其实就是网格图bfs板子题,没学过的同学可以学习一下。具体来说就是,以'@'为源点,跑一个网格图bfs,遇到非'#'的字符时判断一下是否为杂草'!',如果是的话就ans + 1;否则就是空地'.'不操作,之后把访问过的点置为'#',表示后面不再访问,接着继续跑网格图...
2026-02-18
1
33
枚举(Python)
前言:祝大家新年快乐! 思路:暴力枚举。注意到题目的a,b数字最长为10,因此可以枚举a和b的所有子序列,然后判断是否满足条件,时间复杂度为,为大概是量级左右,可以通过 具体来说,我们可以枚举保留的位数个数i和j,然后用组合数函数combinations(a, x)表示从a这个迭代器或者数组等这种存...
2026-02-17
0
36
扩展巴什博弈(Python)
前言:预祝大家新年快乐!希望大家能够在新的一年中,继续努力,实现自己的目标,成为更好的自己! 思路:经典博弈论结论题。扩展巴什博弈:一堆有n个石子,每次可以取l~r个石子,少于l个石子不能再取,取走最后一个石子的人获胜。问先手和后手谁会赢?结论就是:当时,先手必败;其他情况下,先手必胜。然后我们就根...
2026-02-16
0
42
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页