随笔分类 - 算法
摘要:核心五行,基于已有的矩阵,解决多源最短路径问题,可以解决负权问题
阅读全文
摘要:核心:两个循环
1.朴素版+优化
2.邻接表存图+队列优化
阅读全文
摘要:参考: (40条消息) 前缀和与差分 图文并茂 超详细整理(全网最通俗易懂)_林小小小鹿的博客-CSDN博客_前缀和与差分 一维前缀和: 输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。 思路: 1.需要一个数组s[N]
阅读全文
摘要:参考: (49条消息) 快速幂算法(全网最详细地带你从零开始一步一步优化)_刘扬俊的博客-CSDN博客_快速幂算法 (a + b) % p = (a % p + b % p) % p (1) (a - b) % p = (a % p - b % p ) % p (2) (a * b) % p = (
阅读全文
摘要:参考: (48条消息) 最小生成树详解(模板 + 例题)_潘小蓝的博客-CSDN博客_最小生成树例题详解 思路: 把点和边的值都赋为无穷大 1.有n个点,寻找n次 2.寻找最小的点,要求:未连通viss[j]=0,最小 3.如果找到最小点的dist不为无穷大 4.存储dist,标记当前点(vis[c
阅读全文
摘要:参考: (40条消息) 总结——01背包问题 (动态规划算法)_青龙指引你的博客-CSDN博客_01背包算法 某工厂预计明年有A、B、C、D四个新建项目,每个项目的投资额Wk及其投资后的收益Vk如下表所示,投资总额为30万元,如何选择项目才能使总收益最大? W:15 10 12 8 V:12 8 9
阅读全文
摘要:题目: 给定n个元素的整数列(可能为负整数) a1,a2,…,an. 求形如:ai,ai+1,…aj(i/j=1…n,i<=j)的子段 使其和为最大。当所有整数为负整数时定义其最大字段和为0。 例如当(a1,a2,a3,a4,a5,a6)=(-2,11,-1,13,-5,-2) 最大字段和为i=2,
阅读全文
摘要:贪心:1.活动选择,2.找栈,3.再论背包问题,4.分级调度,5.小船过河,6.区间覆盖问题
阅读全文
摘要:(23条消息) DFS入门级(模板)_ღ江晚吟的博客-CSDN博客_dfs入门 思路: 所谓DFS就是指:优先考虑深度,换句话说就是一条路走到黑,直到无路可走的情况下,才会选择回头,然后重新选择一条路。 用book函数来存储是否走过一次,用a[step]来表示盒子,step为盒子的下标,i为扑克牌的
阅读全文
摘要:思路: 1.多条路一起走,知道有一条路走到终点,就返回步数 2.标记所有走过的格子为2,终点为3 3.以当前格子(now)为中心,判断上下左右格子是否符合条件(视具体情况而定),用一个新的二位数组来模拟移动 4.使用栈(queue)来存储信息,并进行判断,和改变当前格子信息 5.还可以用于解决连通问
阅读全文
摘要:克鲁斯卡尔 模板题目: 图中的6个顶点分别代表6个村庄,线段的权值代表村庄之间的距离。请问如何找到最短的路径来访问每一个村庄,且每个村庄只访问一次。 关键: 一个存储边的结构体(edgetype),包括起点(from)终点(to)权值(weight) 一个存储树的结构体(edggragh),这棵树包
阅读全文
摘要:分治法: 参考: (36条消息) 分治算法详细讲解(含经典例题分析)_nan_black的博客-CSDN博客_分治算法几个经典例子 (36条消息) 经典算法(1)分治法_胡乱huluan的博客-CSDN博客 (1);把a问题分成若干个小问题 (2):保证每一个小问题的解法都相同,并保证这些小问题能整
阅读全文