博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 10020 Minimal coverage (greedy)
阅读量:6862 次
发布时间:2019-06-26

本文共 1413 字,大约阅读时间需要 4 分钟。

  Classical greedy problem!

The Code: 

View Code
1 typedef pair
PII; 2 typedef vector
VPII; 3 #define REP(i, n) for (int i = 0; i < (n); i++) 4 5 VPII rec, out; 6 7 void input() { 8 rec.clear(); 9 int x, y;10 while (~scanf("%d%d", &x, &y) && (x || y)) rec.PB(MPR(x, y));11 }12 13 bool work(int n) {14 if (!SZ(rec)) return false;15 sort(ALL(rec));16 int mk = -1, L = 0;17 out.clear();18 REP(i, SZ(rec)) {19 if (rec[i].FI > L) {20 if (mk == -1 || (rec[mk].SE < rec[i].FI) && (rec[mk].SE < n)) return false;21 out.PB(rec[mk]);22 if (rec[mk].SE >= n) return true;23 L = rec[mk].SE;24 mk = i;25 }26 if (~mk) {27 if (rec[i].SE > rec[mk].SE) mk = i;28 } else mk = i;29 }30 if (rec[mk].SE >= n) {31 out.PB(rec[mk]);32 return true;33 }34 return false;35 }36 37 int main() {38 int n, T;39 scanf("%d", &T);40 while (T-- && ~scanf("%d", &n)) {41 input();42 if (work(n)) {43 printf("%d\n", SZ(out));44 REP(i, SZ(out)) printf("%d %d\n", out[i].FI, out[i].SE);45 } else {46 puts("0");47 }48 if (T) puts("");49 }50 return 0;51 }

 

——written by Lyon

转载于:https://www.cnblogs.com/LyonLys/archive/2013/02/24/uva_10020_Lyon.html

你可能感兴趣的文章
mysql配置参数优化
查看>>
微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台
查看>>
Swing中弹出对话框的几种方式(转)
查看>>
人工智能时代的工作、学习和生活---《人工智能》阅读笔记
查看>>
linux下使用 du查看某个文件或目录占用磁盘空间的大小
查看>>
将 Intent 序列化,像 Uri 一样传递 Intent!
查看>>
UWP开发入门(十五)——在FlipView中通过手势操作图片
查看>>
Python——set
查看>>
PhxPaxos源码分析——网络
查看>>
SharePoint Error - The SharePoint server was moved to a different location.
查看>>
十款绝bi好用的硬盘数据恢复软件值得拥有简易恢复
查看>>
写给设计师的字偶距调整指南
查看>>
三大优势加身,SDN成广域网优化重要手段
查看>>
苹果iOS 7开发者预览版被黑客成功越狱
查看>>
日常开发常用js日期方法
查看>>
IT气象预报台提醒:企业发展明日多“云”
查看>>
记录一下最近犯下的自以为是的错误
查看>>
云计算的春天:不需再为正版软件买单
查看>>
对象的共享(第三章)
查看>>
区块链能为现实世界的IT领域解决哪些问题?
查看>>