
基础算法
BOF_dcb
这个作者很懒,什么都没留下…
展开
-
各种零散知识(持续更新,欢迎补充与纠正)
1.C++取整细节。原创 2024-01-09 11:04:28 · 391 阅读 · 0 评论 -
差分算法(一维加二维解析)
概念:给一个数组a[N], 假设b[N]是a[N]的差分数组,则a[N]为b[N]的前缀和数组。原创 2024-01-16 10:03:33 · 351 阅读 · 1 评论 -
C++分解质因数
题目:给定 n个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。原创 2024-01-23 10:58:16 · 556 阅读 · 1 评论 -
C++试除法判定质数
判断整数n是否是质数:若n只能被1和n整除,则n为质数,否则不是;原创 2024-01-23 12:14:03 · 509 阅读 · 1 评论 -
C++贡献法
此题中,我们枚举每个元素对答案的贡献,即检查每个元素在哪几个子串中只出现过一次;再确定右边第一次出现的位置R,然后取(k-L)* (R-k)即可作为第k个字符。我们先确定第k个字符左边最后一次出现的位置L,理解:枚举每个元素对最终答案的贡献;原创 2024-01-28 10:46:11 · 524 阅读 · 1 评论 -
C++01背包问题
从朴素版中我们可以看出 第i层 使用 第i-1层 来更新的,这时候我们就可以联想到滚动数组,即: f[i][j]-------->f[j]。原创 2024-02-01 11:09:23 · 398 阅读 · 1 评论 -
单调队列(二维)
给定一个 n×m(n 行 m 列)的矩阵。设一个矩阵的价值为其所有数中的最大值和最小值的乘积。求给定矩阵的所有大小为 a×b(a 行 b 列)的子矩阵的价值的和。答案可能很大,你只需要输出答案对 998244353 取模后的结果。输入格式输入的第一行包含四个整数分别表示 n,m,a,b,相邻整数之间使用一个空格分隔。接下来 n行每行包含 m 个整数,相邻整数之间使用一个空格分隔,表示矩阵中的每个数 Ai,j。输出格式输出一行包含一个整数表示答案。数据范围。原创 2023-04-16 15:04:37 · 585 阅读 · 1 评论 -
单调队列(一维)
你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。原创 2023-04-16 14:32:13 · 76 阅读 · 1 评论