03 2020 档案

摘要:动物园 发现分析dp的题目时不能想当然的状态然后向状态转移,那样的话真的很难搞. 这个时候就要从集合的角度分析问题。(这里感谢yxc大佬的方法了.) 题目要求我们将若干个动物移走,也就是说每个动物有移或不移的选择,那总共的方案为2^m.每一个方案都有一个高兴地小朋友的人数. 选出使得小朋友高兴的人数 阅读全文
posted @ 2020-03-30 11:02 逆天峰 阅读(176) 评论(0) 推荐(0) 编辑
摘要:[HNOI2016]网络 树剖好题... 首先他要求不受此影响的最大值.我们可以将题目中的链的补集都加上一个重要度,这样就可以单点查询最大值了. 之后我们考虑如何给线段树加上一个重要度x,而且要求要能求出最大值.这里就想到STL中的大跟堆,其实set也行吧... 对于线段树中的每一个点都对应一个堆, 阅读全文
posted @ 2020-03-26 12:11 逆天峰 阅读(202) 评论(0) 推荐(0) 编辑
摘要:部落战争 刚看完题以为挺难的题..没想到一点开题解,哇..... 好吧,其实简化一下题意答案就出来了.一个军队会走若干个城镇,每个城镇只能被一个军队占领.要求将所有的城镇都占领的最小代价. 每个军队不就是相当于一条路径吗?其实就是选出最少的路径覆盖整个图.那不就是最小路径点覆盖.... #inclu 阅读全文
posted @ 2020-03-24 20:06 逆天峰 阅读(170) 评论(0) 推荐(0) 编辑
摘要:P4313 文理分科 在说这道题之前,让我们先思考一下最小割的性质.最小割就是使得s到t不同割掉的最小边的容量,割过之后,所有的点要么与s联通,要么与t联通. 这样的性质,即要么与s有关系,要么与t有关系的性质(非黑即白)就是典型的最小割的题目. 而这道题就显然,一个人要么选文,要么选理,没其他的选 阅读全文
posted @ 2020-03-23 09:51 逆天峰 阅读(175) 评论(0) 推荐(0) 编辑
摘要:P2774 方格取数问题 一看题目便知是网络流,但由于无法建图.... 题目直说禁止那些条件,这导致我们直接建图做不到,既然如此,我们这是就要逆向思维,他禁止那些边,我们就连那些边. 我们将棋盘染色,一个点向四周连边,我们的目标是使的这些边不起作用,我们将黑点与s联通,白点与t联通. 之后我们就要考 阅读全文
posted @ 2020-03-22 10:03 逆天峰 阅读(159) 评论(0) 推荐(0) 编辑
摘要:P2472 [SCOI2007]蜥蜴 自己第一道独立做题且一遍AC的网络流题纪念... 看到这道题我就想到网络流建图的方式了... 首先根据每个高度,我们将每个点拆成两个点限流.之后根据跳的最大距离,连边,最后能跳出边界的与t连边,跑最大流即可... 突然发现最大流与网格图好像有着某种联系... # 阅读全文
posted @ 2020-03-21 22:17 逆天峰 阅读(150) 评论(0) 推荐(0) 编辑
摘要:P1231 教辅的组成 这个题一看便知是网络流量,(三分图??滑稽..) 就一个小细节,如果我们仅仅将所有的点分成三部分跑网络流的话会有点小问题.. 因为这可能导致一本书被重复利用,就是有两条流经过同一本书,这样的话,我们就要通过限流的手段使得流经每本书的流只能是一. 我们将每本书拆成两个,再在两个 阅读全文
posted @ 2020-03-21 18:04 逆天峰 阅读(182) 评论(0) 推荐(0) 编辑
摘要:P2764 最小路径覆盖问题 典型的有向无环图求最小路径点覆盖,要求我们选出若干个简单路径,将所有的的点覆盖,且路径之间不能相交,求最少的路径条数... 我们考虑一个路径覆盖,每个点由于都被覆盖,所以他的入度,出度必然有一个为1.且最大为1. 我们之后考虑将每个点拆点,分成入度与出度两部分,分到两侧 阅读全文
posted @ 2020-03-21 11:20 逆天峰 阅读(191) 评论(0) 推荐(0) 编辑
摘要:「伪模板」主席树 果然,题目显示什么算法就绝对和什么算法没关系... 这个题建图挺显然的吧.... 这里重新思考一下建图的意义:源点向某个点连边表示某个点本来就有的属性,某个点向汇点连边,表示这个点向答案能造成的贡献和限制. 之后就是两侧的点连边... #include<bits/stdc++.h> 阅读全文
posted @ 2020-03-21 10:14 逆天峰 阅读(132) 评论(0) 推荐(0) 编辑
摘要:P2598 [ZJOI2009]狼和羊的故事 说真的,要多练练网络流的题了,这么简单的网络流就看不出来... 题目要求我们要求将狼和羊分开,也就是最小割,(等等什么逻辑...头大....) 我们这样想,最小割就是要求将源点与汇点不流通.如果我将羊和狼分别与源点,汇点弄起联系,这样最小割不就使得羊和狼 阅读全文
posted @ 2020-03-20 22:36 逆天峰 阅读(159) 评论(0) 推荐(0) 编辑
摘要:P4430 小猴打架 题目意思就是让你求,在网格图中(任意两点都有边)的生成树的个数(边的顺序不同也算不同的方案). 首先我们考虑一个生成树,由于一定有n-1条边,单单考虑添加边的顺序,根据乘法原理,第一条边有n-1个选择. 第二条边有n-2条选择,直至最后一条半只剩一个选择,所以只考虑边的顺序有! 阅读全文
posted @ 2020-03-20 21:14 逆天峰 阅读(103) 评论(0) 推荐(0) 编辑
摘要:P1119 灾后重建 floyd最短路题目,不过要深刻意识floyd算法的本质才行 好的博客 简单的来说,floyd本质就是枚举每一个点作为中转点来尝试优化两个点的距离. 而第一维枚举的k就是我们要尝试用的中转点. #include<bits/stdc++.h> #define ll long lo 阅读全文
posted @ 2020-03-20 20:33 逆天峰 阅读(111) 评论(0) 推荐(0) 编辑
摘要:虚树,顾名思义,就是假的树. 在树形dp中有很大的优化作用. 虚树主要针对于树中关键点的询问.我们仅仅对关键点及其lca建一棵树.这样只要保证sigmak在时间复杂度内即可. 以下是建树的模板 q=read(); for(int i=1;i<=q;++i) { num=read(); for(int 阅读全文
posted @ 2020-03-14 12:07 逆天峰 阅读(236) 评论(0) 推荐(0) 编辑
摘要:378. 骑士放置 考虑对棋盘染色. 行加列为奇数的为白色,剩下的为黑色 发现一个白色的棋子能攻击到的一定是黑色. 符合二分图,之后连边. 要求放最多的棋子,也就是说在二分图中选最多的点使得他们没有边. 最大独立集=n-最小顶点覆盖=n-最大匹配 伪证:选出最多的点没有边==n-选出最少的点覆盖所有 阅读全文
posted @ 2020-03-12 16:02 逆天峰 阅读(180) 评论(0) 推荐(0) 编辑
摘要:377. 泥泞的区域 二分图覆盖问题. 首先需要用宽度为1,长度任意的模板将泥地覆盖. 我们考虑每一个泥地,只有两个处理方式,要么是被一块横着的木板覆盖,要么是被一块竖着的木板覆盖. 那么我们考虑将横着的木板与竖着的木板分开建图,对于每一个泥地将所属的横木与竖木连边. 之后要求所有的泥地都要被覆盖, 阅读全文
posted @ 2020-03-12 15:22 逆天峰 阅读(176) 评论(0) 推荐(0) 编辑
摘要:352. 闇の連鎖 这道题挺妙的,说到底还是自己的思维不行啊.... 首先我们在拿到题目时,要深刻的对模型之类的东西进行运用... 一个树,加上m个非树边,第一次割掉树边,第二次割掉非树边,使得整个图不连通.问有多少个方案. 我们考虑一个树,加上一个边(x,y)。那x,y之间的路径加上这条边就形成一 阅读全文
posted @ 2020-03-11 18:51 逆天峰 阅读(123) 评论(0) 推荐(0) 编辑
摘要:P2680 运输计划 首先看到最大的最小要想到二分 之后考虑check.. 我们将道路长度>mid的标记,找出被所有道路标记的边,去掉其中最大的,之后再和mid比较即可. #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC opti 阅读全文
posted @ 2020-03-09 22:10 逆天峰 阅读(108) 评论(0) 推荐(0) 编辑
摘要:P2120 [ZJOI2007]仓库建设 怎么说呢?算是很水的题了吧... 只要不要一开始就把dp想错就行... #include<bits/stdc++.h> #define ll long long using namespace std; const int N=1e6+10; const l 阅读全文
posted @ 2020-03-09 19:40 逆天峰 阅读(101) 评论(0) 推荐(0) 编辑
摘要:376. 机器任务 最小点覆盖==最大匹配. 最小点的覆盖由于所有的边,所以对于每一个边来说,两边的点至少要选一个.. 这就是最小点覆盖的2性质... 针对于这道题我们思考对于每个任务,要求a[i],b[i]至少要有一个模式,所以我们就将a的模式放一边,b的模式放一半,对于每一个任务连边 最后做最大 阅读全文
posted @ 2020-03-09 16:13 逆天峰 阅读(201) 评论(0) 推荐(0) 编辑
摘要:375. 蚂蚁 首先我们需要将题意转换成我们能处理的意思: 不想交==最短 如此图,a与d,b与c相连则会相交,由于相交所以必有1+2+3+4>5+6,所以a与c,b与d距离最短切不想交 由于相交不然会出现上图的三角形,所以我们控制总和最小,则必不相交... 之后我们跑二分图带权最小即可. 这里用的 阅读全文
posted @ 2020-03-09 15:07 逆天峰 阅读(234) 评论(0) 推荐(0) 编辑
摘要:374. 导弹防御塔 挺好的题... 我们首先要求最小的时间,先想到二分.之后将问题转换为判定性问题.. 考虑我们知道一个时间mid,考虑如何判断能否将全部的敌人都杀死.. 首先对于每一个防御塔,我们可以算出他发射了多少个导弹.. 之后我们分析,每一个导弹只能大众一个敌人,一个敌人只能被一个导弹打到 阅读全文
posted @ 2020-03-09 14:28 逆天峰 阅读(143) 评论(0) 推荐(0) 编辑
摘要:373. 車的放置 算是行列建图的模板题吧... 带着这道题和上一道题,我们好好思考一下二分图建图的本质. 这样有利于我们那道题目后以什么依据划分出两个点集. 刚才提到过二分图0,1的性质. 那我们先看这道题的模型转换.. 首先我们放一个车在(i,j)处,那么第i行,第j列就不能放其他的车了,也就是 阅读全文
posted @ 2020-03-08 20:36 逆天峰 阅读(290) 评论(0) 推荐(0) 编辑
摘要:372. 棋盘覆盖 挺好的一题,提出了二分图一般的解题思路... 由于二分图分为左右两个不同的点集,所以保证1和0的性质. 1:即左边的点最多与右边的一个点相连. 0:即同侧的点不可能相连. 我们观察这道题。如果将棋盘染色,行列相加为奇数为黑色,偶数为白色.这样就可以讲点分成两类. 显然同色的点不可 阅读全文
posted @ 2020-03-08 20:15 逆天峰 阅读(158) 评论(0) 推荐(0) 编辑
摘要:引水入城 挺好的题.. 首先可以思考到将第一行每一个点作为bfs的起点找出他能到的干旱地区,之后就想着状压...结果发现500根本压不下来... 那我们就要找点性质让我们可以DP.... 之后就知道了每一个水库覆盖着干旱地区一定是连续的区间,因为如果连续,就一定会有交叉,之后就可以被一个水库代替.. 阅读全文
posted @ 2020-03-07 16:44 逆天峰 阅读(143) 评论(0) 推荐(0) 编辑
摘要:[SDOI2016]征途 这个就当做斜率优化的模板吧.. #include<bits/stdc++.h> #define ll long long using namespace std; const int N=3010; ll f[N][N],a[N],l,r,q[N],n,m,sum[N]; 阅读全文
posted @ 2020-03-06 22:30 逆天峰 阅读(166) 评论(0) 推荐(0) 编辑

作者:逆天峰
出处:https://www.cnblogs.com/gcfer//