当前位置: 首页 > ai >正文

推导部分和-图论+dfs+连通块

先研究一下,感觉有点像lca里的树上前缀和,不过树有多颗,用color区分一下

https://www.luogu.com.cn/problem/P8779

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
int n,k,m,cnt;
typedef struct edge
{int v;ll w;
}edge ;
vector<edge> mp[N];
int color[N];
ll pre_sum[N];///前缀和 
void dfs(int u,ll d,int cnt)///树上前缀和的思路,color标记不同的树 
{pre_sum[u]=d;color[u]=cnt;for(auto a:mp[u]){int v=a.v;ll w=a.w;if(color[v]) continue;dfs(v,d+w,cnt);}
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m>>k;for(int i=0;i<m;i++){int u,v;ll w;cin>>u>>v>>w;mp[u-1].push_back({v,w});///0-5时正的 mp[v].push_back({u-1,-1*w});///5-0是负的 }for(int i=1;i<=n;i++){if(!color[i]){dfs(i,0,++cnt); ///Color来标记和区分不同树 }}while(k--){int l,r;cin>>l>>r;if(color[l-1]!=color[r]) cout<<"UNKNOWN"<<endl;///不在同一棵树 else{cout<<pre_sum[r]-pre_sum[l-1]<<endl;///区间和用树上前缀和来求 }}return 0;
}

http://www.xdnf.cn/news/4217.html

相关文章:

  • 【MongoDB篇】MongoDB的聚合框架!
  • 【区块链】Uniswap详细介绍
  • HTML07:表格标签
  • 多线程2-多线程编程
  • 【网络原理】IP协议
  • Git 使用的全流程以及SourceTree工具的使用操作和忽略文件的配置
  • BERT预训练
  • ArrayList 和 LinkedList 的区别
  • 「Mac畅玩AIGC与多模态21」开发篇17 - 多字段判断与多路径分支工作流示例
  • 《Python星球日记》 第36天:线性代数基础
  • 静态库和动态库的区别
  • 【强化学习】什么是强化学习?2025
  • tp8+swoole搭建
  • 5.2创新架构
  • Linux/AndroidOS中进程间的通信线程间的同步 - 虚拟内存操作
  • 20250506让NanoPi NEO core开发板使用Ubuntu core16.04系统的TF卡启动
  • 德尔菲法和层次分析法是什么
  • 基于STM32、HAL库的W25Q32JVSSIQ NOR FLASH存储器驱动应用程序设计
  • 【日撸 Java 三百行】Day 3(注释,基本if语句,函数调用)
  • Vue 2.0 详解全教程(含 Axios 封装 + 路由守卫 + 实战进阶)
  • OpenCV 图形API(78)图像与通道拼接函数-----调整图像大小的函数resize()
  • C# 方法(值参数和引用参数)
  • mysql 如何查询数据库链接日志
  • Spring 中四种常见初始化方法,对比 static {} 和 @PostConstruct 在并发,Spring 加载顺序大致为: JVM 加载类
  • 生成了一个AI算法
  • 网络安全的范式革命:从被动防御到 AI 驱动的主动对抗
  • 基于大模型的自然临产阴道分娩全流程预测与方案研究报告
  • 开个帖子记录一下自己学spring源码的过程
  • Spyglass:官方Hands-on Training(三)
  • 数据中台架构设计