摘要:
对题面进行一下分析,本题并不复杂,需要注意的是,要求是一个一个满足的,也就是说最开始你要保证该图联通,然后连边数最小。 emmmmm 这不就是生成树吗,再往下看,要实现最大的边长最小化,这不就是求最小生成树上最长边吗 接下来就没什么好说的了,直接上代码 阅读全文
摘要:
题目链接 首先对题目的意思进行理解一下,可以简化为: 给出一个有p个点的图,以及每个点的坐标,你可以对s个点进行标记, 两端点都被标记的边边权为0, 最后求出在该图联通时最长边的最小值 分析一下这个题目 1.我们在求解最小生成树的时候一定从小到大选择最优的几条边,所以如果我们要使选出的边最短,该边一 阅读全文
摘要:
前言 本人爆肝写的这份算法学习笔记,希望对于自己的学习和看到的大佬们有一些帮助,文头说明,如果有错,欢迎在评论区dd我(dd我的请你们吃华伦食堂) 内容简介1.背包问题 2.线性动态规划3.区间类动态规划4.树型动态规划5.数位动态规划6.单调队列优化动态规划7.状态压缩动态规划8.斜率优化动态规划 阅读全文
摘要:
# 前言 虽然本蒟蒻通过了PJ训练场的树形数据结构的三道题目,但是感觉每道题都做的十分勉强,所以来补一发树形数据结构的学习。 第一节 树的初步 树的存储树的定义及基本概念麻烦左转别的算法书籍,本章主要说明树的存储和遍历。 方法一:用数组 方法二:运用树型单链表结构 方法三:运用树形双链表结构(最推荐 阅读全文
摘要:
做完题看了一下题解,发现大佬们用的都是什么最小生成树,蒟蒻瑟瑟发抖,其实这题用最简单的并查集就可以通过对于时间进行排序,从最早完成的时间开始,每次合并两条边,然后查看他们是否属于同一集合,如果是,输出完成时间,直接结束程序如果遍历结束还没用都处于同一联通块,那么就输出-1.~~不开O2记得卡常~~附 阅读全文
摘要:
这么水的题居然没有人发题解,那就来水一波安利一下自己的blog,大家可以互相学习 本题就是一个非常简单的模拟题,对于每一个询问,先算出回文串最大可能长度,然后暴力比较是否回文,一旦找到不同的就停止搜索,输出现在的长度*2+1(该坐标的数需要计算)。即可找出答案附ac代码 阅读全文
摘要:
对于这道题,稍有常识的人都知道(逃是一道裸的最小生成树版题,那么就是运用到某K算法,下面简述一下。首先定义一下生成树的概念,指的是对于一个有n个点的图,删去若干条边,使得整张图为一个只有n-1条边的联通块,而最小生成树则取生成树中的极小,既边权和为最小。对于kruscal算法步骤如下1.对于边的长度 阅读全文
摘要:
总得来说,这道题还是比较水的(至少dfs的过程是这样)感觉上评级需要降一级 说一下dfs思路:搜索前i个油滴,所占的可能性面积最后取最大值输出。 然后几个比较需要说的点: 1.提醒一下喜欢用万能头文件的人,万能头文件关键字很多,包括left,right,up,down全部是,被坑了好久。 2.四舍五 阅读全文
摘要:
NOI 1995 P1880 石子合并 【普及+/提高-】 对于任意的石子堆l和石子堆r来说,如果想要合并l,r。那么l,r之间的每堆石子都已经被合并,因此任意石子堆都可以用一个闭区间[l,r]表示这堆石子为l,r之间的石子合并而来。那么对于这个石子堆而言,肯定是中间有一个划分点K,该闭区间[l,r 阅读全文
摘要:
一道玄学题目,做完后才发现标签居然是dp,但是其实暴力剪枝可以过。说说暴力思路枚举每一个点,如果它的值为0,很显然不可能构成正方形,直接剪掉然后以边长为循环变量从1枚举到最大可能性,遍历正方形中的每一个点,如果发现有0直接停止这个点循环(因为哪怕是更大的正方形也会将这个点包进去,不可能满足题目需求) 阅读全文
摘要:
做了一下午终于A了这题,谈谈心得。这题主要思路是这样的,在SPFA中加入计数操作,如果这个点的最短路可以更新但还未被更新既 那么很显然,目前我们可以知道的可到达这个点的最短路就是通过先到达上个点再走当前边的方式,易推得代码 当一个点不能被当前点更新时,判断如果这个点的距离等于当前点距离+1的话,那么 阅读全文