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

文章分类 -  acwing

上一页 1 2 3 下一页
note
最优贸易-SPFA+思维

摘要:最优贸易 最贸易 思路 ​ 设我们可以以$i$为分界点,分别求经过$[1, i]$的路径的最低价格,和$[i, n]$的最高价格, 相减便可以得到以以$i$为分解点的最短路径,这样遍历所有分解点可以得到答案, 对于上述做法左右两边都是可以任意走的,也可以当天买当天卖, 那么可以用dp来求吗,显然图中 阅读全文
posted @ 2023-04-13 10:34 Jack404 阅读(34) 评论(0) 推荐(0)
道路与航线 Dijkstra+DAG求最短路

摘要:道路与航线 题目 道路与航线 思路 ​ 一开始想的是SPFA, 平均情况$O(M)$, 但是最坏是$N \times M$, 提交后超时了。开始思考题目中的边和相关条件 1. 道路**无向**,且为**正权边** 1. 航线**有向**,且可能存在**负权边**,另外航线不存在回路,即为$DAG(有 阅读全文
posted @ 2023-04-12 19:21 Jack404 阅读(16) 评论(0) 推荐(0)
通信线路-二分+双端队列BFS

摘要:通信线路-二分+双端队列BFS 题目 通信线路 思路 ​ 理解一下题意,找到一条路径使得,源点到终点的路径中第$k + 1$大的边权最小,也就是下图标注的$(1->2->5)$的路径花费为$4$. ​ 求最大值最小显然我们可以想到二分答案,那么如何二分那,我们先设一个$x$, 对于$> x$ 的边权 阅读全文
posted @ 2023-04-12 09:45 Jack404 阅读(17) 评论(0) 推荐(0)
双端队列BFS-电路维修

摘要:双端队列BFS ​ 对于图中只存在边权为$0, 1$的边,我们可以考虑双端队列优化Dijkstra, 即我们用一个双端队列来维护Dijkstra中堆的性质,具体做法如下: ​ 如果当前更新边的边权为$0$,那么我们可以将其插入到队首 ​ 如果边权为$1$我们可以将其插入到队尾 对于上面的做法, 我们 阅读全文
posted @ 2023-04-12 09:14 Jack404 阅读(34) 评论(0) 推荐(0)
蓝桥杯-网络分析-带权并查集

摘要:网络分析 题目 网络分析 思路 ​ 一开始考虑每次dfs, 然后进行memset(),复杂度为$O(m \times N \times M)$, 只拿了50分, 看了网上的题解,如果不用带权并查集的话,维护并查集内所有的点,复杂度$O(m \times N)$ 可以拿70分, 下面考虑正解带权并查集 阅读全文
posted @ 2023-04-07 19:19 Jack404 阅读(33) 评论(0) 推荐(0)
Acwing-提高课 图论

摘要:Acwing-提高课 图论 单源最短路的建图方式 1129. 热浪 注意无向图的边数为题目数据的2倍,另外链式前向星只有h[] 数组存储的大小是点数,其他是边数, 存储的时候可以不用结构体,用$w$数组存储idx对应的边权 #include <iostream> #include <cstring> 阅读全文
posted @ 2023-04-03 10:34 Jack404 阅读(14) 评论(0) 推荐(0)
线段树复习

摘要:线段树复习 ​ 线段树是基于分治思想的二叉树,用来维护区间信息(区间和,区间最值,区间$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)
哈希表学习

摘要:哈希表学习 存储结构 模拟散列表 开放寻址法 #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)
货币系统-计数类背包问题

摘要:货币系统-计数类背包问题 问题 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)
Acwing-282. 石子合并 区间DP例题

摘要:题目 设有 NN 堆石子排成一排,其编号为 1,2,3,…,N1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 NN 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的 阅读全文
posted @ 2023-01-14 13:21 Jack404 阅读(21) 评论(0) 推荐(0)

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