乃爱与城市拥挤程度

2024-03-16 23:48
文章标签 城市 程度 拥挤 乃爱

本文主要是介绍乃爱与城市拥挤程度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

乃爱与城市拥挤程度

题解

本题很明显是一道树形dp,我们可以分别记录下当前节点的和与积。

在i的子树上,siz_{i}_{j}表示距点i距离为j的点的数量,mul_{i}_{j}表示距点i为j的点的积,即当前位置当k=j时的拥堵值。

f_{i}为当前点为选定点的人数,g_{i}为当前点为选定点的拥挤度乘积。

每个点对他的祖先的贡献为\frac{mul_{fa_{z},k-z}}{mul_{fa_{z-1},k-z-1}}。我们只需记录下它子孙对其的贡献,与其本身的值即可。

源码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<stack>
#include<vector>
#include<queue>
#define MAXN 1000005
using namespace std;
typedef long long LL;
const LL INF=0x3f3f3f3f;
const int mo=1e9+7;
int n,k,father[MAXN];
LL siz[MAXN][15],mul[MAXN][15];
LL dp[MAXN],ct[MAXN],num[15];
int nxt[MAXN],to[MAXN];
int head[MAXN],tot;
#define gc() getchar()
template<typename _T>
inline void read(_T &x)
{_T f=1;x=0;char s=gc();while(s>'9'||s<'0'){if(s=='-')f=-1;s=gc();}while(s>='0'&&s<='9'){x=(x<<3)+(x<<1)+(s^48);s=gc();}x*=f;
}
void addEdge(int u,int v)
{to[++tot]=v;nxt[tot]=head[u];head[u]=tot;
}
void dfs(int u)
{for(int i=0;i<=k;i++)siz[u][i]=mul[u][i]=1LL;for(int i=head[u];i;i=nxt[i]){int v=to[i];//printf("-->%d %d\n",i,to[i]);     if(v==father[u]) continue;father[v]=u;dfs(v);for(int j=1;j<=k;j++){siz[u][j]+=siz[v][j-1];(mul[u][j]*=(mul[v][j-1]*siz[v][j-1])%mo)%=mo;}}
}
LL qkpow(LL a,LL s)
{LL t=1;while(s){if(s&1)t=(t*a)%mo;a=(a*a)%mo;s>>=1;}return t;
}
void dfs2(int u,int fa)
{  memset(num,0,sizeof(num));LL dep=k,now=u;dp[u]=num[k]=siz[u][k];while(--dep&&father[now]){dp[u]+=siz[father[now]][dep]-siz[now][dep-1];num[dep]=dp[u];now=father[now];}if(father[now]) dp[u]++;dep=k,now=u;ct[u]=mul[u][k]*dp[u]%mo;while(--dep&&father[now]){(ct[u]*=mul[father[now]][dep]*qkpow(mul[now][dep-1]*siz[now][dep-1]%mo,mo-2)%mo)%=mo;(ct[u]*=dp[u]-num[dep+1])%=mo;now=father[now];}for(int i=head[u];i;i=nxt[i]){int v=to[i];if(v==fa) continue;dfs2(v,u);}
}
int main()
{ read(n);read(k);for(int i=1;i<n;i++){int u,v;scanf("%d %d",&u,&v);addEdge(u,v);addEdge(v,u);}dfs(1);dfs2(1,0);for(int i=1;i<=n;i++)printf("%lld ",dp[i]);puts("");for(int i=1;i<=n;i++)printf("%lld ",ct[i]);return 0;
}

谢谢!!!

这篇关于乃爱与城市拥挤程度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817135

相关文章

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

2024年上海松江启动建筑绿色低碳发展专项检查,共绘城市节能新篇章

2024年9月4日,2024年度松江区建筑工程绿色低碳发展工作专项检查会议正式开展,会议内容主要围绕以下三点, 1、《关于开展 2024年度本市建筑领域绿色低碳发展工作监督检查的通知》宣贯。 2、分项计量、能效测评工作验收要求介绍。 3、专项检查工作安排。 我国在早期没有高度重视建筑物的环保节能,造成了过去30年内竣工的建筑绝大多数是高能耗工程建筑,这类工程建筑在未来几十年里将耗费许多能源

五星级可视化页面(06):城市鸟瞰页面,居高临下,高屋建瓴。

本期分享城市鸟瞰图的可视化大屏幕,这类场景一般在智慧城市和城市治理可视化中常用。

利用高德API获取整个城市的公交路线并可视化(四)

副标题:公共汽电车站点覆盖率——以厦门市公交线路为例 书接上回,我们有了公交的线路、站点数据,并同时对数据质量进行了校验,但是不同城市情况不同,需要看当地对公交交通数据的开放程度,部分城市建设的有大数据平台,也可以检索到公共交通的一些标签数据,这篇文章我们来讨论一下公交覆盖率; 公交数据获取方式参考我上篇文章:利用高德API获取整个城市的公交路线并可视化(三)-CSDN博客 首先先根据行政区

P4842 城市旅行(拆贡献 + LCT)

https://www.luogu.com.cn/problem/P4842 发现题目就是要维护一个LCT,然后我们只要把pushup写成功了就行。 那我们现在就不管LCT了,就单纯想用一棵二叉查找树怎么维护。分母是好搞的,分子我们要想点办法。 考虑右子树对左子树的贡献,我们假设处理出一个 L [ k ] L[k] L[k] 表示左子树中每个值乘以左边界的可选数量,我们现在再乘上右子树的大

积累程度 poj3585

有一个树形的水系,由 N-1 条河道和 N 个交叉点组成。 我们可以把交叉点看作树中的节点,编号为 1~N,河道则看作树中的无向边。 每条河道都有一个容量,连接 x 与 y 的河道的容量记为 c(x,y)。 河道中单位时间流过的水量不能超过河道的容量。 有一个节点是整个水系的发源地,可以源源不断地流出水,我们称之为源点。 除了源点之外,树中所有度数为 1 的节点都是入海口,可以吸收无限多

可以进行非机动车违停、人员聚集、临街摆摊、垃圾满溢、烟雾火情等城市治理场景的智能识别的智慧城管开源了

智慧城管视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。 基于深度学习技术及强大的专家团队,针对多个工业垂类场景进行算法优化,打造最优的工业AI算法模型,提供更加精准的工业AI模型库,客户可直接选择适合自己业务场景的模型,快速实现业务落地

讨论运维监控工具的普及程度

在讨论运维监控工具的普及程度时,加入PIGOSS BSM产品的分析是非常有意义的,因为PIGOSS BSM是一款在中国市场具有一定影响力的运维监控工具。 PIGOSS BSM运维监控工具是一款综合性的IT运维监控解决方案,它能够对多层次的IT资源进行监测,包括但不限于性能监测、事件管理、报表管理等功能模块。PIGOSS BSM的一个独特之处在于其拓扑关联配置工具,这使得用户可以根据自身的I

渣土车识别算法解决城市治理难题

随着城市化进程的加速,渣土车作为建筑工程中不可或缺的运输工具,其频繁的穿行和装载运输过程往往引发一系列问题,如超载、扬尘污染、乱倒渣土等,对城市环境和交通秩序造成了不良影响。为了解决这些问题,采用基于视觉分析的渣土车识别算法已成为现代城市治理中一种有效的技术手段。本文将从背景、技术实现、功能优势和应用方式等多个方面,探讨如何利用视觉分析技术来识别和管理渣土车,从而实现智能化、精细化的城市管理。

智慧环卫:城市清洁的未来图景与技术革新

在智慧城市的宏伟蓝图中,“智慧环卫”正以其独特的姿态,悄然改变着城市的清洁与环境卫生管理方式。智慧环卫不仅仅是技术的简单应用,更是城市管理智慧化、生态化的重要体现。本文旨在深入探讨智慧环卫的内涵、技术支撑、实践案例及对城市环境改善的深远影响。 智慧环卫:定义与价值 智慧环卫是指通过集成物联网(IoT)、大数据、地理信息系统(GIS)、人工智能(AI)等技术,对城市垃圾收运、清洁作业、公厕所以及