逃跑【蓝桥杯】/链式前向星建图

逃跑



链式前向星建图

这一题主要想学习一下链式前向星,附上别人的思路

cpp 复制代码
#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
struct edge
{
    int v,ne;
};
edge e[2000006];
int h[1000006];
int cnt;
void add(int u,int v)
{
    e[++cnt]={v,h[u]};
    h[u]=cnt;
}
int t;
double f[1000006];
bool flag[1000006];
double p;
void dfs(int u,int fa)
{
    if(flag[u]) t++;
    for(int i=h[u];i;i=e[i].ne)
    {
        int v=e[i].v;
        if(v==fa) continue;
        if(flag[u]) f[v]=f[u]+1;
        else f[v]=f[u]+pow(p,t);
        dfs(v,u);
    }
    if(flag[u]) t--;
}
int main()
{
    ll n,m;
    cin>>n>>m>>p;
    for(int i=0;i<n-1;i++)
    {
        int u,v;
        cin>>u>>v;
        add(u,v);
        add(v,u);
    }
    for(int i=0;i<m;i++)
    {
        int a;
        cin>>a;
        flag[a]=1;
    }
    dfs(1,0);
    double sum=0;
    for(int i=1;i<=n;i++) sum+=f[i];
    printf("%.2f",sum/(double)n);
    return 0;
}
相关推荐
打码的老程是远篁9 小时前
手把手教你玩转大模型——3. Transformer 的位置编码——模型怎么知道谁在前,谁在后?
人工智能·算法
嘎嘎风9 小时前
MiniMind 学习笔记之 06 一张图、一百行:MiniMind 的骨架
算法·源码
用户7341681035489 小时前
只盯被动响应做状态监测?论“控制信号”在变工况故障诊断中的重要作用
算法
Ivanqhz9 小时前
MQA、GQA、稀疏/滑动窗口注意力及混合范式
人工智能·算法·机器学习
罗湖老棍子9 小时前
荒岛野人(信息学奥赛一本通- P1637)(洛谷-P2421)
算法·数论·枚举·裴蜀定理·扩展欧几里得·扩展中国剩余定理
朝朝辞暮i9 小时前
C++ 第 40 章:ROS2 Publisher + Timer + Subscriber + Callback + Executor 完整闭环
开发语言·c++·算法·ros2
400分9 小时前
具身智能系列之从零到「机械臂会放试管」:π0.5 VLA 真机部署完全指南【第一节】
算法
小宋10219 小时前
一套服务托管多个 LoRA:适配器加载、租户隔离与热切换实战
大数据·人工智能·算法
Rosanci9 小时前
Codex 下载与本地部署实战:从安装到运行全流程指南
开发语言·前端·算法·chatgpt·codex
我爱工作&工作love我9 小时前
P14358 [CSP-J 2025] 座位
算法