UESTC1961-咸鱼睡觉觉
咸鱼睡觉觉
Time Limit: 1000 MS Memory Limit: 64 MB
咸鱼要睡觉觉了!
但那群咕咕有点烦。
咸鱼决定要赶走一些咕咕,使得他们不要这么吵。
那kk只咕咕们排成了一列。
咸鱼做出了nn个决定,第ii个决定是要在第aiai只咕咕到第bibi只咕咕之间至少赶走其中cici只咕咕。
但咸鱼又不想那么狠心,所以希望你能帮帮他,决定最少移走多少只咕咕可以满足咸鱼的所有要求。

Input
第一行两个整数kk nn,表示有kk只咕咕,咸鱼做出了nn个决定(1≤k≤500001≤k≤50000,1≤n≤500001≤n≤50000)。
接下来nn行,每行三个数aiai bibi cici(1≤ai≤bi≤k1≤ai≤bi≤k, 0≤ci≤bi−ai+10≤ci≤bi−ai+1),含义如上文。
Output
输出一个整数,表示至少要赶走多少只咕咕
Sample input and output
| Sample Input | Sample Output |
|---|---|
3 3 |
2 |
Hint
赶走第11只和第22只咕咕!
Source
UESTC Online Judge
Copyright (C) 2012 - 2018 Ruins He(@ruinshe), Jianjin Fan(@pfctgeorge) and Yun Li(@mzry1992). Project home
Any Problem, Please Report On Issues Page.
AC代码为:
#include<bits/stdc++.h>
using namespace std;
struct part
{
int ends,data,next;
};
int n,k,m,cnt;
struct part e[1000100];
int st[300000],vis[200100],que[2000000],dis[300000],ru[300000];
void combine(int x,int y,int z)
{
cnt+=1;
e[cnt].ends=y;
e[cnt].data=z;
e[cnt].next=st[x];
st[x]=cnt;
}
int spfa(int x)
{
int h,t,ii,nown;
h=0; t=1;
dis[x]=0;
vis[x]=1;
que[1]=x;
while (h!=t)
{
h=(h+1)%1000000;
nown=que[h];
ii=st[nown];
while (ii!=-1)
{
if (dis[e[ii].ends]<dis[nown]+e[ii].data)
{
dis[e[ii].ends]=dis[nown]+e[ii].data;
if (!vis[e[ii].ends])
{
vis[e[ii].ends]=1;
t=(t+1)%1000000;
que[t]=e[ii].ends;
}
}
ii=e[ii].next;
}
vis[nown]=0;
}
return(dis[k]);
}
int main()
{
scanf("%d%d",&k,&n);
for (int i=0;i<=k;i++)
{
st[i]=-1;
dis[i]=-10000;
vis[i]=0;
}
cnt=0;
int a,b,c;
for (int i=1;i<=n;i++)
{
scanf("%d%d%d",&a,&b,&c);
combine(a-1,b,c);
}
for (int i=1;i<=k;i++)
{
combine(i-1,i,0);
combine(i,i-1,-1);
}
for (int i=1;i<=k;i++)
combine(0,i,0);
int ans=spfa(0);
printf("%d\n",ans);
return(0);
}
UESTC1961-咸鱼睡觉觉的更多相关文章
- 【SPFA与Dijkstra的对比】CDOJ 1961 咸鱼睡觉觉【差分约束-负权最短路径SPFA】
差分约束系统,求最小值,跑最长路. 转自:https://www.cnblogs.com/ehanla/p/9134012.html 题解:设sum[x]为前x个咕咕中至少需要赶走的咕咕数,则sum[ ...
- 牛客网 Wannafly挑战赛8 A.小Y和小B睡觉觉
写了一会不想写了... A-小Y和小B睡觉觉 链接:https://www.nowcoder.com/acm/contest/57/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制: ...
- About 睡觉觉吃饭饭
rdc 的日常作息: 11:50 左右起床,洗漱后飞奔到超市买咖啡饼干,然后飞奔到实验室. 开始被比赛打:比赛前期觉没睡醒,题没读懂就开始乱写,签到签不上,比赛中期处于要被饿死的状态. 赛后吃饭饭,随 ...
- Node.js npm 详解
一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...
- 36、重新复习html和css之二
(1)由于公司是意大利的网段, (2)而且公司的电脑是保密的, (3)文件发不出去, (4)U盘插不进去. (5)而且我们组的项目整体上已经开发完毕,客户暂时没有什么大的需求, 所以如果我不把这些技术 ...
- JAVA编程中的类和对象
1:初学JAVA,都知道JAVA是面向对象的编程.笔者这节开始说说类和对象.(实例仅供参考,如若复制粘贴记得修改包名和类名,避免出错) 学习JAVA的快捷键,Alt+/代码补全功能,其实此快捷键启动了 ...
- 曲线救国,解决Mac系统下,Android sdk下载失败的问题
Mac下翻_墙的问题 话说GFW屏蔽谷歌已经有一阵子了,最近打算在Mac系统下折腾个Android应用,备好了IDE,只欠SDK,无奈下载时因为GFW的缘故,总是失败,我心痛哉! 由于本人偏爱Mac系 ...
- 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)
不知道你有没有想过,为什么很人多的扁平化 PPT 是这个样子: 或者是这样: 然而,还有一小撮人的扁平化 PPT 却拥有那么高颜值: 为什么会产生这么大的差距呢?丑逼 PPT 应该如何逆袭成为帅逼呢? ...
- Java的类演进过程
1.从面向过程到面向对象 在大家最熟悉的C语言中,如果要定义一个复杂的数据类型就用结构体(Struct)来实现,而为结构体的每个操作都定义一个函数,这个函数与结构体本身的定义没有任何关系.程序的重心集 ...
随机推荐
- springboot返回统一接口与统一异常处理
springboot返回统一接口与统一异常处理 编写人员:yls 编写时间:2019-9-19 0001-springboot返回统一接口与统一异常处理 简介 创建统一的返回格式 Result 封装统 ...
- Jenkins 与Docker/Kubernetes的自动化CI流水(笔记)
一.CI/CD 持续集成(continuous Integration,CI):代码合并.构建.部署.测试都在一起.不断执行这个过程,并对结果反馈. 持续部署(Continuous Deploymen ...
- [Verilog] 从系统时钟转换出想要的时钟
如何50MHZ时钟转换出一个250KHZ的时钟出来? 假如系统时钟是50MHZ,然后想得到250KHZ的新时钟,那么50MHZ / 250KHZ = 200倍,然后令k=200,程序如下: ; :] ...
- (C#)WPF:LinearGradientBrush的使用
在MSDN文档库里可以查到,Rectangle.Fill的类型是Brush.Brush是一个抽象类,凡是以Brush为基类的类都可作为Fill属性的值.Brush的派生类有很多: * SolidCol ...
- Spark性能优化指南——基础篇(转)
[转]Spark性能优化指南——基础篇 http://mp.weixin.qq.com/s?__biz=MjM5NDMwNjMzNA==&mid=2651805828&idx=1&am ...
- lqb 基础练习 01字串 (itoa)
基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 0 ...
- 决策树(中)-集成学习、RF、AdaBoost、Boost Tree、GBDT
参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读): 1. https://zhuanlan.zhihu.com/p/86263786 2.https://blog.csdn.net/li ...
- 【接口测试】HttpClient+fastJson 总结与案例
多次理解,反复练习,破釜沉舟. HttpCLient是什么 Apache Jakarta Common 下的子项目 支持 HTTP 协议的客户端编程工具包 支持 HTTP 协议最新的版本 怎么利用Ht ...
- libdispatch.dylib中dispatch_group的实现
semaphore和group都是libdispatch提供的基于信号量的同步机制,dispatch_group继承自dispatch_semaphore,使用libdispatch层的信号量算法.d ...
- MySQL 5.7 - 通过 BINLOG 恢复数据
日常开发,运维中,经常会出现误删数据的情况.误删数据的类型大致可分为以下几类: 使用 delete 误删行 使用 drop table 或 truncate table 误删表 使用 drop dat ...