上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 68 下一页
摘要: 这题转化太巧妙,将边权转化成点权,根据性质,在一个环内,每个点都会影响两条边,也就是说,将两点之间的边权设置为两个点权的异或值,那么答案肯定为0.因为每个点都异或两次 这样的话,假如没有设计过某些边权,那么答案就是所有点的取值/2,因为当所有0变成1所有1变成0,那么边权是一毛一样的。 考虑有某些边 阅读全文
posted @ 2020-05-29 18:23 朝暮不思 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 首先看到题目求最小覆盖,应该可以想到是贪心类的问题 题目要求覆盖所有骨龙,首先所有骨龙都会在一段区间内被覆盖,我们可以算出每个骨龙的这段距离。 之后就是求有多少个点可以将这些区间全部覆盖,这是贪心的经典问题。 显然是先排序,以第一个点的右端点为初始值,往下遍历,如果某个左端点大于他,那么更新为当前的 阅读全文
posted @ 2020-05-29 16:21 朝暮不思 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 签到题,这题我们要求的是最小的覆盖所有不同点的长度 因此可以考虑双指针维护,我们先算出不同的个数,之后l和r都为1 当不够大的时候r向外,当相等的时候l往左,这样就可以遍历到所有能够达到要求的区间了 #include<bits/stdc++.h> using namespace std; typed 阅读全文
posted @ 2020-05-29 15:30 朝暮不思 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 对于这题,可以考虑离散化后用树状数组维护+-并且维护两点之间的个数,之后二分求取第一个离散化后两点之前的个数不等于离散化前的个数。 这说明中间有些没在集合里面。这样就能获得答案。 如果答案等于查询点,说明当前点就不在集合,不然的话,就是查询点+1。 #include<bits/stdc++.h> u 阅读全文
posted @ 2020-05-28 23:33 朝暮不思 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 有些题目可以进行二维dp,当然这题用四维也可以做。 我们先做每一行,f[][][],表示第i个用j次,涂前k个的最大值。 做完后,可以把它看作分组背包问题,每个木板都是一个物品,再跑一边dp即可 #include<bits/stdc++.h> using namespace std; const i 阅读全文
posted @ 2020-05-28 12:58 朝暮不思 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 这题的比较关系是有线性关系的,因此设计状态为以第i结尾的个数是多少个,这样可以通过线性递推的方式实现 初始化每个都是1 #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorithm> 阅读全文
posted @ 2020-05-27 17:38 朝暮不思 阅读(208) 评论(0) 推荐(0) 编辑
摘要: #include<bits/stdc++.h> using namespace std; const int N=4e5+10; typedef long long ll; int n,m,r,p; int id[N],w[N],pre[N],top[N],h[N],e[N],ne[N],idx,t 阅读全文
posted @ 2020-05-27 14:37 朝暮不思 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 边双的经典例题,动态加边只需要在加边的两点网上求父节点到lca,将其中的的桥去掉后路径压缩 #include<bits/stdc++.h> using namespace std; const int N=4e5+10; int isce[N],h[N],ne[N],e[N],idx; int df 阅读全文
posted @ 2020-05-26 20:27 朝暮不思 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 无向图缩点的low值定义是经过一条B边能够到的点的dfn的最小值 如果low[v]>=low[u],说明有割点,但是要特判树边,如果low[v]>low[u],说明是有割边,但是要特判重边,本题很显然边双里的点都是不必要的 只有桥是必要的,先缩点之后跑一下lca #include<bits/stdc 阅读全文
posted @ 2020-05-26 08:59 朝暮不思 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 对于存在不可能情况的构造题,我们的思路一般都是找到不存在的情况后,再进行构造。 这题首先能看出来的是,不能存在两个黑色之间有白色,因为这样一定会有一个黑色被吸引 在上面的情况下,如果存在某一列或某一行都是白的,但是没有与之对应的空白行列,那么也是非法的 满足了上面的情况下。答案就是连通块的数量,因为 阅读全文
posted @ 2020-05-24 21:56 朝暮不思 阅读(208) 评论(0) 推荐(0) 编辑
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 68 下一页