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)来实现,而为结构体的每个操作都定义一个函数,这个函数与结构体本身的定义没有任何关系.程序的重心集 ...
随机推荐
- Python 基础 装饰器
今天把学过的装饰器的知识进行回顾一下,说到装饰器,第一反应就是这个东西呢就是用来装逼的,为啥这样说呢,是应为没有这个东西照样可以干活,大部分工作都是可以做的,不管咋样还是把学过的装逼器梳理一下吧. 一 ...
- Redis持久化的几种方式——深入解析RDB
Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而 ...
- 使用ndk交叉编译android各平台版本的第三方库
只要弄明白了ndk-bundle的目录结构,交叉编译的基本原理就可以自行编写脚本去编译了.从仓库拿下代码包后,一般在linux平台下编译当前平台使用的库,只要使用其自动配置脚本configure进行平 ...
- Qt Framework 问题之 framework/Versions/A:bundle format unrecognized, invalid, or unsuitable
在解决标题提到的问题之后,先来介绍下Qt Framework一些基本知识. 基于QT的Mac端工程,在打包时需要对所有需要嵌入到APP的framework及dylib文件进行手动签名处理. 一.签名处 ...
- 【algo&ds】8.最小生成树
1.最小生成树介绍 什么是最小生成树? 最小生成树(Minimum spanning tree,MST)是在一个给定的无向图G(V,E)中求一棵树T,使得这棵树拥有图G中的所有顶点,且所有边都是来自图 ...
- Js获取宽高度的归纳总结
首先,先吓唬一下我们的小白们!在js中的描述宽高的可以细分有22种. window.innerWidth //除去菜单栏的窗口宽度 window.innerHeight//除去菜单栏的窗口高度 win ...
- 2019-9-11:渗透测试,基础学习,ubuntu搭建LAMP
一,apache web服务器安装 1,sudo apt-get install apache2 2,systemctl status apache2,检查apache2是否开启 #开启.关闭和重启a ...
- 【NOIP2017】【Luogu P3956】【SPFA】棋盘
Luogu P3956 本题是一道简单的SPFA 具体看程序 #include<iostream> #include<cstdio> using namespace std; ...
- jquery浅复制和深复制区别
jquery浅复制和深复制区别
- Python大神必须掌握的技能:多继承、super和MRO算法
本文主要以Python3.x为例讲解Python多继承.super以及MRO算法. 1. Python中的继承 任何面向对象编程语言都会支持继承,Python也不例外.但Python语言却是少数几个支 ...