[HAOI2014]贴海报
时间:2019-09-21
本文章向大家介绍[HAOI2014]贴海报,主要包括[HAOI2014]贴海报使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目描述
Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论。为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙。
张贴规则如下:
electoral墙是一个长度为N个单位的长方形,每个单位记为一个格子;
所有张贴的海报的高度必须与electoral墙的高度一致的;
每张海报以“A B”表示,即从第A个格子到第B个格子张贴海报;
后贴的海报可以覆盖前面已贴的海报或部分海报。
现在请你判断,张贴完所有海报后,在electoral墙上还可以看见多少张海报。
输入格式
第一行: N M 分别表示electoral墙的长度和海报个数
接下来M行: Ai Bi 表示每张海报张贴的位置
输出格式
输出贴完所有海报后,在electoral墙上还可以看见的海报数。
不太敢相信这是一道绿题。。。
各位大佬的题解都太正确了,我就给一篇最暴力的吧!
海报用k表示,每次新的一张则通过k++来区别。
在[a,b]的区间内,给每一个t[i]都赋值为新的k(原有值的覆盖掉)。
判断[1,n]是否全被覆盖。是则令w=0,否则w=1。(最后要减掉w)。
如果有不同的海报露出来(即g[i]有不同的值出现),sum++(计数)。
sum-w即为答案。
本以为是一道线段树,结果被骗了。
#include<bits/stdc++.h>
#define maxn 10000009
using namespace std;
long long int n,m,sum,w,k;
int t[maxn],g[maxn];
template<typename T>
void read(T &x){
x=0;int f=1;char ch=getchar();
while(ch>'9'||ch<'0'){
if (ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
x*=f;
}
int main(){
read(n),read(m);
for (int i=1;i<=m;i++){
int a,b;
read(a),read(b);
k++;//更新k。
for (int j=a;j<=b;j++)
t[j]=k;//在[a,b]的区间内,给每一个t[i]都赋值为新的k(原有值的覆盖掉)。
}
for (int i=1;i<=n;i++){
if(t[i]==0){
w=1;break;//判断[1,n]是否全被覆盖。是则令w=0,否则w=1。(最后要减掉w)。
}
}
for (int i=1;i<=n;i++){
if(g[t[i]]==0){
sum++;g[t[i]]=1;//如果有不同的海报露出来(即g[i]有不同的值出现),sum++(计数)。
}
}
cout<<sum-w;//sum-w即为答案。
return 0;
}
原文地址:https://www.cnblogs.com/zhangdading/p/11564797.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- NumPy 数据归一化、可视化
- 迭代器怎么就节省内存了?
- Go 多版本管理
- 空谈分布式系统设计之幂等性
- 空谈发件箱模式(outbox pattern)
- 《一起学sentinel》六、Slot的子类及实现之FlowSlot和DegradeSlot
- Hive UDF/UDAF 总结
- 3分钟短文:用Laravel发一封“漂洋过海”的电子邮件
- leetcode之单词替换
- KMP算法分析
- Spring Boot 系列:最新版优雅停机详解
- 前端学数据结构与算法(八): 单词前缀匹配神器-Trie树的实现及其应用
- 突击并发编程JUC系列-Locksupport 与 Condition
- 01.视频播放器框架介绍
- C#扫描器编写各种问题荟萃