NEERC 1999 Advertisement /// oj22646
题目大意:
输入k,n ;k为每位慢跑者最少应看到的广告牌数
接下来n行 描述第 i 位慢跑者的途径路段
输出需要设立的广告牌数 接下来每行为设立地点
5 10
1 10
20 27
0 -3
15 15
8 2
7 30
-1 -10
27 20
2 9
14 21
19
-5
-4
-3
-2
-1
0
4
5
6
7
8
15
18
19
20
21
25
26
27
题解:https://blog.csdn.net/shuangde800/article/details/7828537
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<stdlib.h>
#include<cstring>
using namespace std;
struct num
{
int a,b;
bool operator<(const num& p)const {
return b<p.b;
};
}jog[];
bool vis[];
int main()
{
int n,k;
while(~scanf("%d%d",&k,&n))
{
int st=,ed=,ans=;
for(int i=;i<n;i++)
{
int p,q; scanf("%d%d",&p,&q);
jog[i].a=min(p,q)+;
jog[i].b=max(p,q)+;
st=min(st,jog[i].a);
ed=max(ed,jog[i].b);
}
sort(jog,jog+n);
// for(int i=0;i<n;i++)
// printf("%d %d %d\n",jog[i].a-10000,jog[i].b-10000,jog[i].b-jog[i].a);
memset(vis,,sizeof(vis));
for(int i=;i<n;i++)
{
int len=jog[i].b-jog[i].a+;
if(len<=k)
{
for(int j=jog[i].a;j<=jog[i].b;j++)
if(!vis[j]) vis[j]=,ans++;
}
else
{
int cnt=;
for(int j=jog[i].a;j<=jog[i].b;j++)
if(vis[j]) cnt++;
if(cnt>=k) continue;
for(int j=jog[i].b;j>=jog[i].a;j--)
if(!vis[j])
{
vis[j]=; cnt++; ans++;
if(cnt>=k) break;
}
}
}
printf("%d\n",ans);
for(int i=st;i<=ed;i++)
if(vis[i]) printf("%d\n",i-);
printf("\n");
}
return ;
}
NEERC 1999 Advertisement /// oj22646的更多相关文章
- NEERC 1999 Divisibility /// 同余DP oj22640
题目大意: 输入n,m: ( 1 ≤ N ≤ 10000, 2 ≤ M ≤ 100 ) 接下来n个数:Each integer is not greater than 10000 by it's ab ...
- 【POJ 2572 Advertisement】
Time Limit: 1000MSMemory Limit: 10000K Total Submissions: 947Accepted: 345Special Judge Description ...
- 尽量不要用ad,adv···,advertisement 这些关键词命名
html dom,文件夹名称,文件名称·······,都尽量不用ad,adv···,advertisement 这些关键词! 为嘛呢? 因为会被浏览器的广告插件自动给屏蔽掉. 我的网站中有一个广告管 ...
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror) in codeforces(codeforces730)
A.Toda 2 思路:可以有二分来得到最后的数值,然后每次排序去掉最大的两个,或者3个(奇数时). /************************************************ ...
- 【2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D】---暑假三校训练
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D Problem D. Distribution in Metagonia Input ...
- uva 11983 Weird Advertisement 扫描线
Weird Advertisement Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/probl ...
- 【区间选点问题】uva 10148 - Advertisement
区间选点问题,即数轴上有n个闭区间[l1i, ri],取尽量少的点,使得每个区间内都至少有一个点. The Department of Recreation has decided that it m ...
- 【中途相遇+二进制】【NEERC 2003】Jurassic Remains
例题25 侏罗纪(Jurassic Remains, NEERC 2003, LA 2965) 给定n个大写字母组成的字符串.选择尽量多的串,使得每个大写字母都能出现偶数次. [输入格式] 输入包含 ...
- 【贪心】【POJ3154】墓地雕塑(Graveyard, NEERC 2006, LA 3708)需要稍稍加工的(先贪心,再确保能这样贪(可行性&&如果可行必定最优&&非证明最优性)的题)(K)
例题4 墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周 ...
随机推荐
- IdentityServer4认证服务器集成Identity&配置持久化数据库
文章简介 asp.net core的空Web项目集成相关dll和页面文件配置IdnetityServer4认证服务器 Ids4集成Identity Ids4配置持久化到数据库 写在最前面,此文章不详细 ...
- 剑指offer——41数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- Java.util.ArrayDeque类
java.util.ArrayDeque 类提供了可调整大小的阵列,并实现了Deque接口.以下是关于阵列双端队列的要点: 数组双端队列没有容量限制,使他们增长为必要支持使用. 它们不是线程安全的;如 ...
- [已解决]报错:ValueError: Expected 2D array, got scalar array instead
报错代码: new_x = 84610 pre_y = model.predict(new_x) print(pre_y) 报错结果: ValueError: Expected 2D array, g ...
- bzoj1036 树的统计 树链剖分模板
题意:给出树上任意两点,求路径上的值的和与最大值,带单点修改操作 树链剖分思路: 1.对树进行dfs求出点的深度和父亲节点,然后求出轻重儿子(重儿子就是点最多的那个子树,其余都是轻儿子),用一个son ...
- Xn数列
题目描述 Description 给你6个数,m, a, c, x0, n, g Xn+1 = ( aXn + c ) mod m,求Xn m, a, c, x0, n, g<=10^18 输 ...
- ASP.NET 中 ContentType 类型
在ASP.NET中使用Response.ContentType="类型名";来确定输出格式 不同的ContentType 会影响客户端所看到的效果.默认的ContentType为 ...
- python 基本输入输出
- php7 安装时需求的依赖包
php70 php70-bcmath php70-cli php70-common php70-devel php70-fpm php70-gd php70-json php70-mbstring p ...
- scip 练习2.20
(define (same-parity x . z) (define (q? y) (= (remainder y ) )) (define (o? y) (= (remainder y ) )) ...