poj3159 Candies(差分约束,最短路)

告别F5失灵!手把手教你为Cursor配置.Net Core控制台项目专属调试环境 本文详细指导如何在Cursor编辑器中为.Net Core控制台项目配置专属调试环境,解决F5失灵等常见问题。从调试器选择到launch.json配置,再到高级调试技巧,帮助开发者高效搭建完整的调试工具链,提升开发效率。 阅读详情

题目描述:

During the kindergarten days, flymouse was the monitor of his class. Occasionally the head-teacher brought the kids of flymouse’s class a large bag of candies and had flymouse distribute them. All the kids loved candies very much and often compared the numbers of candies they got with others. A kid A could had the idea that though it might be the case that another kid B was better than him in some aspect and therefore had a reason for deserving more candies than he did, he should never get a certain number of candies fewer than B did no matter how many candies he actually got, otherwise he would feel dissatisfied and go to the head-teacher to complain about flymouse’s biased distribution.

snoopy shared class with flymouse at that time. flymouse always compared the number of his candies with that of snoopy’s. He wanted to make the difference between the numbers as large as possible while keeping every kid satisfied. Now he had just got another bag of candies from the head-teacher, what was the largest difference he could make out of it?

输入:

The input contains a single test cases. The test cases starts with a line with two integers N and M not exceeding 30 000 and 150 000 respectively. N is the number of kids in the class and the kids were numbered 1 through N. snoopy and flymouse were always numbered 1 and N. Then follow M lines each holding three integers A, B and c in order, meaning that kid A believed that kid B should never get over c candies more than he did.

输出:

Output one line with only the largest difference desired. The difference is guaranteed to be finite.

样例输入:

2 2
1 2 5
2 1 4

样例输出:

5

题目大意:

n个人,m个信息,每行的信息是3个数字,A,B,C,表示B比A多出来的糖果不超过C个,问你,n号人最多比1号人多几个糖果

思路:对应最短路模型,在松弛完最短路后则变为 d[v] <= d[u] + w ,转化为 d[v] - d[u] <= w,这个和上面的 B - A <= C 是相同的模式 , 因此建图的时候A和B连一条有向边 , 边权为C,以1为起点,n为终点跑一遍最短路即可

code:

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<queue>
using namespace std;
typedef pair<int,int> P;
int head[30050];
int visit[30050];
const int inf=99999999;
int n,m;
struct node{
	int v,w,next;
}edge[150005];
int cnt;
int d[30050];
int flag=0;
void add(int u,int v,int w)
{
	edge[cnt].v=v;
	edge[cnt].w=w;
	edge[cnt].next=head[u];
	head[u]=cnt++;
}
int dijkstra()
{
	priority_queue<P,vector<P> ,greater<P>> que;
	memset(visit,0,sizeof(visit));
	que.push(P(0,1));
	fill(d,d+n+5,inf);
	d[1]=0;
	while(!que.empty())
	{
		P p=que.top();
		que.pop();
		int v=p.second;
		if(d[v]<p.first)continue;
		for(int i=head[v];i!=-1;i=edge[i].next)
		{
			int vv=edge[i].v;
			if(d[vv]>d[v]+edge[i].w)
			{
				d[vv]=d[v]+edge[i].w;
				que.push(P(d[vv],vv));
			}
		}
	}
}
int main()
{
	int dd;
	scanf("%d%d",&n,&m);
	memset(head,-1,sizeof(head));
	cnt=0;
	for(int i=0;i<m;i++)
	{
		int a,b,c;
		scanf("%d%d%d",&a,&b,&c);
		add(a,b,c);
	}
	dijkstra();
	printf("%d\n",d[n]);
	return 0;
 } 

感谢这题,让我总算是学会了邻接表
当然,这一道题可能使用的并非dijkstra,暂时先这么命名

