整体思想以及取模
前言:一开始由于失误,误以为分数相加取模不能,但是其实是可以取模的
这个题目如果按照一般方法,到达每个节点再进行概率统计,但是不知道为什么只过了百分之十五的测试集
题目地址

附上没过关的代码
#include<bits/stdc++.h>
using namespace std;#define int long longint n; int ans = 0;
const int N = (int)2e6 + 5;
const int Mod = 998244353;
int e[N], ne[N], h[N / 2], idx = 0;
void add(int a, int b) {e[++idx] = b, ne[idx] = h[a], h[a] = idx;
}int qw(int x, int p) {int temp = 1;while (p) {if(p&1)temp = x * temp % Mod;x = x * x % Mod;p >>= 1;}return temp;
}void dfs(int u, int fa, int g, int step) {int cnt = 0;for (int i = h[u]; i; i = ne[i]) {int v = e[i]; if (fa == v) continue;cnt++;}if (cnt == 0) {// 已经是子节点了 //ans = (ans + (step % Mod) * qw(g, Mod - 2)) % Mod; return;ans = (ans + step*g%Mod) % Mod; return;}g = (g % Mod) * (qw(cnt, Mod - 2) % Mod) % Mod;for (int i = h[u]; i; i = ne[i]) {int v = e[i]; if (fa == v) continue;dfs(v, u, g , step + 1);}
}signed main() {cin >> n;for(int i=1;i<n;i++){int u,v; cin >> u >> v;add(u,v),add(v,u);}if(n==1){cout << 0 ; return 0;}dfs(1,0,1,0);cout << ans;return 0;
}
再写一个过关的,按照官方答案的解法的
#include<bits/stdc++.h>
using namespace std;#define int long longint n; int ans = 0;
const int N = (int)2e6 + 5;
const int Mod = 998244353;
const int P = 998244353;
int e[N], ne[N], h[N / 2], idx = 0;
vector<int> a[N / 2];
int siz[N], ye[N]; // 记录每一层的节点个数以及叶子节点的个数
void add(int a, int b) {e[++idx] = b, ne[idx] = h[a], h[a] = idx;
}int qw(int x, int p) {int temp = 1;while (p) {if (p & 1)temp = x * temp % Mod;x = x * x % Mod;p >>= 1;}return temp;
}void dfs(int u, int fa, int dep) {int cnt = 0; siz[dep]++;for (int i = h[u]; i; i = ne[i]) {int to = e[i]; if (to == fa) continue;cnt++; dfs(to, u, dep + 1);}if (cnt == 0) {ye[dep]++;}
}void solve() {int pre = 1; // 概率for (int i = 1; i < n; i++) {//cout << " siz " << i << " " << ye[i] << endl;if (siz[i] == 0) break;//ans = (ans+(pre*(ye[i]*(qw(siz[i],Mod-2),Mod-2)%Mod)%Mod) * (i)%Mod) % Mod;ans = (ans + pre * ye[i] % P * qw(siz[i], P - 2) % P * (i) % P) % P;pre = pre * ((siz[i] - ye[i]) * (qw(siz[i], Mod - 2)) % Mod)%Mod;//pre = pre * (((siz[i] - ye[i]) % P + P) % P) % P * qw(siz[i], P - 2) % P;}cout << ans; return;
}signed main() {cin >> n;for (int i = 1; i < n; i++) {int u, v; cin >> u >> v;add(u, v), add(v, u);//a[u].push_back(v); a[v].push_back(u);}if (n == 1) {cout << 0; return 0;}dfs(1, 0, 0);solve();return 0;
}
相关文章:
整体思想以及取模
前言:一开始由于失误,误以为分数相加取模不能,但是其实是可以取模的 这个题目如果按照一般方法,到达每个节点再进行概率统计,但是不知道为什么只过了百分之十五的测试集 题目地址 附上没过关的代码 #include<bits…...
RabbitMQ 消息可靠保障
RabbitMQ 消息可靠保障 消息的可靠性保证生产者重连生产者确认解决思路A-确认机制解决思路B-备份交换机 MQ 服务器宕机导致消息丢失消费端消息的可靠性保障 消费端限流给消息生成唯一id 消息的可靠性保证 实际项目中 MQ 的流程一般是:生产端把消息路由到交换机&…...
Redis 作为 PHP 的会话存储
使用 Redis 作为 PHP 的会话存储,可以实现多个服务器之间的会话共享,提高会话管理的效率,特别是在分布式系统中。这种方法将会话数据存储在 Redis 中,而不是使用默认的文件系统,从而使多个服务器可以访问相同的会话数据…...
基于伏图的数字心脏模拟仿真APP应用介绍
一、背景介绍 心脏是保证人体正常运转最重要的动力,人体内的血液循环通过心血管运输到各个部位,因此,心血管系统的稳定是人体健康的关键。心血管内科领域极具专业性,其理论研究与技术发展日新月异,心血管疾病患者往往…...
智云-一个抓取web流量的轻量级蜜罐docker一键启动
智云-一个抓取web流量的轻量级蜜罐docker安装教程 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN docker快速启动(v1.4) git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git cd POT-ZHIYUN docker-compose up -d默认映射到80和8080端口 mysql不对外开放…...
原生HTML5、CSS、JavaScript实现简易网易云音乐播放
1.效果图 2.源码 1.index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网易云音乐</title><link rel"stylesheet" href"../CSS/index.css"> </head>…...
网上商城小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,商品信息管理,商品类型管理,活动专区管理,新品上架管理,用户评价管理,订单管理,系统管理 微信端账号功能包…...
微分方程(Blanchard Differential Equations 4th)中文版Section2.2
动力系统的几何分析 捕食者-猎物系统的向量场 在第2.1节中,我们展示了两个不同捕食者-猎物系统的 R ( t ) R(t) R(t) 和 F ( t ) F(t) F(t) 图形,但没有描述我们是如何生成这些图形的。我们将在第2.5节中解决这个问题,采用欧拉方法推广到…...
Swift 环境搭建
Swift 环境搭建 Swift 是由苹果公司开发的一种强类型编程语言,用于iOS、macOS、watchOS和tvOS应用程序的开发。搭建Swift开发环境是开始使用Swift进行编程的第一步。本文将详细介绍如何在不同的操作系统上搭建Swift开发环境。 在macOS上搭建Swift环境 系统要求 …...
科技与出版
科技与出版 ISSN: 1005-0590 CN: 11-3209/G3 常设栏目:特别策划、产业观察、融媒之光、编辑实务、营销方略、学术探索、创作空间等。 稿件要求 (1)来稿应有创新性;立论科学,主题明确,推理严谨;词语准确,…...
5年前端面试之路
作者:星空海绵 顺便吆喝一声,技术大厂,内推捞人,前/后端or测试←感兴趣 --加班偶尔较多,但周末加班两倍工资。 --15-35K,工资一线城市属于一般,但二线城市很可以。 前言 由于公司要进行…...
产品运营(一)--产品运营是什么?
1.运营是什么? 通过一系列穿针引线式的行为和资源投入,让一件事能持续良性运转。 运营面向的主体不同,使用的运营手段也是不同的。作用:赋予产品闪耀的光芒。距离用户最近的人(体验用户,成为用户?demo:k…...
学习大数据DAY41 Hive 分区表创建
目录 分区表 分区表应用场景 oracle 分区表种类 oracle 分区-范围分区 oracle 分区-列表分区 oracle 分区-散列分区 oracle 分区-组合分区 oracle 分区-分区表操作 hive 分区-创建分区表 hive 分区-分区表操作 hive 分区-动态分区表配置 上机练习 分区表 分区是将一…...
【三维目标检测模型】ImVoteNet
【版权声明】本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。 参考书籍:《人工智能点云处理及深度学习算法》 本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“https://blog.csdn.net/suiyin…...
力扣 | 背包dp | 279. 完全平方数、518. 零钱兑换 II、474. 一和零、377. 组合总和 Ⅳ
文章目录 一、279. 完全平方数二、518. 零钱兑换 II三、474. 一和零四、377. 组合总和 Ⅳ 一、279. 完全平方数 LeetCode:279. 完全平方数 朴素想法: 这个题目最简单的想法是,可以用 O ( n n ) O(n\sqrt{}n) O(n n)的动态规划解决&#x…...
【ECMAScript性能优化的技巧与陷阱】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
Swift实时监听判断是否连接有网络WIFI和蜂窝数据
本章节讲解如何使用swift连接网络,实时的监听到网络的状态,在主界面中进行调用,网络包含Wi-Fi 和 蜂窝。 1.封装一个判断是否有网络的类 2.在封装类注册通知 3.主界面接收注册通知,并且调用封装的网络类 4.成功测试,有…...
(三)Flink Source 数据源
Flink 数据源主要分为内置数据源和第三方数据源。其中内置数据源包含文件、Socket 连接、集合类型数据等,不需要引入其它依赖库。第三方数据源定义了 Flink 和外部系统数据交互的逻辑,Flink 提供了非常丰富的数据源连接器,例如 Kafka、Elasticsearch、RabbitMQ、JDBC 等。 …...
第四届机电一体化、自动化与智能控制国际学术会议(MAIC 2024)
目录 大会官网 会议简介 组织机构 大会主席 程序委员会主席 主讲嘉宾 征稿主题 参会说明 大会官网 http://www.icmaic.org 会议简介 第四届机电一体化、自动化与智能控制国际学术会议(MAIC 2024)将于2024年9月27-29日在中国成都召开。MAIC 20…...
leetcode 089 打家劫舍
leetcode 089 打家劫舍 题目 一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
