P1986 元旦晚会——贪心或差分约束系统
每个人可能属于不同的声部,每个声部最少要有c[i]个人发声;
求最少需要多少话筒;
首先贪心,将所有声部的区间按照右端点大小排序,如果右端点相同,左端点从小到大排序;
贪心每次选取靠近右端点的,这样每个区间相交的是最多的。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=; struct node
{
int l,r,c;
}a[maxn]; bool cmp(node qw,node we)
{
if(qw.r!=we.r) return qw.r<we.r;
return qw.l<we.l;
} int n,m;
int ans,vis[maxn]; int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&a[i].l,&a[i].r,&a[i].c);
} sort(a+,a+m+,cmp); for(int i=;i<=m;i++)
{
int k=;
for(int j=a[i].r;j>=a[i].l;j--)
{
if(vis[j]) k++;
} if(k>=a[i].c) continue;
else
{
for(int h=a[i].r;(h>=a[i].r-a[i].c+)&&(k<a[i].c);h--)
{
if(!vis[h])
{
vis[h]=;
ans++;
k++;
} }
}
}
printf("%d",ans);
return ;
}
差分约束系统:
将左右端点连边,边权是c[i];因为要保持图的联通,实际连边是x-1和y;
将i和i-1连一条-1的边,将i和i+1连一条0边;
跑一边最长路即为所求答案。
我们所求的实际上是不等式dis[y]-dis[x]>=c[i];
求最长路时的松弛操作正是将这个不等式一点点的满足;
为什么要将i和i-1连-1边呢?
因为可能是这种情况:

-1其实是将重合的部分减去
#include<cstring>
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
const int maxn=1e6+;
int pre[maxn*],last[maxn],other[maxn*],len[maxn*],l; void add(int x,int y,int z)
{
l++;
pre[l]=last[x];
last[x]=l;
other[l]=y;
len[l]=z;
} queue<int> q;
int n,m;
int dis[maxn];
bool vis[maxn];
void spfa()
{
while(!q.empty())
{
int x=q.front();
q.pop();
vis[x]=;
for(int p=last[x];p;p=pre[p])
{
int v=other[p];
if(dis[v]<dis[x]+len[p])
{
dis[v]=dis[x]+len[p];
if(!vis[v]) vis[v]=,q.push(v);
}
}
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
add(x-,y,z);
}
for(int i=;i<=n;i++)
{
add(i,i-,-);
add(i-,i,);
}
for(int i=;i<=n;i++) q.push(i),vis[i]=;
spfa();
printf("%d",dis[n]);
return ;
}
P1986 元旦晚会——贪心或差分约束系统的更多相关文章
- P1986 元旦晚会
一道可以用各种各样的办法做的(水)题 在这里就介绍两种做法 题意: 自己看看吧,很明显的意思,就是求前i个人最少有多少个话筒. 解法1:差分约束 设\(dis[i]\)表示前\(i\)个人最少有多少个 ...
- UVA11478 Halum [差分约束系统]
https://vjudge.net/problem/UVA-11478 给定一个有向图,每条边都有一个权值.每次你可以选择一个结点v和一个整数d,把所有以v为终点的边的权值减小d,把所有以v为起点的 ...
- BZOJ 2330: [SCOI2011]糖果 [差分约束系统] 【学习笔记】
2330: [SCOI2011]糖果 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 5395 Solved: 1750[Submit][Status ...
- ACM/ICPC 之 差分约束系统两道(ZOJ2770-POJ1201)
当对问题建立数学模型后,发现其是一个差分方程组,那么问题可以转换为最短路问题,一下分别选用Bellmanford-SPFA解题 ZOJ2770-Burn the Linked Camp //差分约束方 ...
- POJ1201 Intervals(差分约束系统)
与ZOJ2770一个建模方式,前缀和当作点. 对于每个区间[a,b]有这么个条件,Sa-Sb-1>=c,然后我就那样连边WA了好几次. 后来偷看数据才想到这题还有两个隐藏的约束条件. 这题前缀和 ...
- UVA 11374 Halum (差分约束系统,最短路)
题意:给定一个带权有向图,每次你可以选择一个结点v 和整数d ,把所有以v为终点的边权值减少d,把所有以v为起点的边权值增加d,最后要让所有的边权值为正,且尽量大.若无解,输出结果.若可无限大,输出结 ...
- Burn the Linked Camp(bellman 差分约束系统)
Burn the Linked Camp Time Limit: 2 Seconds Memory Limit: 65536 KB It is well known that, in the ...
- zoj 2770 Burn the Linked Camp (差分约束系统)
// 差分约束系统// 火烧连营 // n个点 m条边 每天边约束i到j这些军营的人数 n个兵营都有容量// Si表示前i个军营的总数 那么 1.Si-S(i-1)<=C[i] 这里 建边(i- ...
- POJ 3169 Layout (差分约束系统)
Layout 题目链接: Rhttp://acm.hust.edu.cn/vjudge/contest/122685#problem/S Description Like everyone else, ...
随机推荐
- VMware Workstation Pro 15 序列号
VMware Workstation Pro 15 序列号: GA70H-8TYE2-H886P-04YZC-YVA84 YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 UG5J2-0ME ...
- 【转载】网站配置Https证书系列(二):IIS服务器给网站配置Https证书
针对网站的Https证书,即SSL证书,腾讯云.阿里云都提供了免费的SSL证书申请,SSL证书申请下来后,就需要将SSL证书配置到网站中,如果网站使用的Web服务器是IIS服务器,则需要在IIS服务器 ...
- pdm文件打开方式
转自:https://blog.csdn.net/qq_36855191/article/details/79299216 pdm打开网站:http://www.dmanywhere.cn/
- Vue的学习笔记
以下文章皆为观看慕课网https://www.imooc.com/learn/796中“河畔一角”老师的讲解做的笔记,仅供参考. 一.Vue特点 Vue是MVVM的框架,也就是模型视图->视图模 ...
- [LeetCode] 148. 排序链表 ☆☆☆(归并排序)
148.排序链表 描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3输出: 1->2->3-> ...
- C#基础 - 定义变量,输入输出
本节课主要讲解C#的发展历史及部分C#语言基础, 主要内容有:控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值 打印,两种数据类型,整形类型转换 本节重点难点:定义变量 ...
- Django请求生命周期和ORM
dajngo请求生命周期 django请求生命周期是:当用户在browser点击URL后,在django后台都发生了什么. 请求响应Http 1.发送Http请求 2.服务器接收,根据请求头中url在 ...
- 【深度学习】基于Pytorch的ResNet实现
目录 1. ResNet理论 2. pytorch实现 2.1 基础卷积 2.2 模块 2.3 使用ResNet模块进行迁移学习 1. ResNet理论 论文:https://arxiv.org/pd ...
- 为什么要设置HTTP timeout?
先看一个不设置timeout造成的线上事故. 一次线上事故 有一次生产上的一个服务出了点故障,一个原本每5分钟执行一次的定时任务突然不执行了.第一反应是任务执行报错,查看日志,却没有找到任何异常报错信 ...
- H5s播放rtsp和rtmp视频
最近接触的几个项目都有对接视频的功能,目前国内视频厂商以海康和大华为主,其对应的视频流格式也不一致,导致对接起来很麻烦.有幸在客户那接触到一种新的视频对接解决方案,支持Html5标准.废话不多少,看一 ...