Loading

08 2022 档案

摘要:前言 树状数组,即树形存储的数组,又称Binary Indexed Tree或Fenwick Tree。 抛开它树形的存储结构,这种神奇的数据结构的应用看起来与「 树」没什么关系: 有一个序列\(A=(A_1,A_2,\dots,A_N)\),在不超过\(\mathcal O(\log N)\)的时 阅读全文
posted @ 2022-08-20 20:08 GoodCoder666 阅读(154) 评论(0) 推荐(0)
摘要:前言 背包(Knapsack)问题是经典的动态规划问题,也很有实际价值。 01背包 洛谷 P2871 [USACO07DEC] Charm Bracelet S AtCoder Educational DP Contest D - Knapsack 1 有\(n\)个物品和一个总容量为\(W\)的背 阅读全文
posted @ 2022-08-18 19:05 GoodCoder666 阅读(277) 评论(0) 推荐(0)
摘要:前言 生活中经常遇到类似这种的问题: 公路修建 有一些城市,城市之间要修建高速公路,每两个城市之间都可以修双向的路。其中每两个城市之间修路都需要花费对应的金额。请问如何修路,使得总花费的金额最少,且任意两个城市之间都可以直接或间接通过修建的路来通行? 实际上,我们可以把这种问题抽象化,把城市看作图的 阅读全文
posted @ 2022-08-15 11:43 GoodCoder666 阅读(207) 评论(0) 推荐(0)
摘要:0. 前言 Dijkstra算法可在\(\mathcal O(m\log m)\)或\(\mathcal O(m\log n)\)的时间内求解无负权单源最短路问题。本文中,我们将详细介绍算法的原理、实现,以及常用的两种优化。 另外,Dijkstra算法也不要乱用,比如说多源的最短路,用Dijkstr 阅读全文
posted @ 2022-08-13 12:37 GoodCoder666 阅读(375) 评论(0) 推荐(0)
摘要:0. 前言 在图中,如果要求任意两点间的距离,则可以使用Floyd(\(\mathcal O(N^3)\)😉)和Dijkstra(\(\mathcal O(NM\log M)\)😃)。对于比较小的数据范围(一般为顶点数\(N\le 150\)),可以使用Floyd算法。本文将讲述Floyd算法的 阅读全文
posted @ 2022-08-12 21:07 GoodCoder666 阅读(113) 评论(0) 推荐(0)
摘要:0. 定义 树形DP,又称树状DP,即在树上进行的DP,是DP(动态规划)算法中较为复杂的一种。 1. 基础 令\(f[u]=~\)与树上顶点\(u\)有关的某些数据,并按照拓扑序(从叶子节点向上到根节点的顺序)进行\(\text{DP}\),确保在更新一个顶点时其子节点的dp值已经被更新好,以更新 阅读全文
posted @ 2022-08-12 10:15 GoodCoder666 阅读(153) 评论(0) 推荐(0)
摘要:A - Full House 题目大意 来自一个掼蛋爱好者的翻译qwq 给定一副扑克牌中五张牌的编号\(A,B,C,D,E\),判断这五张是否为一组“三带二”。(不懂的自行百度 数据范围:\(1\le A,B,C,D,E\le 13\),且\(A,B,C,D,E\)不会全部相同。 输入格式 \(A~ 阅读全文
posted @ 2022-08-07 19:45 GoodCoder666 阅读(41) 评论(0) 推荐(0)