区间和(图论)

小明与小红在玩一个猜谜游戏。小红有一个长度为N的下标从1开始的数组A。起初时,小明并不知道数组里的任何数。但是小红会告诉小明Q个关于数组A的信息,每个信息包括三个数字L、R、W表示:
A[L] + A[L + 1] + ... + A[R] = W

现在小红要小明用这Q组信息来推出数组A的值,小明希望你能够帮助他。

输入格式:

第一行输入两个正整数N(1≤N≤2000)、Q(1≤Q≤3000)

接下来Q行,每行3个正整数,分别是L、R、W(1≤L,R≤N)

数据保证所有的W加起来不会超过int的最大范围。

输出格式:

若这Q组信息不矛盾,那么输出一行,共N个数。第i个数表示数组A[i]的值,如果无法推测出A[i]的值,那么用字母o代替

若这Q组信息出现矛盾,那么输出一个字符x即可

输入样例1:

4 3
1 3 2
2 3 1
1 2 5

输出样例1:

1 4 -3 o

题目给出了信息:A[1]+A[2]+A[3]=2、A[2]+A[3]=1、A[1]+A[2]=5

A[4]无法根据已知信息推导出来

A[1]=A[1]+A[2]+A[3]−(A[2]+A[3])=2−1=1

A[2]=A[1]+A[2]−A[1]=5−1=4

A[3]=A[2]+A[3]−A[2]=1−4=−3

输入样例2:

4 3
3 3 2
1 2 2
1 3 3

输出样例2:

x

题目给出了A[3]=2, 又有A[3]=A[3]+A[2]+A[1]−(A[1]+A[2])=3−2=1, 产生矛盾,因此只输出一个字符x

把和抽象成图 建边 

