[vijos P1880]ファーラの力

据说这是一道 JOI 的题?反正我觉着挺好的喵~

题目看起来十分可怕,但是代码还是很短的

显而易见的,ans 因分为3个部分:1.中途增加光压的时间 2.中途减少光压的时间 3. 所有路程的总时间

发现如果把每个柱子的光压下限0去掉后,光压无论在何时加都是一样的

因为若从某刻光压小于等于0后,我们可以按需调整光压,就不再出现人为降低光压这个操作,而不论如何最后的光压一定是 E[终点]

所以

1.光压无论在何时加都是一样的

而我们又发现在路径上减少1个光压和在光柱上人为调整1个光压的时间是一样的

光压差就是时间差

我们用dist[n]表示到点n时的光压

2.X-dist[终点]=中途减少光压的时间+所有路程的总时间

又由1得E[终点]-dist[终点]=中途增加光压的时间

这两个式子都是随着dist[终点]的递增而递减的

只要算出最大的dist[终点]即可,这就是为什么要用最短路稍的原因

ans=(X-dist[终点])+(E[终点]-dist[终点)=X+E[终点]-2*dist[终点]

 1 #include <cstdio>
 2 #include <queue>
 3 #include <algorithm>
 4 typedef std::pair<long long, int> node;
 5 const long long INF=0x7FFFFFFFFFFFFFLL;
 6 const int sizeOfPoint=100001;
 7 const int sizeOfEdge=600006;
 8
 9 struct edge {int point, dist; edge * next;};
10 edge memory[sizeOfEdge], * port=memory;
11 edge * e[sizeOfPoint];
12 inline edge * newedge(int point, int dist, edge * next)
13 {
14     edge * ret=port++;
15     ret->point=point; ret->dist=dist; ret->next=next;
16     return ret;
17 }
18
19 int N, M, X;
20 int E[sizeOfPoint];
21 long long dist[sizeOfPoint];
22 std::priority_queue<node> q;
23 inline long long min(long long x, long long y) {return x<y?x:y;}
24 inline int getint();
25 inline void putint(long long);
26
27 int main()
28 {
29     N=getint(), M=getint(), X=getint();
30     for (int i=1;i<=N;i++) E[i]=getint();
31     for (int i=0;i<M;i++)
32     {
33         int A, B, T;
34         A=getint(), B=getint(), T=getint();
35         if (E[A]>=T) e[A]=newedge(B, T, e[A]);
36         if (E[B]>=T) e[B]=newedge(A, T, e[B]);
37     }
38
39     for (int i=1;i<=N;i++) dist[i]=-INF;
40     for (q.push(node(X, 1));!q.empty(); )
41     {
42         node u=q.top(); q.pop();
43         if (dist[u.second]!=-INF) continue;
44         dist[u.second]=u.first;
45         for (edge * i=e[u.second];i;i=i->next)
46             q.push(node(min(u.first-i->dist, E[i->point]), i->point));
47     }
48
49     if (dist[N]==-INF) printf("-1\n");
50     else putint(X+E[N]-(dist[N]<<1));
51
52     return 0;
53 }
54 inline int getint()
55 {
56     register int num=0;
57     register char ch;
58     do ch=getchar(); while (ch<‘0‘ || ch>‘9‘);
59     do num=num*10+ch-‘0‘, ch=getchar(); while (ch>=‘0‘ && ch<=‘9‘);
60     return num;
61 }
62 inline void putint(long long num)
63 {
64     char stack[22];
65     register int top=0;
66     if (num==0) stack[top=1]=‘0‘;
67     for ( ;num;num/=10) stack[++top]=num%10+‘0‘;
68     for ( ;top;top--) putchar(stack[top]);
69     putchar(‘\n‘);
70 }

本傻装B系列

时间: 2024-08-28 05:14:49

[vijos P1880]ファーラの力的相关文章

Vijos P1066 弱弱的战壕【多解,线段树,暴力,树状数组】

弱弱的战壕 描述 永恒和mx正在玩一个即时战略游戏,名字嘛~~~~~~恕本人记性不好,忘了-_-b. mx在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限(“mx不赢定了?!?”永恒[email protected][email protected]). 但是,战壕有一个弱点,就是只能攻击它的左下方,说白了就是横纵坐标都不大于它的点(mx:“我的战壕为什么这么菜”ToT).这样,永恒就可以从别的地方进攻摧毁战壕,从而消灭mx的部队. 战壕都有一个保护范围,同它的攻击

2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告

北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构  班级: 1623  姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5月26日 实验密级:非密级 预习程度: 优良 实验时间: 2 Hours 仪器组次: 必修/选修: 必修 实验序号: 04 实验名称:Java面向对象程序设计Android开发 实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBI

php大力力 [047节] 支付宝支付.申请支付资质,等待审核中

https://beecloud.cn/doc/payapply/?index=6 支付宝支付申请支付资质 一.注册支付宝用户 在支付宝官网注册成为用户 二.签约对应支付产品 应用集成支付宝支付,需要签约支付宝支付产品. 荷马史诗,西西弗斯是人间最足智多谋又机巧的人,他是科林斯的建城者和国王.当宙斯掳走河神伊索普斯(Aesopus)的女儿伊琴娜(Aegina),河神曾到科林斯找寻其女,知悉此事的西西弗斯以一条四季常流的河川做为交换条件告知.由于泄露了宙斯的秘密,宙斯便派出死神要将他押下地狱.没有

陌陌的烦恼 倾力摘掉约X标签

继在北上广深蓉五大城市的地铁站.公交候车站以及出租车进行了广告投放后,近日,陌陌又在颇具代表性的传统媒体<法制晚报>上发布了整版广告."你默默变成狼,我陌陌变成替罪羊"."还把我当约X利器,请别在白费力气"等广告文案在微博上引发网友大量讨论,#帮陌陌洗白白#的话题得到逾千万人关注. 成也约炮 困也约炮 陌陌前期的快速崛起,"约炮神器"这个标签起到了不小作用,虽然陌陌官方从未承认过自己以此炒作,但用户已对此形成深刻印象.瞄准基于地理位置

英特尔和微软同时力挺云创存储代理大会

5月8日-9日,2014年云创存储全国代理商招募大会在南京国际会议大酒店正式举行.来自全国各地40余家代理商.集成商.渠道商的近百位IT人士都应邀参会.英特尔和微软作为云创存储的长期合作对象也受邀来到了云创代理大会上,并根据双方的合作高度评价了云创存储. 会上通过主旨报告.主题演讲.高端对话.展览展示.现场参观等多种形式,多角度.全方位.深层次地介绍云创最前沿.最具创新力的云计算.大数据科技成果,与来宾共话云时代下的战略合作. 英特尔(中国)渠道技术总监夏磊在大会上精彩发言,介绍了英特尔在新市场

【执行力决定命】第1集《偷偷制订目标,只要敢想就有可能实现梦想》

「音频原文」http://dwz.cn/6sAHzs 大家好,我是林琳笨,有听友发信问我怎么拿到我的声音文字笔记,这里统计说一下大家可看我专辑和声音介绍,里面有我助理的微信号,大家可以加我助理索要. 今天和大家分享制作目标的话题,有了目标:执行力才开始启动. 马云曾经说过"梦想总是要有的,万一实现了呢?",马云的形象.智商.家境都没有优势,他为什么能成功?最大的特点就是:努力.坚持.为了达成目标不惜一切代价. 哈佛大学有一个<关于目标对人生影响的跟踪调查,历时25年>,调研

【执行力决定命】第6集《缩短达到目标的时间》

「音频原文」http://dwz.cn/6sAZmE 大家好,我是林琳笨,怎么缩短达到目标的时间,其实执行力强:不是按时按质完成一个任务,而是提前并超额完成任务,今天我们重点讲<缩短达到目标的时间>. 最近朋友看我录的<执行力决定命>,建议我改成<如何靠别拖延症>,我没改,实际我认为托延症是种心理疾病,我不擅长治这种病,拖延症很严重的人,建议应该去找医生. 我常对新人说一句话:执行任务前一定要做好应急准备,比如中间断电的意外:某个环节比想象的耗费时间,突然有个重要紧急任

【执行力决定命】第3集《好的职业习惯,让执行力提高一倍》

「音频原文」http://dwz.cn/6sANwk 大家好,我是林琳笨,今天和大家分享<好的职业习惯,让执行力提高一倍>,先简单的介绍8个职业习惯的特征,有机会把每一个点拿出来详细讲解. 第一个.做好时间管理 日报习惯:做当天/时间段总结.查当天遗漏.做下个时间段或周期的计划: 建议关注一个词"例行",即每个周期固定要做的事,比如我曾经一个部门同事,每天早上10:00前必须发前一天报表给相关同事,每天18:00前必须发当日BUG清单给技术部,每周一出上周周总结给相关同事等

花椒直播投资1亿发力专业PGC 携央视、SMG创建直播内容新生态

在经历了"跑马圈地"和"野蛮生长"的上半场,直播行业全面进入整合期.平台内容同质化愈加显现竞争疲态,而以专业PGC为核心的精品内容战略成为各大直播平台在新阶段的发展共识.据悉,前不久完成10亿元融资的花椒直播,继全面进军游戏领域后,又被曝出投入1亿资金用于专业PGC内容的引入与扶持,引发业内外广泛关注. 与SMG.央视合作 打造现象级专业PGC范例 "联合最顶尖的内容团队,引进内容IP,是今年PGC内容拓展的重中之重."花椒相关负责人介绍,&qu