(环的最大匹配方式有多种这里不予讨论) 设最大匹配数为K ,点数为N 最小点覆盖集:就是用最少的点集G,使这个图上的所有线段的左端点或右端点属于G 证明: 由于所有最大匹配的线段都不相交,只要取左端点或右端点就可以,所以最大匹配的每一个线段都对应了一个点,一共有K个 因为是最大匹配,不存在增广路,当 ...
分类:
其他好文 时间:
2020-07-29 22:00:40
阅读次数:
84
题目链接 维护一个单点修改,区间查询的数据结构,树状数组和线段树均可以。 我写了树状数组。 #include<bits/stdc++.h> using namespace std; #define lowbit(x) (x & (-x)) char s[10]; int n; long long c ...
分类:
其他好文 时间:
2020-07-29 21:56:16
阅读次数:
86
https://www.cnblogs.com/wzx-RS-STHN/p/13399157.html 关于二分图结论的一些证明 (环的最大匹配方式有多种这里不予讨论) 设最大匹配数为K ,点数为N 最小点覆盖集:就是用最少的点集G,使这个图上的所有线段的左端点或右端点属于G 证明: 由于所有最大匹 ...
分类:
其他好文 时间:
2020-07-29 21:55:21
阅读次数:
83
题目链接 线段树,单点修改,区间最大值查询。 #include<bits/stdc++.h> using namespace std; const int N = 2e5 + 10; int n,m; #define mid ((l + r) >> 1) #define ls (nod << 1) ...
分类:
其他好文 时间:
2020-07-29 21:53:09
阅读次数:
77
题目链接 线段树区间修改,每个数均加上一个值。区间查询和。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<string> #include<cmath> using namespa ...
分类:
其他好文 时间:
2020-07-29 21:42:43
阅读次数:
65
http://uoj.ac/problem/217 题解: 考虑查询一个区间,遍历到的叶子一定是右儿子、右儿子、……、左儿子、左儿子。 反过来,值域连续的这样的若干节点也唯一对应一个区间。 所以右儿子给值域相邻的右、左儿子连边,左儿子只给左儿子连边,问题相当于最小路径覆盖(每个点可以被覆盖无限次,有 ...
分类:
其他好文 时间:
2020-07-29 21:36:48
阅读次数:
66
线段树or优先队列+dp E. Lunar New Year and Red Envelopes 题目大意: 题解: \(dp[i][j]\) 表示到时间 \(i\) 打扰了 \(j\) 次获得的最少的硬币数量 因为如果这个时间点有东西拿,那么必须按照策略拿,先预处理每一个时间点如果要拿的东西,然后 ...
分类:
其他好文 时间:
2020-07-29 14:52:00
阅读次数:
69
在一个 n*n 的平面上,在每一行中有一条线段,第 i 行的线段的左端点是(i, L(i)),右端点是(i, R(i)),其中 1 ≤ L(i) ≤ R(i) ≤ n。 你从(1, 1)点出发,要求沿途走过所有的线段,最终到达(n, n)点,且所走的路程长度要尽量短。 更具体一些说,你在任何时候只能 ...
分类:
其他好文 时间:
2020-07-29 09:55:24
阅读次数:
72
LINK:Druzyny 这题研究了一下午 终于搞懂了. $n^2$的dp很容易得到. 考虑优化.又有大于的限制又有小于的限制这个非常难处理. 不过可以得到在限制人数上界的情况下能转移到的最远端点 且这个数组是单调的. 而下界是随意的. 这个可以利用单调队列做 也可以暴力线段树. 然后考虑怎么优化 ...
分类:
其他好文 时间:
2020-07-28 22:54:01
阅读次数:
115
####一句话:树状数组NB QWQ日常操作:一些乱七八糟的话 老实说,之前没有学到树状数组的时候,手边只有线段树这个工具。感觉还是蛮好用的?就一直没有去学。后来一个偶然的机会,我做到了一道题,又偶然的看了这道题的树状数组的解法,从此走上了不归路。(啊这...) 其实真的去说,开始没有接触到树状数组 ...
分类:
编程语言 时间:
2020-07-28 22:48:47
阅读次数:
79