上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 68 下一页
摘要: 首先肯定是想着贪心选越大越好,问题是如何去检查当前选这个是否满足题意。我们可以对后面的进行判断 已知当前的余数是t,那么我们要检查3-t能否通过后面的组合选到,因为现在有3种数,我们考虑先固定一个数。 那么剩下两个数就是两个变量,并且需要满足两个等式,因此我们可以将1个变量通过约束条件算出他的等式。 阅读全文
posted @ 2020-09-10 21:40 朝暮不思 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 比较简单,如果直观的建图的话,记录一下费用流模板 #include<bits/stdc++.h> using namespace std; const int N=3e5+10; const int inf=0x3f3f3f3f; int h[N],ne[N],e[N],idx,w[N],f[N]; 阅读全文
posted @ 2020-09-09 23:04 朝暮不思 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 首先观察到答案具有单调性,可以二分答案判断。 至于判断方式,可以采用是否符合满流判断是否可以达到目的。 #include<bits/stdc++.h> #define int long long using namespace std; typedef long long ll; typedef u 阅读全文
posted @ 2020-09-09 21:26 朝暮不思 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 有关于wqs二分的问题,一般伴随着选指定个数的数量,且数量选取的多少和方法都会影响答案的一种问题。 这种问题一般都具有凸性,也就是斜率单增单减,这样我们就可以套上wqs二分来优化。 这基于的原理可以观看wqs本人的论文。 对于这题,我们发现选取白边的数量对答案是由影响的,也可以证明他确实具有凸性。 阅读全文
posted @ 2020-09-09 17:12 朝暮不思 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 这道题抽象出来的问题是,对于每一对点,如果他们的a区间不相交,那么他们的b区间一定相交,反之亦然。 这启发我们可以枚举每个点的a区间,查找是否b区间相交。 快速找到与每个点的a区间相交的办法就是按右端点排序后,在i之前的右端点大于i的左端点的这段区间,我们不必关注i之后的点,因为这些对会在后面的时候 阅读全文
posted @ 2020-09-09 15:03 朝暮不思 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 比较考验思维,考虑使用01trie先将数字建立trie,每次存在一下异或的结果。 对于异或出来的值,在01trie上贪心的找,如果能找到和他当前位相等的值时,判断一下他的子树中的数字是否满足前面所有的数都在 如果都在,说明答案要大,如果不在,说明就在当前子树 #include<bits/stdc++ 阅读全文
posted @ 2020-09-08 21:51 朝暮不思 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 这个算法是因为借用了kruscal合并并查集集合维护连通性,并且重建树不破坏结构得名。 具体的思想是: 我们按照边权排序(本题从大到小排序) 我们在不断合并集合的同时,每次合并两个集合的祖先,都建立一个虚拟原点,使得这个点指向两个祖先,并且边权等于点权。这就是kruscal重构树,本质上是一个二叉堆 阅读全文
posted @ 2020-09-08 14:57 朝暮不思 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 根据题目要求,首先最左边的情况直接维护即可。问题是如何知道何时最靠后。 一个朴素的想法是模拟这个过程,把这个数提到最前面,那么每次都对每个数查询一下在他前面的数量最多是多少。 这其实就是单点修改+区间查询,因此我们想到使用树状数组来维护。其实我们不用每次都对每个点查询。我们只需要对每次询问的点查一遍 阅读全文
posted @ 2020-09-08 10:10 朝暮不思 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 不要被假象迷惑,其实这是一道区间dp,如果过多的考虑怎么放长方形就容易进入误区。 我们考虑一个dp状态表示f[][][][],将一个长方形中所有的点变成”."的最小代价,之后枚举行列进行区间dp,这其中其实已经做好了划分长方形的工作。 #include<bits/stdc++.h> using na 阅读全文
posted @ 2020-09-07 22:49 朝暮不思 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 一个经验是,这种询问两种有些互斥的情况的构造题,往往都是有解的,CF出过很多类似题,特别是给定了一些奇怪的点数,例如倍数之类的 往往一种情况取反就是另一种情况,以前有些dfs树上找环也是这种题,不过更难一些 话说回来,对于这题,我们可以考虑在加边的时候,对于边两端,如果两个点都没标记过,就标记一下, 阅读全文
posted @ 2020-09-07 22:03 朝暮不思 阅读(188) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 68 下一页