题面如下

依照旧例放外链

【题目背景】

纤弱的淤泥中妖冶
颓废在季夏第三月
最幼嫩的新叶连凋零都不屑
何必生离死别
——银临《腐草为萤》

【问题描述】

扶苏给了你一棵树,这棵树上长满了幼嫩的新叶,我们约定这棵树的根是1,每个节
点都代表树上的一个叶子。
如果你不知道什么叫树,你可以认为树是一个边数比节点个数少1 的无向连通图。
我们如果约定节点u 是树T 的根,则可以定义一个节点v 到根的路径为该无向图上u, v
两个节点之间的简单路径上的节点集合(包括路径的两个端点)。可以证明,这样的简单路
径只有一条。
我们定义节点x 是节点y 的祖先(x ≠ y),当且仅当x 在y 到根的路径上。

现在扶苏想在这棵树上选定一个集合,将其称之为幼嫩集合,来比较集合中的节点
哪个最幼嫩。注意到一旦集合中存在两个节点u, v,使得u 是v 的祖先,那么一定v 要比
u 更幼嫩,因为v 是在u 的枝丫上生长出来的,那么这样的集合就是没有意义的。也就是
说,扶苏所选择的集合一定满足要求“对于任意集合中的元素对(u, v),u 不是v 的祖先”。

扶苏其实对这些节点哪个最幼嫩并不感兴趣,也对他能选出多少集合不感兴趣,因
为这些都是为了问你下面的问题而创造出的题目背景。
扶苏给每个节点都定义了一个权值,具体的,我们会给出一个参数T,规定 i 号节点
的权值为 iT
我们定义一个幼嫩集合幼嫩指数为集合内节点的权值和。现在扶苏想请问你,对于
他所有可能选出的集合,这些集合的幼嫩指数之和是多少。
为了避免答案过大,请你输出答案对 109 + 7取模的结果。

【输入格式】
输入文件名为dzy.in。
输入文件中有且仅有一组数据,第一行为两个正整数n 和T,节点个数和权值参数。
下面n-1 行,每行有两个正整数u, v,代表树上有一条边连接节点u 和节点v。

【输出格式】
输出文件名为dzy.out。
输出一行一个正整数,代表答案对 109 +7取模的结果。

【样例1 解释】
一共有10 个集合,分别为
 {1}  ,  {2}  ,  {3}  ,  {4}  ,  {5}  ,  {2,5}  ,  {3,4}  ,   {3,5}  ,  {3,4,5}  ,  {4,5}
由于T=0,所有节点的权值都为1,所以幼嫩指数之和即为集合元素个数和,
共16个。

这个题。。。。。。我一开始以为每一个幼嫩集合只能是两个点,那时候我就想,哎呀这题好,,,,,,结果妥妥爆零

对于这道题,我们一点一点得分哈

第一个点,,,,很明显直接输出0就行。。。。但是因为我在写暴力的时候数组开大了所以程序爆了QWQ。。。。。md我爆零了。。。。

第二阶段,一看这数据范围,那肯定暴力跑不了了,剩下的看图吧QWQ

贴代码

#include <cstdio>typedef long long int ll;const int maxn = 1000005;
const int MOD = 1000000007;template <typename T>
inline void qr(T &x) {char ch;do { ch = getchar(); } while ((ch > '9') || (ch < '0'));do { x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar(); } while ((ch >= '0') && (ch <= '9'));
}int n, T;
int MU[maxn], frog[maxn], gorf[maxn];
bool vis[maxn];struct Edge {int v;Edge *nxt;Edge(const int _v, Edge *h) : v(_v), nxt(h) {}
};
Edge *hd[maxn];void dfs(const int u);int main() {freopen("dzy.in", "r", stdin);freopen("dzy.out", "w", stdout);qr(n); qr(T);if (T) {for (int i = 1; i <= n; ++i) {MU[i] = i;}} else {for (int i = 1; i <= n; ++i) {MU[i] = 1;}}for (int i = 1, u, v; i < n; ++i) {u = v = 0; qr(u); qr(v);hd[u] = new Edge(v, hd[u]);hd[v] = new Edge(u, hd[v]);}dfs(1);printf("%d\n", frog[1] % MOD);return 0;
}void dfs(const int u) {vis[u] = true;for (auto e = hd[u]; e; e = e->nxt) if (!vis[e->v]) {int v = e->v;dfs(v);frog[u] = (frog[u] * (gorf[v] + 1ll) % MOD) + (frog[v] * (gorf[u] + 1ll) % MOD);gorf[u] = (gorf[u] + gorf[v] + (1ll * gorf[u] * gorf[v])) % MOD;}frog[u] = (frog[u] + MU[u]) % MOD;++gorf[u];
}

转载于:https://www.cnblogs.com/this-is-M/p/11073365.html

