摘要: 题目非常简洁明了(舒服),给你一个图,求每一个点可以到达的点的最大编号是多少。一看到题目,就可以想到图的遍历(废话) 在学过的遍历方法中,深搜和光搜其实都可以,但用得多的还是深搜,所以这里我们直接尝试深搜每一个起始点,然后将图搜完(暴力60分) #include<bits/stdc++.h> usi 阅读全文
posted @ 2020-06-24 13:54 Poetic_Rain 阅读(106) 评论(0) 推荐(1) 编辑
摘要: 问题 C: 最短路径 在洛谷上刷最短路的题然后被老师拉回去做算法笔记上面的题。。。 拿到这道题,先确定所有路径唯一,然后是无向边,那么对于边权处理,直接赋值为2的k次方就可以了,然后直接跑最短路。 这种思路非常暴力,但仔细看题目的数据范围,k<=500,ull你估计都存不下,没救。有的同学可能会想, 阅读全文
posted @ 2020-06-23 17:20 Poetic_Rain 阅读(162) 评论(0) 推荐(3) 编辑
摘要: 之前学过一些单源最短路算法,跑得非常快,但是对于SPFA这个东东,虽然它出过幺蛾子,但是在题解区发现还是很多人用,但是今天自己在做题的时候发现它还是有用,呼吁大家最好还是学学,不要有啥偏见,虽然Dijkstra确实很香。直接用例题来讲 但是本蒟蒻对于反向图的了解还并不多,如果之后学到更多的东西会继续 阅读全文
posted @ 2020-06-22 20:53 Poetic_Rain 阅读(800) 评论(0) 推荐(3) 编辑
摘要: 这道题有两种做法,一种是 扩展域(种类并查集),一种是 边带权(带权并查集)。种类并查集貌似应该都比带权并查集简单,所以先讲种类并查集的做法,再讲带权并查集 种类并查集 若 sum[ l ~ r ] 表示 l到r 之间1的个数,sum是一个前缀和数组,那么有 sum [ l ~ r ] = sum[ 阅读全文
posted @ 2020-06-18 19:52 Poetic_Rain 阅读(419) 评论(0) 推荐(3) 编辑
摘要: P1955 程序自动分析 如果不知道这道题的,可以先看看我那篇并查集的博客,里面有对这道题的主要思想的讲解,那么这里主要是讲其中的没有实现的部分——离散化 但是这里还是只讲一些基础的STL的直接莽的方法,因为哈希表离散化我不会啊,离散化是个什么东西呢??? 离散化,把无限空间中有限的个体映射到有限的 阅读全文
posted @ 2020-06-18 16:16 Poetic_Rain 阅读(91) 评论(1) 推荐(1) 编辑
摘要: 并查集 这是个什么东西呢?肯定OI大佬都知道。并就是指合并,查就是指查询,集就是集合,这种数据结构可以动态维护很多不重叠的集合 那么并查集其实是一种树形结构,它的每个节点都是一个元素,那么根节点就是这棵树(这个集合)的代表元素,我们可以用树根来表示这个集合。我们用一个f数组来记录并查集(整个并查集应 阅读全文
posted @ 2020-06-17 22:59 Poetic_Rain 阅读(353) 评论(1) 推荐(3) 编辑
摘要: 最近在做广搜的题,一场六六欢乐赛彻底让我意识到了暴搜的重要性 所以我为什么要去做广搜。想着先把广搜的黄题刷完(听同学说广搜的橙题更难),结果这一道题我就调了大概4个小时,还是写一篇博客吧 拿到这道题,最开始是没啥思路的,因为这种题型其实是没怎么遇见过的,之前做过的大多广搜题都是基本上直接套模板,多做 阅读全文
posted @ 2020-06-11 19:28 Poetic_Rain 阅读(111) 评论(0) 推荐(2) 编辑
摘要: 其实刚开始看到这道题,应该很多都会想到区间DP中的合并石子,开一个2倍的空间(严格来说的话应该是2n-1),将本来的环变成一个链式的结构。然后对于得到的消息,可以预处理一个前缀和,这样就可以很方便的知道 1~k-1 中是否会有 <0 的情况,那么这样就可以很容易得到第一种做法(这里的前缀和我写的有点 阅读全文
posted @ 2020-06-10 19:38 Poetic_Rain 阅读(148) 评论(1) 推荐(2) 编辑
摘要: 4.queue queue就是队列,平时用得非常多。栈的操作是只能是先进先出,与栈不同,是先进后出,与之后的deque也有区别。个人感觉手写队列有点麻烦,有什么head和tail什么的,所以说 STL大法好!!! queue的定义 #include<queue> using namespace st 阅读全文
posted @ 2020-06-10 12:48 Poetic_Rain 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 看得出来是个背包题,但是是个有依赖的背包问题,但是我自己从来没做过这种题,自己最开始的想法就是对主件加一个bool类型的值判断是否买过,如果为true,再选择附件买不买,但是非常成功地样例输出了3500 我淦,最终还是选择了看题解 仔细看一眼题目,其实每一个主件最多有两个附件,那么我们完全可以搞一个 阅读全文
posted @ 2020-06-10 09:45 Poetic_Rain 阅读(72) 评论(0) 推荐(1) 编辑