DeepSeek-OCR 本地部署使用教程(附完整环境配置与推理示例) DeepSeek-OCR是由DeepSeek AI推出的开源OCR模型,支持高精度文档识别与结构化输出(如Markdown转换)。本文提供了详细的本地部署指南,包括系统要求(推荐Linux+A100 GPU)、环境配置(Python 3.12.9+PyTorch 2.6.0+CUDA 11.8)、模型下载及两种推理方式:高性能的vLLM(适合批量处理)和灵活的Transformers(适合调试)。支持多种分辨率模式和提示词模板,适用于合同识别、PDF转换等场景。常见问题包括显存优化和性能调优建议。 阅读详情

相关推荐

数字IC设计随笔之二(VCS、DVE|Verdi单步调试)

VCS+Verdi单步调试

ic疾风传 1万+

初步 poj3159Candies

终于放假了,考试爆炸,算了,还不如学学算法,Dijkstra`s算法。。。 先给题目链接好吧,poj3159Candies:http://poj.org/problem?id=3159   题目意思抄一下: 有N个孩子(N&lt;=3000)分糖果。有M个关系(M&lt;=150000)。每个关系形如: A B C 表示第B个学生比第A个学生多分到的糖果数目,不能超过C 求第N个学生最...

A_Pathfinder的博客 457

【YOLO 系列】基于YOLOv8的工业零件表面缺陷智能检测系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了如何基于YOLOv8深度学习模型和PyQt5图形界面,构建一套完整的工业零件表面缺陷智能检测系统。内容涵盖从环境搭建、数据集标注、模型训练调参到最终封装成可执行桌面软件的全流程,并深入解析了YOLOv8在工业视觉场景中的技术优势与落地优化策略。

ol78901234的博客 402

poj 3159 Candies(优先队列 dijkstra+堆)

题目链接 http://poj.org/problem?id=3159 Candies Time Limit: 1500MS   Memory Limit: 131072K Total Submissions: 26118   Accepted: 7147 Description During the kinderga

ACMan 541

GPMC开发笔记(TI开发者推荐笔记)

因为gpmc(General-Purpose Memory Controller)是TI特有的驱动,gpmc的资料比较少,本人开发gpmc驱动算是摸了很多石头过河的。所以想通过这遍文章可以给也做GPMC驱动开发的后来者有一点参考价值。文章如有瑕疵也请各位批评改正。 1.GPMC介绍 gpmc主要用于与nandflash,norflash,fpga进行通信。在这里主要介绍gpmc16位数据和地址线不复用nor模式下的通信。 注意:在这种模式下gpmc_a[0]引脚是没法使用的 1.1GPMC信号线

weixin_44316996的博客 7508

PCB光绘文件DFM检查:从Gerber验证到制造闭环

Gerber文件是PCB设计交付制造的核心数据载体,其准确性直接决定硬件可制造性与量产良率。理解Gerber格式规范、IPC网表比对原理及DFM(Design for Manufacturability)自动检测逻辑,是电子工程师保障设计落地的关键能力。通过电气连通性验证、物理DRC规则扫描与工艺兼容性分析,DFM工具能提前识别开路、短路、孔环不足、阻焊异常等典型问题,避免投板后返工甚至批量报废。在国产化替代趋势下,华秋DFM等平台已深度适配Altium Designer工作流,支持一键导入、智能报告与协同

weixin_42620563的博客 507

幼儿园分糖果

题目描述 幼儿园里,有n个小朋友,编号1到n,罗老师在给他们分糖果。分的时候,很多小朋友提出了要求(这年头,小朋友就敢提要求。。。),罗老师就说,如果最近一周你们都表现很好,就答应你们的要求。结果一周过去了,小朋友们纪律良好,成绩优秀,各方面都很出色。于是罗老师得按他们的要求分糖果了。小朋友总共有m个要求, 每个要求如下:x y z表示编号y的小朋友不能比编号x的小朋友糖果数量多超过z颗(也就是y

wang_sj的博客 2808

【以太网硬件十九】SGMII到底能不能直接出光模块?

详细解释为什么SGMII可以直接出光模块及其使用限制

highman110的博客 1万+

poj3159 Candies 最短路&差分约束

题目链接:http://poj.org/problem?id=3159 题意:n个点,m对A,B,C,表示B的值减A的值不超过C,求1和n的最大差值(后来我才知道这叫差分约束)。 分析:开始拿到这题有点懵比,没读懂,后来自己在草稿上画了画感觉就是求1点到n点的最短路。 如下图: 后来写了spfa+queue就交了上去T了一发,想了想,没招了,看了disscus发现说用堆栈可以,可是我不

Na_OH的博客 503

Trae中配置和使用MCP 服务保姆级教程

您好,我是程序员夏叶,深度AI编程使用者,专注于分享AI编程方面的使用技巧和经验,有兴趣的可以关注我的公众号,一起学习,共同进步。从21号开始,Trae开始陆陆续续的灰度推送了一次新版本,有的用户是21号收到的更新,有的用户是22号收到的更新,本次更新我愿称之为王炸级更新,具体更新内容可以去看我的上一篇文章。本次更新其中的一个内容就是支持了MCP 服务,那么什么是MCP呢,它的全称是。

cpp加油站的专栏 8208

从“能跑”到“好用”:一名 Python 开发者的工程化进阶之路【Python心得篇】

Python 早已不只是写脚本、跑数据的工具。后端服务AI Agent 编排层自动化平台核心语言数据与业务之间的“中枢层”区别只在于:你是用脚本方式,还是工程方式在写。如果你已经能写“能跑的 Python”,下一步,就是让它长期可跑、稳定可演进。Python 的真正价值不在于“写得快”,而在于能否支撑持续演进的工程实践。当代码从一次性脚本走向长期运行的系统,开发者必须从结构设计、职责拆分、性能意识和类型约束等方面进行系统性思考。

博客 1546

POJ 3159 Candies (图论,差分约束系统,最短路)

POJ 3159 Candies (图论,差分约束系统,最短路) Description During the kindergarten days, flymouse was the monitor of his class. Occasionally the head-teacher brought the kids of flymouse’s class a large bag of...

dipinzhu4111的博客 180

MIKE水动力笔记18_如何将dfsu流场模拟结果的数据导出成txt文件

MIKE的模拟结果dfsu文件的数据是可以导出的,导出格式为xyz,我们也可以将其改后缀改为txt文本格式,其中包含了某一时刻下所有网格坐标点的数据。

晏长街的博客 4410

【解题报告】 POJ - 3159 Candies(差分约束、最短路)

原题地址 其实这个题目思考起来和实现起来并不难 ,但是为了码一下发现的dalao的博客,还是写一下题解 dalao博客: 夜深人静写算法(四) - 差分约束 真的写的非常好啊!可以说是帮我又把最短路和建图的知识复习了一遍,吹爆dalao,简单的逛了一下,他其他的文章包括dp、线段树、树状数组等等都写的非常认真非常仔细,还附题集,每一题还点出了重点是什么,可以说是非常良心了!决定了,以后就跟着这个d...

Jiengup_的博客 379

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Candies POJ - 3159 (最短路+差分约束)

During the kindergarten days, flymouse was the monitor of his class. Occasionally the head-teacher brought the kids of flymouse’s class a large bag of candies and had flymouse distribute them. All t...

weixin_30367945的博客 152

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

POJ - 3159 Candies(最短路+差分约束思想)

题目链接 题意:n个小孩,每个小孩a都认为自己应该比小孩b少分得x颗糖果,为了满足每个小孩,第一个小孩最多比第n个小孩多分得几颗糖果 分析:差分约束,跑一个最短路即可,如果不了解, 点击这里: 差分约束 #include <set> #include <map> #include <cmath> #include <stack> #include <queue> #include <string> #include <vect

weixin_46220615的博客 122

POJ - 3159 Candies —— 差分约束最短路

题意: 一群人分糖果,有m个限制关系,每个关系表明B所拥有的糖果数不能比A多C,问第一个人和第二个人的糖果最多能差多少。 思路: 差分约束,对于每个限制关系,B-A&lt;=C,那么就从A到B建一条边,跑最短路即可 本来是很简单的差分约束,但是就是死活过不了,必须用vecter优化,  v.clear();    v.resize(n+1); 学到了... #include &lt;io...

Lngxling的博客 526

POJ3159 Candies【差分约束+最短路】

Candies Time Limit: 1500MS   Memory Limit: 131072K Total Submissions: 38621   Accepted: 10891 Description During the kindergarten days, flymouse was the monitor of his class. Occasio...

逐梦者 386

POJ 3159 Candies(最短路 差分约束)

Candies Time Limit: 1500MS Memory Limit: 131072K Total Submissions: 31848 Accepted: 8896 DescriptionDuring the kindergarten days, flymouse was the monitor of his class. Occasionally the

Twillz的博客 381

POJ 3159 Candies(spfa最短路,差分约束)

题意:幼儿园俩小朋友不和..一个编号是1,一个编号是n,给出m个关系,就是A小朋友最多比B小朋友多C个糖果,问n最多比1多多少个糖果... n、m很大...开始我想着是求最大路,但是spfa没法求因为这题是有环的...后来一想,直接边权为c不就是最大了么..求一下最短路就行了吧...因为求最大路可能对于某些条件来说产生冲突...为了保证条件的合理性,只能选择最短路...接下来 TLE...nm范

439

poj 3159 Candies(差分约束原理 最短路)

题意:不懂差分约束的请看我转载的一篇差分约束详解http://blog.youkuaiyun.com/kirito_j/article/details/52132170 看完那个链接你们就懂了,在型如x-y CandiesTime Limit:1500MS    Memory Limit:131072KB    64bit IO Format:%lld & %llu SubmitStatusPr

Kirito_j的博客 519

最短路练习11/poj/3159 【差分约束系统】Candies

没看题解前完全不知道题是啥意思,完全不能把这道题跟最短路联系在一块0.0 题意:现在有一些小朋友,有许多的糖果,给出m组关系;例如1 2 5表示1号小朋友不想让2号小朋友比他多超过5个糖果,2 1 4表示2号小朋友不想让1号小朋友比他多超过4个糖果, 然后列为关系式:a2-a1<=5,a1-a2<=4;求1号小朋友和n号小朋友最多能相差多少糖果; 思路:差分约束系统是什么东东我看了一晚上也没怎么弄明白。就知道这道题是差分约束的裸模板; 看不懂就把它当成最短路就行,例如样例,把样例变成a2<=

Accepted 379

POJ 3159 Candies(差分约束,最短路)

Candies Time Limit: 1500MS   Memory Limit: 131072K Total Submissions: 20067   Accepted: 5293 Description During the kindergarten days, flymouse was the monitor of his cla...

weixin_34228617的博客 226

Candies POJ - 3159 (差分约束+最短路)

Candies POJ - 3159 During the kindergarten days, flymouse was the monitor of his class. Occasionally the head-teacher brought the kids of flymouse’s class a large bag of candies and had fl

codeswarrior的博客 682

poj-3159--Candies(差分约束,求最短路)

题目:3159–Candies 思路:题目先给出n个点和m条边a,b,c,来表示b比a的糖果不多于c个;相当于b - a <= c,需要求满足所有约束条件下,1号和N号两个人之间糖果数量差的最大值; 由于是求最大值,相当于求的是最短路,需要把约束条件转化为xj <= xi + k的形式。 那么b <= a + c,表示从a向b连一条长度为c的边。 源点:由于从1号点出发,一定可以到达所有边,所以1号点作为源点,求一遍最短路。 dijkstra堆优化代码: #include <iost

qq_45880043的博客 416

Candies (POJ3159) 线性约束差分+堆优化Dijkstra 最短路专题

题目描述 During the kindergarten days, flymouse was the monitor of his class. Occasionally the head-teacher brought the kids of flymouse’s class a large bag of candies and had flymouse distribute them. All the kids loved candies very much and often compared

hachuochuo_的博客 186
上一篇: MPI Maelstrom
下一篇: POJ3169_Layout(差分约束)
大橘为重eleven
博客等级 码龄8年 35粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值