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

淀粉质(点分治)总结

点分治是树上的一种算法范式,可以解决一些树上问题。

从例题来看吧:

P4178 Tree

题目描述

给定一棵 \(n\) 个节点的树,每条边有边权,求出树上两点距离小于等于 \(k\) 的点对数量。

输入格式

第一行输入一个整数 \(n\),表示节点个数。

第二行到第 \(n\) 行每行输入三个整数 \(u,v,w\) ,表示 \(u\)\(v\) 有一条边,边权是 \(w\)

\(n+1\) 行一个整数 \(k\)

输出格式

一行一个整数,表示答案。

输入输出样例 #1

输入 #1

7
1 6 13 
6 3 9 
3 5 7 
4 1 3 
2 4 20 
4 7 2 
10

输出 #1

5

说明/提示

数据规模与约定

对于全部的测试点,保证:

  • \(1\leq n\leq 4\times 10^4\)
  • \(1\leq u,v\leq n\)
  • \(0\leq w\leq 10^3\)
  • \(0\leq k\leq 2\times 10^4\)

解决这个问题,大概分为4个步骤。DFS!计算经过以x为根的路径方案!枚举每一个子节点,来统计各个点到x的距离!双指针统计!

http://www.vanclimg.com/news/2650.html

相关文章:

  • MATLAB的图像融合方法:IHS、PCA、拉普拉斯、PCNN、小波
  • 基于YOLOv8的有无戴安全帽检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
  • 测试
  • IDEA Plugins:通义灵码
  • 平衡树
  • Windows 平台的路由表配置
  • 怎么使用德布鲁因序列编码三色激光条纹?
  • BSC链验证者更新机制深度解析:Epoch、Snapshot与实时控制 - 若
  • Iron Software:助力.NET开发者轻松实现文档和图像处理功能
  • 通过对二维地震模拟中有限差分法进行模拟,实现地震合成记录
  • Three.js 的第一个工程-添加文本
  • Random
  • SLF4J Logback Log4j, Log4j2
  • 理解非线性市值因子NLSIZE/MIDCAP
  • 杜教筛
  • Java核心类——3.StringJoiner
  • Messager 详解:WPF 中的消息传递与数据绑定入门指南
  • Fastmcp 案例五(Cherry Studio调式 ,结合案例四)
  • Unity加载资源的方式
  • IMA-Appraisal HASH fix mode和enforce mode的解释
  • C# Avalonia 06 - Controls- MediaElement
  • 学习笔记《莫比乌斯反演》
  • 惯性导航+DVL的组合导航算法
  • CVE-2016-5385 CGI 应用环境变量注入漏洞 (复现)
  • spring和Mybatis的逆向工程
  • 解决keil使用UTF-8乱码问题,兼容UTF-8编码,但keil显示不乱码的解决方案
  • 解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题
  • godot 二维报表库
  • EG800KCN移远4G模块wifiscan辅助定位
  • 基于小波分析和TV非凸模型的图像去模糊去噪算法