1643

题意

给定若干条线段,问最多可以安排多少条使得没有重合。

思路

贪心,同安排schedule,按结束时间早的排序。

Code

#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define maxn 1000010
using namespace std;
typedef long long LL;
int n;
struct Seg {
int l, r;
bool operator < (const Seg& s) const { return r < s.r; }
}seg[maxn];
void work() {
for (int i = 0; i < n; ++i) {
scanf("%d%d", &seg[i].l, &seg[i].r);
if (seg[i].l > seg[i].r) swap(seg[i].l, seg[i].r);
}
sort(seg, seg+n);
int r = -inf, cnt = 0;
for (int i = 0; i < n; ++i) {
if (seg[i].l >= r) ++cnt, r = seg[i].r;
}
printf("%d\n", cnt);
}
int main() {
scanf("%d", &n); work();
return 0;
}

3027

题意

给定若干条线段,每条线段都有各自的价值,问怎样安排使得不重叠且总价值最大。

思路

dp

Code

#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define maxn 1010
using namespace std;
typedef long long LL;
struct Seg {
int l, r; LL w;
bool operator < (const Seg& s) const { return r < s.r; }
}seg[maxn];
LL dp[maxn];
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; ++i) scanf("%d%d%d", &seg[i].l, &seg[i].r, &seg[i].w);
sort(seg, seg+n);
dp[0] = seg[0].w;
LL ans = dp[0];
for (int i = 1; i < n; ++i) {
dp[i] = 0;
for (int j = 0; j < i; ++j) {
if (seg[j].r <= seg[i].l) dp[i] = max(dp[i], dp[j]);
}
dp[i] += seg[i].w;
ans = max(ans, dp[i]);
}
printf("%lld\n", ans);
return 0;
}

最新文章

  1. pg gem 安装(postgresql94)
  2. 详解CSS中:nth-child的用法
  3. 注解:【有连接表的】Hibernate单向N-&gt;N关联
  4. 【JAVA】 @override报错的解决方法
  5. java 21 - 13 IO流之 合并流
  6. smarty 学习记录
  7. 华为OJ平台——查找组成一个偶数最接近的两个素数
  8. Ubuntu 下一个可用的音乐播放器
  9. 写个自己的Xcode4插件
  10. 加速器eaccelerator不兼容高版本php
  11. JAVA GUI学习 - JSplitPane分屏组件学习
  12. 使用eclips发展java当闪回的问题
  13. [LeetCode] Magical String 神奇字符串
  14. [Spark内核] 第31课:Spark资源调度分配内幕天机彻底解密:Driver在Cluster模式下的启动、两种不同的资源调度方式源码彻底解析、资源调度内幕总结
  15. 【转载】Perl中的引用
  16. APP网站安全漏洞检测服务的详细介绍
  17. Cassandra事务与关系型数据库事务有何区别
  18. 使用perconna xtrabackup备份脚本
  19. java基础(持续整理)
  20. JavaWeb学习 (九)————HttpServletRequest对象(一)

热门文章

  1. Cisco交换机与路由器命令总结
  2. 让你提高效率的 Linux 技巧
  3. JZOJ 5455. 【NOIP2017提高A组冲刺11.6】拆网线
  4. Visual Studio的下载安装
  5. 用描述符实现缓存功能和property实现原理
  6. The Moving Points - HDU - 4717 (模拟退火)
  7. springMVC中接收数组参数
  8. 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
  9. day10 消息队列,多进程和多线程以及协程,异步IO,事件驱动等
  10. 移动Web应用程序开发HTML5篇