题意 一个\(N*M\)的矩阵,其中"."代表空地,"0-9"代表古代建筑,我们如果选择了一个编号的古代建筑想要建立,那么对应就要将全部该编号的建筑建立起来,如果在空地上建筑,只建立当前点.问最多能够建立多少种建筑,并且每两种建筑之间没有公共边. 分析 注意了,古代建筑的公共边是他的事,你不能选两个相邻的古代建筑.那么,我们把古代建筑抽象成一个点, 把剩下的各个现代的农场块抽象成各个点,给曼哈顿距离为1的块连一条边,那么这条题目就成了在这个新图上找图的最大独立集(注…
这几天的知识学习比较多,因为时间不够了.加油吧,为了梦想. 这里写几条简单的单调栈作为题解记录,因为单调栈的用法很简单,可是想到并转化成用这个需要一些题目的积淀. 相关博客参见:https://blog.csdn.net/wubaizhe/article/details/70136174 POJ 3250 Bad Hair Day 题意与分析 题意是这样的:\(n\)个牛排成一列向右看,牛\(i\)能看到牛\(j\)的头顶,当且仅当牛\(j\)在牛\(i\)的右边并且牛\(i\)与牛\(j\)之…
题意与分析 这题的题意就是树分块,更具体的看题目(中文题). 学习这一题是为了树的分块,为树上莫队做铺垫. 参考1:https://blog.csdn.net/LJH_KOQI/article/details/52326103 参考2:https://blog.csdn.net/popoqqq/article/details/42772237 注意到题目要求某块区域所有的点到根的路径上的点都属于该区域.因此不能够暴力地去dfs,每找到\(B\)个分一块是不可取的,因为无法保证联通性(一颗子树的下…
题意 一个城市由节点和连接节点的街道组成,街道是双向的. 此刻大雪覆盖了这个城市,市长确定了一些街道要将它们清扫干净,这些街道保证所有的节点可以通过它们连通而且街道数目尽可能小. 现有两台相同的扫雪机\(S\)和\(M\),它们的起点在同一个节点上. 所有被确定的街道必须至少被一台扫雪机经过,才能完成清扫任务,完成任务后\(S\)和\(M\)可以在原地停下,不必集合到某一点. 扫雪机的行进是需要耗费油量的(即使扫雪机行驶的是已被扫净的街道),因此扫雪机行进的总距离越小越好,你需要计算两台扫雪机完…
题意与分析 题意是这样的,给定一颗节点有权值的树,然后给若干个询问,每次询问让你找出一条链上有多少个不同权值. 写这题之前要参看我的三个blog:Codeforces Round #326 Div. 2 E(树上利用倍增求LCA).Codeforces Round #340 Div. 2 E(朴素莫队)和BZOJ-1086(树的分块),然后再看这几个Blog-- 参考A:https://blog.sengxian.com/algorithms/mo-s-algorithm 参考B:https:/…
题意 给定\(n\)个炸弹,每个炸弹的坐标与代价与影响范围给定,炸弹会引爆影响范围内其他所有炸弹.求引爆所有炸弹的最小代价. 分析 先做\(n^2\)的循环,然后建图,对\(i\)能引爆\(j\)建边\((i,j)\).然后对这个图求强连通分量并缩点,构成新的有向无环的森林.定义每个强连通分量的cost为其中包含的点的最小cost,然后把新森林中所有入度为0的点的cost加起来求和即可(由于无环,所以从任何入度不为0的点往回走,必然终止于一个入度为0的点). 代码 #include <iostr…
题目与分析 题解见https://blog.csdn.net/cmershen/article/details/53200922. 训练赛场上我们写出来了--在4小时50分钟的时候...激情补题啊...问题是这就是个尬模,我赛场上的写法和这个差不多...然后疯狂wa... 最后AC的是换了个写法....然后现在我再重头写我都一股子蛋疼,特么找不到问题在哪里是真的骚,以后多训练才是王道.(之后回顾的时候再找找看问题吧) 代码 #include <iostream> #include <cs…
题意 给定\(s,n\),把\(s+1,s+2,...,s+n\)这\(n\)个数填到\(1,2,...,n\)里,要求\(x\)只能填到\(x\)的因子的位置(即题目中\(x\%y=0\)那么x才能放在y位置的要求),问是否能够把所有数都填上去. 分析 建模之后就是条二分图的板子题. 注意到一个有趣的事实:如果\([s+1,s+n]\)中有两个质数,那他们肯定完蛋.因为它们一定都会和1连边然后翻车. 这意味着什么呢?在\(10^9\)的范围里面,质数最大的间隔是282(我抄网上的结论的,正确不…
定义 如果一个图\((E,V)\)的顶点集\(E\)能够被能够被分成两个不相交的集合\(X,Y\),且每一条边都恰连接\(X,Y\)中的各一个顶点,那么这个图就是一个二分图. 容易得知,它就是不含有奇数环的图(这个等价定义有时候很重要). 一个匹配是一个边的集合,其中任意两条边都没有公共顶点.顾名思义可以得到一个图的最大匹配的定义.特别地,如果一个图的某个匹配中,所有顶点都是匹配点,那么它是一个完美匹配. 由完美匹配和最大匹配这两个定义我们可以得到两类问题: 有没有可能使得所有顶点都被匹配? 一…
前言 我不是名校毕业,更没有大厂的背景,我只是一个毕业不到 2 年的普普通通的程序员,在摸爬滚打的工作这段时间里,深知了有一个「完整的知识体系」是非常重要的.当事人非常后悔没有在大学期间知道这个道理-- 众多大厂招人的需求也是非常注重此方面,毕竟我们不能单单只是一个只会写代码的程序员,更应该成为一个全面的工程师,能够迅速解决工作上的需求及众多问题. 特此,我根据众多大佬的书籍推荐和豆瓣的高分书籍总结了一份较为全面的「服务器Linux C/C++」 成长路程,我自己也是在跟着这份思维导图进一步的学…