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个雕塑在圆周 ...
随机推荐
- 删除maven项目后eclipse无法启动
An internal error occurred during: "reload maven project". java.lang.NullPointerExceptio ...
- CSS:CSS 背景
ylbtech-CSS:CSS 背景 1.返回顶部 1. CSS 背景 CSS 背景属性用于定义HTML元素的背景. CSS 属性定义背景效果: background-color background ...
- PAT_A1016#Phone Bills
Source: PAT A1016 Phone Bills (25 分) Description: A long-distance telephone company charges its cust ...
- 拾遗:Go 单元测试
概念 回归测试:是指修改了旧代码之后,重新进行测试,以确保修改没有引入新的错误或导致其它代码产生错误: 单元测试:是指对软件中的最小可测试单元(单个函数或类)进行检查和验证 Test-Driven D ...
- cesium相关学习网址
cesium相关学习网址: cesium资料大全网址:https://www.cnblogs.com/cesium1/p/10062942.html http://192.168.101. ...
- certbot免费证书
yum install python-certbot-nginx 开启防火墙443端口 firewall-cmd --add-port=443/tcp --permanent 别忘了重启 firewa ...
- vim对行进行排序
vim自带排序函数sort, 在命令行模式下执行:help sort 可查看其具体用法,摘录如下: Vim has a sorting function and a sorting command. ...
- log4j.properties的详细配置
log4j.properties的详细配置 log4j.properties的maven配置 <dependency> <groupId>org.scala-lang</ ...
- Linux基本知识点
压缩和解压类 7.8.1 gzip/gunzip 压缩 1.基本语法 gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件) gunzip 文件.gz (功能描述:解压缩文件命令) 2. ...
- Windows进程调度相关
结构体所在环境: Windows XP Version 2600 (Service Pack 3) UP Free x86 compatible EPROCESS: ntdll!_EPROCESS + ...