a[1]+a[2]+a[3]=2---> 0到3距离为2 

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
const int N=2200;
int g[N][N];
int dist[N];//虚拟原点0 dist[]数组表示0-其他点的距离
int n,m;
int flag;
void bfs()
{
	memset(dist,0x3f,sizeof dist);
	dist[0]=0;
	queue<int>q;
	q.push(0);
	while(q.size())
	{
		int t=q.front();
		q.pop();
		for(int i=0;i<=n;i++)
		{
			if(g[t][i]!=0x3f3f3f3f)
			{
				if(dist[i]==0x3f3f3f3f)
				{
					dist[i]=dist[t]+g[t][i];
					q.push(i);
				}
				else if(dist[i]!=dist[t]+g[t][i])
				{
					flag=1;
					break;
				}
			}
		}
	}
}
int main()
{
	cin>>n>>m;
	memset(g,0x3f,sizeof g);
	while(m--)
	{
		int a,b,c;cin>>a>>b>>c;
		g[a-1][b]=c;
		g[b][a-1]=-c;
	}
	bfs();
	if(flag) cout<<"x"<<endl;
	else
	{
		int tt=0;
		for(int i=1;i<=n;i++)
		{
			if(tt)cout<<" ";
			if(dist[i]==0x3f3f3f3f||dist[i-1]==0x3f3f3f3f) cout<<"o";
			else cout<<dist[i]-dist[i-1];
			tt=1;
		}
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/466908.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hadoop分布式环境搭建

准备三台centos虚拟机 。&#xff08;master&#xff0c;slave1&#xff0c;slave2&#xff09; (hadoop、jdk文件链接&#xff1a;https://pan.baidu.com/s/1wal1CSF1oO2h4dkSbceODg 提取码&#xff1a;4zra) 前四步可参考hadoop伪分布式环境搭建详解-CSDN博客 1.修改主机名…

免登录积分商城系统 动力商城 兑换商城源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 免登录积分商城源码/动力商城/兑换商城系统 之前互站买来的&#xff0c;看着还是很不错的&#xff0c;不需要注册登录的商城&#xff0c;东西完整。UI也挺漂亮&#xff0c;这相当于是…

全球造爆款,海尔智家凭什么?

据说&#xff0c;广东人是地球上最像三体人的群体&#xff0c;因为需要时刻小心脱水和浸泡的时机。 这是因为广东人每年春天都会经历的现实噩梦“回南天”。墙壁淌水、地板湿滑、衣服干不了……浸泡在回南天里的广东人&#xff0c;喜提最新地狱笑话&#xff1a;“广东人有望最…

.rmallox勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言&#xff1a; 近年来&#xff0c;勒索病毒的威胁日益增加&#xff0c;其中一种名为.rmallox的勒索病毒备受关注。这种病毒通过加密文件并勒索赎金来威胁受害者。本文将介绍.rmallox勒索病毒的特点&#xff0c;以及如何恢复被其加密的数据文件&#xff0c;并提供预防措施&a…

【kaggle竞赛】从手写图像数据集中正确识别数字

1. 题目&#xff1a; 在本次比赛中&#xff0c;您的目标是从数以万计的手写图像数据集中正确识别数字。 1.1. Goal 目标✨ 本次比赛的目标是拍摄手写个位数的图像&#xff0c;并确定该数字是什么。 对于测试集中的每个标签&#xff0c;您都应该预测正确的标签。 本次比赛的…

《我的AUTOSAR之路》ECUM(二) 唤醒处理

ECUM唤醒 1 EcuM 唤醒源2 EcuM 唤醒源配置3 Can 通道唤醒源调用解析1 EcuM 唤醒源 AUTOSAR 唤醒过程包含的步骤 检查唤醒源和上报唤醒时间唤醒源保护唤醒过程是独立于 EcuM 休眠阶段的,但是唤醒时间可以用于休眠阶段 在整个 Ecu 所有阶段,唤醒事件都可以存在唤醒不单单指 Ecu …

【Nutx3】middleware目录介绍

简言 记录下nuxt3middleware目录的使用方法。 middleware middleware是存放路由中间件的文件目录。 路由中间件有三种&#xff1a; 匿名&#xff08;或内联&#xff09;路由中间件直接在页面中定义。已命名的路由中间件&#xff0c;放在 middleware/ 中&#xff0c;页面使用…

4.1_4 文件的物理结构

文章目录 4.1_4 文件的物理结构&#xff08;一&#xff09;文件块、磁盘块&#xff08;二&#xff09;文件分配方式——连续分配&#xff08;三&#xff09;文件分配方式——链接分配&#xff08;1&#xff09;链接分配——隐式链接&#xff08;2&#xff09;链接分配——显式链…

慢sql优化

1.避免使用select *&#xff0c;而是明确列出需要的列&#xff0c; 2.小表驱动大表&#xff0c;in适用于左边大表&#xff0c;右边小表。 exists适用于左边小表&#xff0c;右边大表。 3.批量操作&#xff1a;如果每次插入数据库数据&#xff0c;都要连接一次数据库&#xf…

若依 ruoyi-cloud [网关异常处理]请求路径:/system/user/getInfo,异常信息:404

这里遇到的情况是因为nacos中的配置文件与项目启动时的编码不一样&#xff0c;若配置文件中有中文注释&#xff0c;那么用idea启动项目的时候&#xff0c;在参数中加上 -Dfile.encodingutf-8 &#xff0c;保持编码一致&#xff0c;&#xff08;用中文注释的配置文件&#xff0c…

杂货铺 | vscode配置C/C++环境(亲测极简ver)

文章目录 &#x1f4da;Step1&#xff1a;下载安装VSCode&#x1f4da;Step2&#xff1a;下载安装g&#x1f4da;Step3&#xff1a;编辑环境变量&#x1f4da;Step4&#xff1a;安装vscode插件&#x1f4da;Step5&#xff1a;建好文件夹⭐️&#x1f4da;Step6&#xff1a;开始…

linux(Ubuntu22) 一篇带你学会Linux,详细篇

Linux 简介 精通Linux&#xff0c;自带python&#xff0c;系统开源 电脑可安装双系统 c盘安装win D盘安装linux 在一套硬件上只能同时运行一个操作系统 虚拟机 模拟真实环境 在虚拟机内运行操作系统 需要硬件支持虚拟化 开启VT-X VM…

深度剖析:数字经济下人工智能水平的新测算模型数据集

数据来源&#xff1a;企业年报时间跨度&#xff1a;1991-2022年数据范围&#xff1a;各企业数据指标&#xff1a; 年份 股票代码 公司名称 总词频 词频加1取对数 人工智能 计算机视觉 图像识别 知识图谱 智能教育 增强现实 智能政务 特征提…

【小迪安全】学习cho1

介绍了一些名词&#xff1a; POC、EXP、Payload与Shellcode nc -lvvp 端口号 监听服务器端口 个人用机使用最多的是&#xff1a;windows10 服务器用机使用最多的是&#xff1a;Windows8&#xff0c;12&#xff0c;16 流量被防火墙拦截了&#xff0c;到这里进行给与权限 文件…

资深HR是如何做人力资源管理的?企业人力资源该如何分析?

人力资源管理旨在通过招聘、甄选、培训、薪酬、绩效、职业规划等多方面的有效手段&#xff0c;科学合理地管理企业的人力资源&#xff0c;以满足当前及未来的发展需求&#xff0c;并确保实现企业既定目标。在人才竞争激烈的时代&#xff0c;许多初涉人力资源领域的从业者都对人…

python 深度学习 记录遇到的报错问题12

本篇继python 深度学习 记录遇到的报错问题11_undefined symbol: __nvjitlinkadddata_12_1, version-CSDN博客 目录 一、AttributeError: module ‘tensorflow‘ has no attribute ‘app‘ 二、AttributeError: module tensorflow has no attribute placeholder 三、Attribu…

html密码访问单页自定义跳转页面源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 密码访问单页自定义跳转页面&#xff0c;修改了的密码访问单页&#xff0c;添加了js自定义密码跳转页面。需要正确输入密码才能跳转目标网址。 二、效果展示 1.部分代码 代码如下&…

9. 编程常见错误归类

编程常见错误归类 9.1 编译型错误9.2 链接型错误9.3 运行时错误 9.1 编译型错误 编译型错误⼀般都是语法错误&#xff0c;这类错误⼀般看错误信息就能找到⼀些蛛丝马迹的&#xff0c;双击错误信息也能初步的跳转到代码错误的地方或者附近。编译错误&#xff0c;随着语言的熟练…

2024蓝桥杯每日一题(DFS)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;奶牛选美 试题二&#xff1a;树的重心 试题三&#xff1a;大臣的差旅费 试题四&#xff1a;扫雷 试题一&#xff1a;奶牛选美 【题目描述】 听说最近两斑点的奶牛最受欢迎&#xff0c;…

【云呐】固定资产管理系统的功能有哪些?管理工具

为了提高经营效率&#xff0c;降低企业成本&#xff0c;许多企业选择固定资产管理系统。那么&#xff0c;固定资产管理系统有什么作用呢&#xff1f; 资产登记&#xff1a;  固定资产管理系统可以方便地登记公司的固定资产&#xff0c;包括资产名称、规格型号、购买日期、使…