zay大爷的神仙题目 D1T2-腐草为萤相关推荐

  1. 模拟赛DAY1 T2腐草为萤

    2.腐草为萤 (dzy.cpp/c) [题目背景] 纤弱的淤泥中妖冶 颓废在季夏第三月 最幼嫩的新叶连凋零都不屑 何必生离死别 --银临<腐草为萤> [问题描述] 扶苏给了你一棵树,这棵树 ...

  2. 0308_innovation project_learn for 腐草为萤/mofan sklearn

    sklearn 学习,iris花瓣数据集KNN分类_learn for mofan # -*- coding: utf-8 -*- """ Created on Sun ...

  3. 6.20校内考试整理——大美江湖腐草为萤锦鲤抄题解

    先安利一下题目作者:一扶苏一 先看第一题: 这道题就是一道简单的模拟题,只要不管一开始的位置,模拟移动与格子对应的触发事件就行了.话不多说,看代码: 1 #include<iostream> ...

  4. 校内考试之zay与银临(day1)

    T1大美江湖(洛谷P5006) zayの题解: 这个题的本质是模拟 不过有卡ceil的地方 ceil是对一个double进行向上取整,而对于int/int来说,返回值是int 举个生动的栗子 ceil ...

  5. 【6.20校内test】

    反正考的不是很好吧,赶脚炸了啊qwq 然后这两天一直在忙一些神奇的事情,所以没有整理完 手动@water_lift T1:大美江湖: [题目背景] 细雪飘落长街,枫叶红透又一年 不只为故友流连,其实我 ...

  6. 大暑节气海报图片|大暑节气海报文案

    01 腐草为萤:土润溽暑:大雨时行 大暑简约24节气大暑设计模板素材 ​ 02 大暑吃仙草,活如神仙不会老. 黄色卡通大暑图片设计模板素材 ​ 03 冬吃萝卜夏吃姜,不需医生开药方. 中国传统二十四节 ...

  7. 剑灵灵动区服务器位置,《剑灵》这波电二合区,属实让我脑壳疼

    公长少苍:第一次玩剑灵我还是阴阳道仙的,第一次回坑的时候就变成花样年华了 发布于 2020-08-16 23:03:32 涵畅1:这都无所谓 主要是自打合完区就没有不卡过 发布于 2020-08-16 ...

  8. 睡不着听什么音乐睡得快,失眠入睡音乐歌单推荐

    大家在晚上时,很多时候会在床上辗转反侧睡不着,无论是什么原因导致自己失眠,我们都可以在睡前听一些有助于睡眠的音乐,但是很多小伙伴往往不知道失眠时要听些啥,所以小编就整理了一份助眠歌单,大家可以去搜索听 ...

  9. 我的天,《扶摇》的海报也太好看了吧

    "我一人,可敌万人.你一人,可敌我" 快要被土味情话埋了的我 突然被这句霸气情话 撩到了 原来是<扶摇>里的一句台词 就这样 我抛弃了"伪球迷"的身 ...

最新文章

  1. Python 安装管理器 pythonz
  2. jdk jenkins 配置ant_安装配置maven、ant(Jenkins)
  3. Bzoj4568: [Scoi2016]幸运数字
  4. 解决Tomcat8及Tomcat7下http的post、get请求中参数中文乱码问题
  5. linux mount 原文件夹,window文件夹mount挂载Linux
  6. oracle Expdp带条件,Oracle 11g expdp中query参数的使用
  7. python不能创建字典的是_python试卷-不能创建一个字典的语句
  8. 萤火商城V2.0开源版[uni-app端],轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP
  9. PUT和POST的区别
  10. Android ,显示WiFi密码
  11. 基于JAVA政府采购线上招投标平台计算机毕业设计源码+系统+数据库+lw文档+部署
  12. 如何进入docker 使用root用户的方式
  13. Taro跨端开发探索19——商城小程序确认订单页面开发
  14. (完整源码)GPS系统源码,GPSBDpro——SIM卡状态查询
  15. 可可西里观后感(转)-保护藏羚羊
  16. c语言程序中注释定义,C语言语法基础:函数注释等等
  17. 联想R9000x网卡显卡驱动
  18. Curator——Service Discovery
  19. 9月24日(周六)上海PMP备考说明会
  20. Swoft Annotation 注解

热门文章

  1. Guitar Pro 5手机版-安卓版-ios版地址
  2. 【大数据】Hadoop 体系(一)
  3. PLUS模型有两大模块,一是基于土地扩张分析策略的规则挖掘框架,二是基于多类型随机补丁种子的CA模型,此外该模型还内嵌了Markov chain,以便于对土地利用数量需要作出预测。
  4. allergro音乐术语什么意思_乐谱中Allegro Moderato是什么速度?
  5. 网站美观度与网站优化哪个更重要?
  6. 杀软测评:2010年第四次“VB100”认证揭开谜底!
  7. BlackBerry 网络连接编程
  8. 如何在系统菜单中添加一个自己的菜单项
  9. UVM中Objection的作用
  10. 视频教程-《AE视频教程——3小时从入门到精通》-After Effects(AE)