02 2019 档案
摘要:参考《挑战程序设计》 https://blog.csdn.net/codeswarrior/article/details/80228454 https://blog.csdn.net/sky_zdk/article/details/60320721 集合与二进制 在程序中表示集合的方法有很多种,当
阅读全文
摘要:参考链接:https://www.cnblogs.com/Glacier-elk/p/9284523.html https://blog.csdn.net/qq_40970841/article/details/81297414 如题,已知一个数列,你需要进行下面两种操作(点更新): 1.将某一个数
阅读全文
摘要:咱们从一个故事说起——解密犯罪团伙。 快过年了,犯罪分子们也开始为年终奖“奋斗”了,小哼的家乡出现了多次抢劫事件。由于强盗人数过于庞大,作案频繁,警方想查清楚到底有几个犯罪团伙实在是太不容易了,不过警察叔叔还是搜集到了一些线索,需要咱们帮忙分析一下。 现在有11个强盗。 1号强盗与2号强盗是同伙。
阅读全文
摘要:参考: 《啊哈!算法》p.155 https://www.cnblogs.com/dailinfu/p/7398112.html 该算法用于解决一个点到其余各顶点的最短路径 先来一张图,求1点到6点的最短路径 先用一个二维数组用于存储这张图 还有一个一维数组存储1点到各点的距离 我们将此时dis数组
阅读全文
摘要:引入1:单源最短路 问:求带权有向图上一个源点到其他点的最短路径距离 如果没有非负边权,我们自然可以想到dij。但是如果有负边权呢?这时候就要用SPFA算法求解。 原理&讲解 用dis数组记录源点到有向图上任意一点距离,其中源点到自身距离为0,到其他点距离为INF。将源点入队,并重复以下步骤: 队首
阅读全文
摘要:Bellman-Ford算法非常简单,核心代码四行,可以完美的解决带有负权边的图。 上面的代码中,外循环一共循环了n-1次(n为顶点的个数),内循环循环了m次(m为边的个数),即枚举每一条边。dis 数组的作用与Dijkstra算法一样,是用来记录源点到其余各个顶点的最短路径。u、v和w三个数组是用
阅读全文
摘要:参考《啊哈!算法》p.148 现在需要一个数据结构来存储图的信息,我们仍然可以用一个4*4的矩阵(二维数组e)来存储。比如1号城市到2号城市的路程为2,则设e[1][2]的值为2。2号城市无法到达4号城市,则设置e[2][4]的值为∞。另外此处约定一个城市自己到自己的路程也是0,例如e[1][1]为
阅读全文
摘要:OI中常用的四种最短路算法 1.广度优先算法BFS主要适用于无权重向图重搜索出源点到终点的步骤最少的路径,当方向图存在权重时,不再适用 2.狄克斯特拉算法Dijkstra主要用于有权重的方向图中搜索出最短路径,但不适合于有负权重的情况.对于环图,个人感觉和BFS一样,标志好已处理的节点避免进入死循环
阅读全文
摘要:参考《挑战程序设计竞赛》 https://www.cnblogs.com/Ymir-TaoMee/p/9448406.html 二分图判定 问题描述:给定一个具有n个顶点的图,要对图上每个顶点染色,并且要使相邻的顶点颜色不同,问是否能最多用2种颜色进行染色。题目保证没有重边和自环。 分析:科普:把相
阅读全文
摘要:参考《挑战算法设计竞赛》p.58 https://www.cnblogs.com/Ymir-TaoMee/p/9419377.html 完全背包问题: 问题描述:有n种重量和价值分别为wi,vi的物品,从这些物品中挑选总重量不超过W的物品,求出挑选物品价值总和的最大值,在这里,每种物品可以挑选任意多
阅读全文
摘要:参考《挑战程序设计竞赛》p51 https://www.cnblogs.com/Ymir-TaoMee/p/9419377.html 01背包问题 问题描述:有n个重量和价值分别为wi、vi的物品,从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。 input: 45 2 3
阅读全文
摘要:题目: 有一个喜欢动画的少年,他希望每周都能收看尽可能多的动画。每一部动画都在每周固定的时间段播出。不过,由于他不喜欢录下电视节目留到以后观看,因此只能在播出时观看。此外,他每周看的动画都是固定的,并且他不可能同时观看播出时间有重叠的两部动画。在他的国家,一周共被划分成了M个单位的时间。现在假设一共
阅读全文