• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
jacklee404
Never Stop!
博客园    首页    新随笔    联系   管理    订阅  订阅

文章分类 -  Algorithm

上一页 1 2 3 4 5 6 下一页
Learning in algorithm
线段树复习

摘要:线段树复习 ​ 线段树是基于分治思想的二叉树,用来维护区间信息(区间和,区间最值,区间$gcd$等),可以在$nlogn$的时间内执行区间修改和区间查询 。 ​ 线段树的叶子节点存储元素本身,非叶子节点存储区间内的元素统计值。 建树 关于线段树为什么开$4 \times N$大小: 单点修改 $O( 阅读全文
posted @ 2023-04-01 10:54 Jack404 阅读(20) 评论(0) 推荐(0)
树状数组学习

摘要:树状数组 | 算法 | 单点修改 | 求前缀和 | | | | | | 前缀和 | $O(1)$ | $O(n)$ | | 树状数组 | $O(logn)$ | $O(logn)$ | ​ 我们将区间拆分成$[r - lowbit(r) + 1, r]$, 如上图所示,我们用右端点$r$来表示一个区 阅读全文
posted @ 2023-03-28 21:03 Jack404 阅读(12) 评论(0) 推荐(0)
加分二叉树 区间dp

摘要:加分二叉树 区间dp 题目 加分二叉树 思路 由于根节点可以任选, 所以我们可以令$f[l][r]$ 表示考虑区间$[l, r]$合并的最优加分二叉树, 那么我们可以从根遍历,则问题转化为区间dp问题 $$ f[l][r] = max(f[l][k - 1] \times f[k + 1][r] + 阅读全文
posted @ 2023-03-27 19:23 Jack404 阅读(8) 评论(0) 推荐(0)
作物杂交 SPFA -- dp

摘要:作物杂交 SPFA -- dp 题目 作物杂交 思路 ​ 首先回想一下bellman-ford算法通过$n - 1$次枚举,每次枚举所有的边进行松弛,算法的复杂度为$O(n \times m)$, 我们使用队列进行优化,即每次可能松弛其他点的边一定是上一次被松弛的点, 所以我们可以用一个队列来维护当 阅读全文
posted @ 2023-03-26 18:14 Jack404 阅读(13) 评论(0) 推荐(0)
The Great Julya Calendar 记忆化搜索-数位dp

摘要:The Great Julya Calendar 记忆化搜索-数位dp 题目 C1. The Great Julya Calendar time limit per test 2 seconds memory limit per test 256 megabytes input standard i 阅读全文
posted @ 2023-03-25 12:14 Jack404 阅读(21) 评论(0) 推荐(0)
2022蓝桥杯题解

摘要:2022蓝桥杯题解 九进制转十进制 $$ (2022)9 = (2 \times 9^0 + 2 \times 9^1 + 2 \times 9^3){10} $$ #include <iostream> using i64 = long long; int main() { int n, ans 阅读全文
posted @ 2023-03-22 20:44 Jack404 阅读(24) 评论(0) 推荐(0)
哈希表学习

摘要:哈希表学习 存储结构 模拟散列表 开放寻址法 #include <iostream> #include <cstring> using i64 = long long; const int N = 2000003, null = 0x3f3f3f3f; int h[N]; int find(int 阅读全文
posted @ 2023-03-18 11:02 Jack404 阅读(14) 评论(0) 推荐(0)
NOIP-2003 传染病控制 暴力-深搜

摘要:题目 P1041 [NOIP2003 提高组] 传染病控制 思路 一开始想到的是计算每个节点的儿子数量,然后贪心一边, 但是这样是错误的,下面给出例子证明贪心法是错误的。 ​ 自顶向下错误证明: ​ 自底向上错误证明: ​ ​ 说明:由于贪心策略,我们把儿子多的节点先给挂了, 导致我们最后的节点数为 阅读全文
posted @ 2023-03-05 13:42 Jack404 阅读(48) 评论(0) 推荐(0)
砖块,费解的开关 (递推)

摘要:题目1 砖块 思路 (递推) ​ 我们可以通过题目条件,找出来本题的一些性质 每两个相邻砖块至多操作一次 ​ 通过这个性质,我们可以递推的求每个砖块是否被操作,假设砖块变成白色,如果操作第$i$个和第$i + 1$砖块后,不能使第$i$个砖块变为W, 则不进行该操作,因为后续操作无法使该砖块变为W。 阅读全文
posted @ 2023-03-02 16:39 Jack404 阅读(9) 评论(0) 推荐(0)
蒙德里安的梦想

摘要:蒙德里安的梦想 蒙德里安的梦想 思路 状态压缩DP ​ 状态表示: 设$f[i][j]$表示**前$i-1$列已经摆放整齐, 第$i$列的状态为$j$**时的方案数,$j$用十进制来表示二进制数,当$j$的第$k$位为$0$时,表示该列没有方块覆盖,即可以理解为该列没有被$i - 1$列的$1 \t 阅读全文
posted @ 2023-02-28 17:38 Jack404 阅读(19) 评论(0) 推荐(0)
P5440 【XR-2】奇迹 思维+筛法

摘要:P5440 【XR-2】奇迹 题目 P5440 【XR-2】奇迹 思路 思维+筛法 ​ 第一次做的时候思路是暴力搜索,但是这样在代码上和时间复杂度上都是比较高的,后来看题解才知道可以先打表,虽然打表的题做的很多,但是做这道题还是没有想到,可能在思考上太少了。 ​ 我们可以枚举把满足条件的数存储到数组 阅读全文
posted @ 2023-02-25 12:39 Jack404 阅读(42) 评论(0) 推荐(0)
邮票 Stamps

摘要:邮票 Stamps P2725 [USACO3.1]邮票 Stamps 思路 ​ 设$f[i][j]$为考虑前$i$个数,当面值为$j$时的最小邮票数,则状态转移式如下(完全背包计数): $f[i][j] = min(f[i - 1][j], f[i][j - coins[i]] + 1)$, 初始 阅读全文
posted @ 2023-02-06 16:15 Jack404 阅读(7) 评论(0) 推荐(0)
货币系统-计数类背包问题

摘要:货币系统-计数类背包问题 问题 532. 货币系统 - AcWing题库 思路 题意: ​ 对于给定长度为$n$的序列$a$, 对于序列$a$种任意数的线性组合有 ​ $s = k_1a_1 + k_2a_2 + ..., \space k_i \in Z^+$ ​ 求另一个序列满足$a$中能用线性 阅读全文
posted @ 2023-02-05 16:55 Jack404 阅读(14) 评论(0) 推荐(0)
二维费用背包问题

摘要:二维费用背包问题 ​ 给定$n$个物品,对于每个物品有容量$v_i$, 负收益$w_i$,给定负收益阈值$k$, 最大容量$m$, 求保证负收益最低的情况 下最多能装多少物品。 ​ 该问题对于集合划分同样可以划分成装与不装两个集合,与01背包相同, 我们需要考虑两个状态量, 负收益和容量,对于保证负 阅读全文
posted @ 2023-02-04 23:59 Jack404 阅读(17) 评论(0) 推荐(0)
多重背包复习

摘要:多重背包问题 有 $N$种物品和一个容量是 $V$的背包。 第 $i$种物品最多有 $s_i$ 件,每件体积是 $v_i$,价值是 $w_i$。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 滑动窗口优化 $O(n \times v)$ $f[i][j] 阅读全文
posted @ 2023-02-04 14:20 Jack404 阅读(26) 评论(0) 推荐(0)
单调栈与单调队列复习

摘要:单调栈与单调队列复习 单调队列 解决问题 对于给定序列$a$, 求固定长度区间$k$, 关系运算最大或最小的问题. 最朴素的做法是$O(nk)$, 利用单调队列可以将复杂度降为$O(n)$. 思路 以求区间最大为例: ​ 假设存在一个长度为$k$的队列,从$1 \to n$枚举,若$a_i \ge 阅读全文
posted @ 2023-02-03 09:48 Jack404 阅读(9) 评论(0) 推荐(0)
1027. 方格取数 - 线性dp

摘要:题目 1027. 方格取数 - AcWing题库 思路 ​ 一开始dp了两次,错误,然后又尝试第一次dp后在进行回溯,把第一次最优路径中的点更改为$0$, 然后第二次dp,在把两次和相加,这样是错的。 ​ 这两个子最优结构并不同属一个最优结构,这两个子最优结构只能保证单次最优,然后再单次最优的情况下 阅读全文
posted @ 2023-02-01 15:45 Jack404 阅读(10) 评论(0) 推荐(0)
#edu142-D.Fixed Prefix Permutations Trie树

摘要:题目 D.Fixed Prefix Permutations 思路 ​ Trie数,顺便处理以下映射数组 Code #include <bits/stdc++.h> using i64 = long long; const int N = 5e5 + 10; int nex[N][15], cnt; 阅读全文
posted @ 2023-01-29 19:39 Jack404 阅读(20) 评论(0) 推荐(0)
edu#142 - Min Max Sort 思维+二分

摘要:题目 Min Max Sort 思路 ​1. 若序列合法 ​2. 那么最后一次操作一定用到最大值和最小值 去掉最大值和最小值, 继续操作1 ​ 每次都保证一定会用到该值,所以保证解是正确的, 当时做的时候一直想不开,看了大佬的题解幡然醒悟。 现在问题转化为如何更快的检查序列是否合法?显然暴力的话$O 阅读全文
posted @ 2023-01-29 17:21 Jack404 阅读(135) 评论(0) 推荐(0)
CF#846 D-Bit Guessing Game 位运算

摘要:链接🔗 Bit Guessing Game 思路🤔🎈 对$(11000)_2$ 我们求最低位的$1$, 可以经过以下步骤 $(11000)_2 - 1 = (10111)_2$ $count_1(11000_2) - count_1(10111) + 1$得到最低位的1的位数, 其中$coun 阅读全文
posted @ 2023-01-26 12:36 Jack404 阅读(93) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3