news 2026/4/16 15:13:55

打卡信奥刷题(2783)用C++实现信奥题 P3914 染色计数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2783)用C++实现信奥题 P3914 染色计数

P3914 染色计数

题目描述

有一颗N NN个节点的树,节点用1 , 2 , ⋯ , N 1,2,\cdots,N1,2,,N编号。你要给它染色,使得相邻节点的颜色不同。有M MM种颜色,用1 , 2 , ⋯ , M 1,2,\cdots,M1,2,,M编号。每个节点可以染M MM种颜色中的若干种,求不同染色方案的数量除以(10 9 + 7 10^9 + 7109+7)的余数。

输入格式

第1 行,2 个整数N , M N,MN,M

接下来N NN行,第i ii行表示节点i ii可以染的颜色。第1个整数k i k_iki,表示可以染的颜色数量。接下来k i k_iki个整数,表示可以染的颜色编号。

最后N − 1 N - 1N1行,每行2个整数A i , B i A_i,B_iAi,Bi,表示边( A i , B i ) (A_i,B_i)(Ai,Bi)

输出格式

1 个整数,表示所有的数。

输入输出样例 #1

输入 #1

2 2 1 1 2 1 2 1 2

输出 #1

1

说明/提示

• 对于30% 的数据,1 ≤ N ≤ 10 ; 1 ≤ M ≤ 4 1 \le N \le 10; 1 \le M \le 41N10;1M4

• 对于60% 的数据,1 ≤ N ≤ 200 ; 1 ≤ M ≤ 200 1 \le N \le 200; 1 \le M \le 2001N200;1M200

• 对于100% 的数据,1 ≤ N ≤ 5000 ; 1 ≤ M ≤ 5000 1 \le N \le 5000; 1 \le M \le 50001N5000;1M5000

C++实现

#include<iostream>#include<cstdio>#include<vector>usingnamespacestd;constintmod=1e9+7;constintN=5001;intn,m,f[N][N],dp[N];vector<int>a[N];voiddfs(intx,intfa){intlen=a[x].size();for(inti=0;i<len;i++){if(a[x][i]==fa)continue;dfs(a[x][i],x);for(intj=1;j<=m;j++)f[x][j]=(1ll*f[x][j]*(dp[a[x][i]]-f[a[x][i]][j])%mod+mod)%mod;}for(inti=1;i<=m;i++)dp[x]+=f[x][i],dp[x]%=mod;}intmain(){scanf("%d%d",&n,&m);for(inti=1;i<=n;i++){intk;scanf("%d",&k);for(intj=1;j<=k;j++){intx;scanf("%d",&x);f[i][x]=1;}}for(inti=1;i<n;i++){intx,y;scanf("%d%d",&x,&y);a[x].push_back(y);a[y].push_back(x);}dfs(1,0);printf("%d",dp[1]);return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 11:51:08

100条高实用性、可工业化扩展的一句话Shell命令

文章目录 100条高实用性、可工业化扩展的一句话Shell命令 第一章:系统监控与诊断(15条) 1.1 实时监控 1.2 性能分析 1.3 资源统计 第二章:文件与存储管理(15条) 2.1 文件操作 2.2 存储管理 2.3 备份与同步 第三章:网络与安全(20条) 3.1 网络诊断 3.2 安全审计 第四章:…

作者头像 李华
网站建设 2026/4/11 23:17:27

aiohttp中间件实现异步请求日志与重试

在异步 HTTP 请求场景中&#xff0c;aiohttp 是 Python 生态下的主流选择。实际开发中&#xff0c;请求的日志记录&#xff08;排查问题&#xff09;和失败重试&#xff08;提升稳定性&#xff09;是必备能力&#xff0c;而 aiohttp 的中间件机制能优雅地实现这两个功能&#x…

作者头像 李华
网站建设 2026/4/14 19:59:36

剖析CVE-2009-0556:一个“复活”的PPT内存破坏漏洞

CVE-2009-0556&#xff1a;一个拒绝消亡的2009年PowerPoint漏洞 2009年&#xff0c;某中心恶意软件团队的研究人员记录了一个存在于特定版本Windows PowerPoint&#xff08;Windows PowerPoint 2000 SP3、2002 SP3、2003 SP3以及Microsoft Office 2004 for Mac中的PowerPoint&…

作者头像 李华
网站建设 2026/4/16 12:02:14

<span class=“js_title_inner“>2025年跨境电商行业年度报告</span>

导读&#xff1a;2025年&#xff0c;跨境电商行业进入“规则重构与价值升级”的双变期。政策层面&#xff0c;国内外税务与监管新规推动行业合规化加速&#xff1b;市场层面&#xff0c;美国增速放缓&#xff0c;欧洲作为“第二选择”崛起&#xff1b;平台层面&#xff0c;Temu…

作者头像 李华
网站建设 2026/4/15 19:58:23

计算机毕业设计之springboot基于Java的在线考试系统设计与实现

时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;在线考试系统当然不能排除在外。在线考试系统是在实际应用和软件工程的开发原理之上&#xff0c;运用java语言&#xff0c;JSP技术以及SpringBoo…

作者头像 李华
网站建设 2026/4/16 12:05:55

蚂蚁开源世界模型LingBot-World:具有分钟级记忆的实时世界模拟器

蚂蚁集团旗下的具身智能公司灵波科技开源了两大重磅模型。 具身智能模型&#xff0c;最强开源机器人大脑&#xff01;两万小时真机数据开启物理AI缩放定律。 以及强大的世界模型LingBot-World。 LingBot-World将视频生成模型进化成了可交互世界模拟器&#xff0c;让AI学会了理…

作者头像 李华