Day3-B-Round Marriage CodeForces-981F】的更多相关文章

[CF981F]Round Marriage(二分答案,二分图匹配,Hall定理) 题面 CF 洛谷 题解 很明显需要二分. 二分之后考虑如果判定是否存在完备匹配,考虑\(Hall\)定理. 那么如果不合法,假设我们存在一个极小的集合满足连到右侧的点数小于集合大小.因为是极小的,所以删去一个点之后就可以匹配,那么意为着某个点连出去的点和其他所有点有交,既然有交,那么一定这一段区间都可以加入进来形成一个不合法的集合.所以我们可以把存在一个点集不合法变成存在一段连续区间不合法. 假设每个点连向另外一…
Codeforces Beta Round #27 (Codeforces format, Div. 2) http://codeforces.com/contest/27 A #include<bits/stdc++.h> using namespace std; #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define sqr(x) ((x)*(x)) #define maxn 1000005 typ…
Description 一个长度为 \(L\) 的环上有 \(n\) 个黑点和 \(n\) 个白点 , 你需要把黑点和白点配对 , 使得配对点的最大距离最小 , 最小距离定义为两点在环上的两条路径的最小值. 题面 Solution 二分一个答案 , 把距离小于答案的连边 , 现在要判断是否存在完美匹配. 运用 \(Hall\) 定理 , 这题对于所有区间满足 \(Hall\) 定理 , 就满足 \(Hall\) 定理. 对于一段白点区间 \([l,r]\) 我们设他们能匹配到的黑点对应的区间是…
这题拖了快一周_(:з」∠)_就把这货单独拿出来溜溜吧~ 本文归属:Educational Codeforces Round 3 题目链接:609F - Frogs and mosquitoes 题目大意:在\(x\)轴上有\(n\)只青蛙,每只青蛙有对应的位置\(x_i\)和他舌头的长度\(t_i\),青蛙可以吃到位置在\([x_i,t_i]\)内的蚊子.\(m\)只蚊子依次降落在位置\(p_i\)上,如果这只蚊子在某只青蛙的攻击范围内,那么他会被这只青蛙吃掉,若有多只青蛙可以吃掉这只蚊子,处…
题目链接:http://codeforces.com/problemset/problem/20/C 思路:需要用优化过的dijkstra,提供两种写法. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <queue> #include <set> #define…
C. Did you mean... time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard output Beroffice text editor has a wide range of features that help working with text. One of the features is an automatic search…
B. Which floor? time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard output In a building where Polycarp lives there are equal number of flats on each floor. Unfortunately, Polycarp don't remember how…
A. k-rounding time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard output For a given positive integer n denote its k-rounding as the minimum positive integer x, such that x ends with k or more zeros i…
这题调得我心疲力竭...Educational Round 5就过一段时间再发了_(:з」∠)_ 先后找了三份AC代码对拍,结果有两份都会在某些数据上出点问题...这场的数据有点水啊_(:з」∠)_[然而卡掉本弱还是轻轻松松的] 题目链接:616F - Expensive Strings 题目大意:给出\(n\)个字符串\(t_i\)以及\(n\)个数\(c_i\),定义\(p_{s,i}\)为字符串\(s\)在\(t_i\)中出现的次数,\(f(s)=\sum_{i=1}^{n}c_i\cdo…
这题本来是想放在educational round 3的题解里的,但觉得很有意思就单独拿出来写了 题目链接:609E - Minimum spanning tree for each edge 题目大意:n个点,m条边,对每条边,询问包含此边的最小生成树的边权之和 题解:大部分人都是用LCA写的,这里提供一个更为精妙的做法. 模拟Kruskal算法建MST的过程,先将m条边按边权排序,依次进行判断.若点对(u,v)属于同一个连通块,则加入边{u,v,w}后会形成一个环,把环中最大的边换成w会多产…