摘要: 一图胜千言 开始造火箭 虽然我们可以求出,总共的dis(i,j),但分散到每一个小dis(i,j),由于存在向上取整操作,我们需要求出将每一个小dis(i,j)给补成k的倍数的补数之和! 此处我们采用树形dp。 dp[u][j]表示以u的子节点到根节点root的距离对k取余的值为j的点的个数 我们如 阅读全文
posted @ 2024-04-20 20:48 gebeng 阅读(57) 评论(0) 推荐(0)
摘要: 一、缩点 题目链接 https://www.luogu.com.cn/problem/P3387 题目大意 题目思路 缩点 + 拓扑序 + dp 代码 #include<iostream> #include<queue> #include<cstring> #include<algorithm> # 阅读全文
posted @ 2024-04-16 09:32 gebeng 阅读(10) 评论(0) 推荐(0)
摘要: 查询区间每个数出现的个数,离线算法,O(nsqrt(n)) 一、普通莫队 题目链接 https://www.luogu.com.cn/problem/P2709 题目大意 题目代码 #include<iostream> #include<algorithm> #include<cmath> #def 阅读全文
posted @ 2024-04-15 22:18 gebeng 阅读(18) 评论(0) 推荐(0)
摘要: 二分 + 容斥 题目链接 https://leetcode.cn/problems/kth-smallest-amount-with-single-denomination-combination/description/ 题目大意 题目思路 假设有一个 x 元硬币 思考只有一种面额为3的硬币时,3 阅读全文
posted @ 2024-04-14 18:48 gebeng 阅读(24) 评论(0) 推荐(0)
摘要: 题目一 题目链接 https://www.acwing.com/problem/content/description/219/ 题目大意 题目代码 from sys import stdin,setrecursionlimit from functools import lru_cache fro 阅读全文
posted @ 2024-04-10 13:46 gebeng 阅读(22) 评论(0) 推荐(0)
摘要: 概论 二分图又称作二部图,是图论中的一种特殊模型。 设G = (V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(u,v)所关联的两个顶点u和v分别属于这两个不同的顶点集(u->A, v->B),则称图G为一个二分图。 染色法判定二分图 思路 初始将所有节点标记 阅读全文
posted @ 2024-04-09 09:44 gebeng 阅读(33) 评论(0) 推荐(0)
摘要: 一、Prim算法 概论 适合稠密图,不进行堆优化的时间复杂度是\(O(n^2)\),进行堆优化则是\(O(mlogn)\) 每次将离连通部分的最近的点和点对应的边加入的连通部分,连通部分逐渐扩大,最后将整个图连通起来,并且边长之和最小,基于一种贪心的策略。 证明的引理 对于任意切割 (S, V-S) 阅读全文
posted @ 2024-04-08 21:03 gebeng 阅读(60) 评论(0) 推荐(0)
摘要: 最短路算法 一、Dijkstra 简介 用于计算一个节点到其他节点的最短路径。 它的主要特点是以起始点为中心向外层层扩展(广度优先遍历与贪心思想,如果权重为1的话就是BFS寻找最短路了),直到扩展到终点为止。 按长度递增的次序产生最短路径 适用于正权图,可以有环,不可以有负权边 代码 from he 阅读全文
posted @ 2024-04-08 17:06 gebeng 阅读(84) 评论(0) 推荐(0)
摘要: 定义 二叉排序树是一种特殊的二叉树,其中左子树中的所有节点都小于根节点,右子树中的所有节点都大于根节点(如下图所示)。 因此构造过程需要确保插入的元素能够按照这个规则被正确地插入到树中 性质 1、如果初始状态是一个空树,则插入每个元素的时间复杂度是 O(log n),其中 n 是树中节点的数量。这是 阅读全文
posted @ 2024-04-08 09:04 gebeng 阅读(58) 评论(0) 推荐(0)
摘要: 问题一:求 A 中由 K 个不同整数组成的最长子数组的长度 right pointer 主动向前移动 left pointer 被动向前移动,为了保证[left,right]闭区间的合法性 from collections import Counter def find(s,k): n = len( 阅读全文
posted @ 2024-04-08 07:08 gebeng 阅读(20) 评论(0) 推荐(0)