https://codeforces.com/contest/1132/problem/C

采用逆向思维,要求最大的覆盖,就先求出总的覆盖,然后减去删除两个人贡献最少的人

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> p[];
int con2[][],con1[];//一维数组:这个人的贡献,二维数组:这两个人共同的贡献
int main(){
int n,q;
cin>>n>>q;
int a,b;
for(int i=;i<=q;i++){
cin>>a>>b;
for(int j=a;j<=b;j++){
p[j].push_back(i);//记录覆盖这个点的人
}
}
int total=;
for(int i=;i<=n;i++){
int m=p[i].size();
if(m)
total++;//算出覆盖的总数
if(m==){//当前的点只有一个人覆盖的话,就算这个人的贡献
con1[p[i][]]++;
}
else if(m==){//有两个人覆盖的话,就算两个人的共同的贡献
con2[p[i][]][p[i][]]++;
con2[p[i][]][p[i][]]++;
}//如果有两个以上的话,就不算贡献了,因为及时删除两个人这个点还是被覆盖的
}
int minn=INT_MAX;
//遍历每两个点
for(int i=;i<=q;i++){
for(int j=i+;j<=q;j++){
minn=min(minn,con1[i]+con1[j]+con2[i][j]);//求出两个点的最小贡献
}
}
cout<<total-minn<<endl;
return ;
}

Educational Codeforces Round 61 Editorial--C. Painting the Fence的更多相关文章

  1. Educational Codeforces Round 61

    Educational Codeforces Round 61 今早刚刚说我适合打pikmike出的EDU 然后我就挂了 A 不管 B 不管 C 这道题到快结束了才调出来 大概就是\(n^2\)枚举不 ...

  2. Educational Codeforces Round 61 (Rated for Div. 2)

    A. Regular Bracket Sequence 题意:给出四种括号的数量 ((  )) ()  )( 问是否可以组成合法的序列(只能排序不能插在另外一个的中间) 思路: 条件一:一个或 n个) ...

  3. CF1132.Educational Codeforces Round 61(简单题解)

    A .Regular Bracket Sequence 题意:给定“((” , “()” ,  “)(”,  “))”四种,问是否可以组成合法括号匹配 思路:设四种是ABCD,B可以不用管,而C在A或 ...

  4. Educational Codeforces Round 61 (Rated for Div. 2)-C. Painting the Fence 前缀和优化

    题意就是给出多个区间,要求去掉两个区间,使得剩下的区间覆盖范围最大. 当然比赛的时候还是没能做出来,不得不佩服大佬的各种姿势. 当时我想的是用线段树维护区间和,然后用单点判0,维护区间间断个数.然后打 ...

  5. Educational Codeforces Round 61 F 思维 + 区间dp

    https://codeforces.com/contest/1132/problem/F 思维 + 区间dp 题意 给一个长度为n的字符串(<=500),每次选择消去字符,连续相同的字符可以同 ...

  6. Educational Codeforces Round 61 D 二分 + 线段树

    https://codeforces.com/contest/1132/problem/D 二分 + 线段树(弃用结构体型线段树) 题意 有n台电脑,只有一个充电器,每台电脑一开始有a[i]电量,每秒 ...

  7. Educational Codeforces Round 61 C 枚举 + 差分前缀和

    https://codeforces.com/contest/1132/problem/C 枚举 + 差分前缀和 题意 有一段[1,n]的线段,有q个区间,选择其中q-2个区间,使得覆盖线段上的点最多 ...

  8. Educational Codeforces Round 61 (Rated for Div. 2) D,F题解

    D. Stressful Training 题目链接:https://codeforces.com/contest/1132/problem/D 题意: 有n台电脑,每台电脑都有初始电量ai,也有一个 ...

  9. Educational Codeforces Round 68 Editorial

    题目链接:http://codeforces.com/contest/1194                                            A.Remove a Progre ...

随机推荐

  1. Idea使用maven搭建SpringMVC框架

    https://www.cnblogs.com/shang-shang/p/7477607.html

  2. 【LOG4J】ログ出力の設定方法

    参考URL: https://blog.csdn.net/zhengtaoit66/article/details/79551945 https://www.cnblogs.com/lujiango/ ...

  3. PCIE错误分析

    前面的文章提到过,PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误.其中PERR#主要对应的是普通数据奇偶校检错误(Parity Error),而SERR#主要对应的是系统错误(S ...

  4. 关于@JsonIgnore的理解

    首先:@JsonIgnore是一个能够在后端发送给前端数据的时候对后端发送出的json字符串能够发挥作用的一个注解 如果比如user表,你在password这个属性上添加@JsonIgnore,就会s ...

  5. java实验环境搭建,eclise下载与使用

    一.1.官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后安装,默认安装即可. 2.在 wind ...

  6. C#使用CefSharp开源库开发Chrome 浏览器

    一.介绍        这个东西我以前没有接触过,但是公司项目里面有用到这个东西,所以就顺便研究一下.今天只是做了 WinForm 的测试,有时间了在试试 WPF 是如何实现的.刚开始一塌糊涂,有点麻 ...

  7. 安装mitmproxy

    https://www.jianshu.com/p/1dd40826113b 先连接到同一个局域网,再访问官网下载描述文件

  8. c# maiform父窗体改变动态的gridew 奇偶行变色的快捷方法

    无需在每个usercontrol里边单个指定控件内gridview  隔行换色.只需要在主窗体内改成统一就好了 做到这点要明白.gridcontrol 是usercontrol 的子控件 , grid ...

  9. mvc @html.action() 跨area调用controller 中的action

    @{Html.RenderAction("ActionName", "ControllerName", new { area = "Manager&q ...

  10. HTML页面使用layer弹出框输入数据

    javascript中layer是一款近年来备受青睐的web弹层组件,layer.open对弹出框进行输入信息,并处理返回结果.详细介绍http://layer.layui.com/ 部署:将laye ...