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

打卡信奥刷题(3321)用C++实现信奥题 P9208 虚人「无」

P9208 虚人「无」题目背景一点也不美丽的不死鸟。那双锐爪沾染了无辜的鲜血。题目描述给定二元序列{(vi,ci)}\{(v_i,c_i)\}{(vi​,ci​)}和一棵以111为根的有根树。第iii个点的点权是(vi,ci)(v_i,c_i)(vi​,ci​)。定义一个非根节点的权值为其子树内的ccc的积乘上其子树补的vvv的积。定义一个根节点的权值为其子树内的ccc的积。形式化的讲若uuu不为根节点则uuu的权值fuf_ufu​为fu∏v∈substree⁡(u)cv×∏v∉substree⁡(u)vvf_u\prod\limits_{v\in \operatorname{substree}(u)} c_v\times \prod\limits_{v\notin \operatorname{substree}(u)} v_vfu​v∈substree(u)∏​cv​×v∈/substree(u)∏​vv​否则其权值fuf_ufu​为fu∏v1ncvf_u\prod\limits_{v1}^n c_vfu​v1∏n​cv​试求整棵树所有节点的权值之和答案对mmm取模。请注意保证m\bm mm是质数。输入格式第一行两个正整数n,mn,mn,m。接下来n−1n-1n−1行每行两个数u,vu,vu,v表示u,vu,vu,v之间有一条边。接下来一行nnn个数表示c1,2,…,nc_{1, 2, \dots, n}c1,2,…,n​。接下来一行nnn个数表示v1,2,…,nv_{1, 2, \dots, n}v1,2,…,n​。输出格式输出一个数表示答案对mmm取模后的结果。输入输出样例 #1输入 #13 998244853 1 2 1 3 2 1 2 1 2 2输出 #110输入输出样例 #2输入 #25 998244353 1 2 1 3 1 4 4 5 5 5 5 2 3 6 6 1 5 3输出 #24656说明/提示样例解释图片有误应该交换v,cv,cv,c的权值。数据范围及约定对于100%100\%100%的数据满足1≤n≤3×1051\le n\leq 3\times 10^51≤n≤3×1051≤vi,ci,m≤1091\leq v_i,c_i,m\leq 10^91≤vi​,ci​,m≤109。C实现#includebits/stdc.husingnamespacestd;#definelllonglongconstintN3e53;intn,m;ll c[N],v[N],L[N],R[N],id[N],tot,ans;ll sc[N],lv[N],rv[N];vectorinte[N];voiddfs(intx,intf){sc[x]c[x];L[x]tot,id[tot]x;for(autoy:e[x]){if(yf)continue;dfs(y,x);sc[x](sc[x]*sc[y])%m;}R[x]tot;}intmain(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);//个人习惯输入输出优化cinnm;for(inti1;in;i){intx,y;cinxy;e[x].push_back(y);e[y].push_back(x);}for(inti1;in;i)cinc[i];for(inti1;in;i)cinv[i];dfs(1,0);lv[0]rv[n1]1;for(inti1;in;i)lv[i](lv[i-1]*v[id[i]])%m;for(intin;i0;i--)rv[i](rv[i1]*v[id[i]])%m;anssc[1]%m;for(inti2;in;i)ans(((lv[L[i]-1]*rv[R[i]1])%m*sc[i])%mans)%m;coutans;return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
http://www.rkmt.cn/news/1391228.html

相关文章:

  • 书匠策AI被我扒了个底朝天!原来毕业论文还能这样“无痛通关“?
  • 华硕笔记本屏幕色彩异常?G-Helper开源工具帮你完美修复
  • 汉明距离原理与工程实践:从二进制校验到DNA比对
  • 终极指南:如何零成本获取明日方舟12000+专业游戏美术资源
  • NVIDIA Profile Inspector:解锁显卡200+隐藏设置的终极解决方案
  • AWS S3与EFS混合存储实战:生产级配置、成本优化与故障排查
  • 量子噪声对傅里叶模型的影响与优化策略
  • 温州黄金上门回收测评,福运来五星推荐 - 黄金回收
  • 基于游程统计复杂度的自适应JPEG隐写方案设计与实现
  • Excel敏感性分析实战:数据表、Solver与条件格式三剑合璧
  • 观察Taotoken在多模型间智能路由与故障转移的稳定性表现
  • 中国首个水性墨凹版印刷应用中心落地龙港:行业绿色转型的关键一步
  • Creo浮动许可回收,5款工具功能对比
  • 别再乱设阻尼了!Abaqus动力分析中瑞利阻尼参数α和β的实战计算与避坑指南
  • Unity VR开发环境配置:从版本兼容到Player Settings深度调优
  • Lovable看板搭建避坑白皮书:2024新版API变更后,这4个兼容性断点正在 silently 毁掉你的数据可信度
  • 棋牌平台业务逻辑渗透测试实战:资金链路与状态安全
  • 使用 Python 脚本通过 Taotoken 聚合接口批量处理文本摘要任务
  • 西安黄金回收店TOP5实测排行:光谱仪不扣损耗上门快 - 西安知道
  • ThinkPad风扇控制优化方案:TPFanCtrl2实现嵌入式控制器精细调优
  • 重庆黄金上门回收怎么选?福运来口碑领跑 - 黄金回收
  • 神经网络训练:BP与FTP算法对比与应用
  • GPT-Image 2隐藏玩法:给美食照片加上手绘注解,朋友圈点赞翻倍
  • 设备端DNN训练加速器设计:攻克数据流、内存墙与计算能效挑战
  • Lovable社交平台开发全链路拆解(含Figma原型+React Native+Firebase部署实录)
  • 从零搭建JIRA项目:手把手教你配置关键字段、工作流和权限(2024最新版)
  • 开出惊喜感:盲盒源码小程序V6MAX系统与盲盒app源码程序 - 壹软科技
  • PersistentWindows终极指南:快速解决Windows窗口记忆难题的完整方案
  • 如何5分钟在通达信上实现专业级缠论分析:ChanlunX开源插件完整指南
  • 便携式半屏蔽室设计:精准隔离Fat-IBC信号路径的工程实践