首页 > 其他分享 >ABC087D (套路题)

ABC087D (套路题)

时间:2024-02-27 10:26:22浏览次数:34  
标签:tot val 套路 long 100005 int ABC087D

难度1

套路题

对于多个\(x_{i}-y{i}=k_{i}\)的约束条件,考虑连边再dfs一下,如果冲突就exit

#include<bits/stdc++.h>
#define endl "\n"
using namespace std;
struct node{
	long long to,val;
}p;
long long T,n,m,x,y,z,dis[100005],tot[100005];
bool vis[100005];
vector<node>v[100005];
void dfs(int u,int tot){
	dis[u]=tot;
	vis[u]=true;
	for(int i=0;i<v[u].size();i++){
		int to=v[u][i].to,val=v[u][i].val;
		if(vis[to]==true){
			if(val+tot!=dis[to]){
				cout<<"No"<<endl;
				exit(0);
			}
		}
		else dfs(to,tot+val);
	}
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin>>n>>m;
	if(n==1){
		cout<<"Yes"<<endl;
		return 0;
	}
	for(long long i=1;i<=m;i++){
		cin>>x>>y>>z;
		p.to=x;
		p.val=z;
		v[y].push_back(p);
		p.to=y;
		p.val=-z;
		v[x].push_back(p);
	}
	for(int i=1;i<=n;i++){
		if(vis[i]==false){
			dfs(i,0);
		}
	}
	cout<<"Yes"<<endl;
	
	return 0;
}

标签:tot,val,套路,long,100005,int,ABC087D
From: https://www.cnblogs.com/wuhupai/p/18036299

相关文章

  • 面试官不按套路出牌,上来就让聊一聊Java中的迭代器(Iterator ),夺命连环问,怎么办?
    写在开头某大厂的面试现场,一位目光深邃,头顶稀疏的中年面试官坐在椅子上,这时候的我走了进来。面试官:“小伙子,学过Java中容器和数据结构了吧?”我:“嗯,学了”面试官:“ok,那你来聊一聊Java中的迭代器(Iterator),要说清楚他们的应用场景哈”我:“哦,好滴”内心独白:“这面试官不按套路......
  • ARC111B Reversible Cards 题解 (套路题)
    考虑将\(a_i,b_i\)之间连边,发现题目可以被转化为给定一个图,要求对于每条边将其一个顶点染色,问最多能将多少个点染色。于是我们对于每个连通块分开来考虑。对于一个连通块,注意到我们不能将每个顶点染色当且仅当这个连通块是树,且此时可以染色的定点数量为连通块大小减一,如下:如......
  • 对套路的理解
    《38-对套路的理解》在这个世界上行为只是表象,善意和坏心才是本质。套路处处存在,套路本身没有问题,有问题的是人心。比如人面兽心,当面一套背面一套,还有表面心连心背后动脑筋。善意的套路是可以接受的,比如爱情,有套路说明对方知情识趣。自古深情留不住,还是套路得人心。从某种程度......
  • 数据结构套路大赏
    现在感觉没啥写的,先留着以后会填的(一、线段树:1、线段树维护哈希2、线段树套DSU(其实没啥用)二、平衡树: 三、树状数组:1、树状数组二分(倍增),常数小,而且好写四、分块: 五、杂项:1、留意“取模”类的修改操作,每次取模会至少减半,哪怕看似暴力的解法也很有可能不高于nlogn2、扫......
  • 二分搜索套路
    我们前文我写了首诗,把二分搜索变成了默写题详细介绍了二分搜索的细节问题,探讨了「搜索一个元素」,「搜索左侧边界」,「搜索右侧边界」这三个情况,教你如何写出正确无bug的二分搜索算法。但是前文总结的二分搜索代码框架仅仅局限于「在有序数组中搜索指定元素」这个基本场景,具体......
  • Vue-router 子路由(嵌套路由)介绍
    在Vue.js应用程序中,路由是实现单页面应用(SPA)导航的关键。Vue-router是Vue.js官方的路由管理器,提供了声明式的路由配置方式。子路由是一种路由组织方式,允许开发者将路由嵌套在父路由下,形成层次化的路由结构。这种结构有助于更好地组织和管理复杂的应用程序。子路由的使用场......
  • 自古深情留不住,唯有套路得人心
    今天听了一个笑话:一个男孩跟同居男孩说,昨天碰见一个漂亮的女孩,说丢了2万块钱,我挺同情她,就帮着她找,后来她说她没钱了手机也没电了,我就送她回家,又给了她2000块钱希望她能度过难关,最后她说她也单身,就答应做我女朋友了,并且昨晚以身相许了。他的同屋室友说,你呀,社会经验不足,现在年底了,很......
  • 设计模式:行为型模式(套路:甩锅大法)
    文章目录行为型模式(BehavioralPattern)1.职责链模式(ChainofResponsibility)1.1.定义1.2.结构1.3.代码实现1.4.优缺点1.5.使用场景1.6.总结2.命令模式(Command)2.1.定义2.2.结构2.3.时序图2.4.代码实现2.5.优缺点2.6.使用场景2.7.总结3.解释器模式(Inter......
  • 设计模式:结构型模式(套路:包一层)
    文章目录结构型模式(StructuralPattern)1.适配器模式(Adapter)1.1.定义1.2.结构1.3.时序图1.4.代码实现1.4.1.对象适配器模式实现1.4.2.类适配器模式实现1.5.优缺点1.5.1.对象适配器模式1.5.2.类适配器模式1.6.使用场景1.7.总结2.桥接模式(Bridge)2.1.定义2.2......
  • vue-element-admin/litemall后端,超过两级嵌套路由无法缓存的问题
    本文主要针对的是litemall后端,vue-element-admin只需稍作修改应该也可以适用。路由扁平的思路主要来源于https://blog.csdn.net/weixin_40119256/article/details/111475571,另外解决面包屑显示问题,此文章作记录以供有需要的同行参考。keep-alive用于缓存不活跃的组件实例,避免重......