zay大爷的神仙题目 D1T2-腐草为萤
题面如下
依照旧例放外链
【题目背景】
纤弱的淤泥中妖冶
颓废在季夏第三月
最幼嫩的新叶连凋零都不屑
何必生离死别
——银临《腐草为萤》
【问题描述】
扶苏给了你一棵树,这棵树上长满了幼嫩的新叶,我们约定这棵树的根是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-腐草为萤相关推荐
- 模拟赛DAY1 T2腐草为萤
2.腐草为萤 (dzy.cpp/c) [题目背景] 纤弱的淤泥中妖冶 颓废在季夏第三月 最幼嫩的新叶连凋零都不屑 何必生离死别 --银临<腐草为萤> [问题描述] 扶苏给了你一棵树,这棵树 ...
- 0308_innovation project_learn for 腐草为萤/mofan sklearn
sklearn 学习,iris花瓣数据集KNN分类_learn for mofan # -*- coding: utf-8 -*- """ Created on Sun ...
- 6.20校内考试整理——大美江湖腐草为萤锦鲤抄题解
先安利一下题目作者:一扶苏一 先看第一题: 这道题就是一道简单的模拟题,只要不管一开始的位置,模拟移动与格子对应的触发事件就行了.话不多说,看代码: 1 #include<iostream> ...
- 校内考试之zay与银临(day1)
T1大美江湖(洛谷P5006) zayの题解: 这个题的本质是模拟 不过有卡ceil的地方 ceil是对一个double进行向上取整,而对于int/int来说,返回值是int 举个生动的栗子 ceil ...
- 【6.20校内test】
反正考的不是很好吧,赶脚炸了啊qwq 然后这两天一直在忙一些神奇的事情,所以没有整理完 手动@water_lift T1:大美江湖: [题目背景] 细雪飘落长街,枫叶红透又一年 不只为故友流连,其实我 ...
- 大暑节气海报图片|大暑节气海报文案
01 腐草为萤:土润溽暑:大雨时行 大暑简约24节气大暑设计模板素材 02 大暑吃仙草,活如神仙不会老. 黄色卡通大暑图片设计模板素材 03 冬吃萝卜夏吃姜,不需医生开药方. 中国传统二十四节 ...
- 剑灵灵动区服务器位置,《剑灵》这波电二合区,属实让我脑壳疼
公长少苍:第一次玩剑灵我还是阴阳道仙的,第一次回坑的时候就变成花样年华了 发布于 2020-08-16 23:03:32 涵畅1:这都无所谓 主要是自打合完区就没有不卡过 发布于 2020-08-16 ...
- 睡不着听什么音乐睡得快,失眠入睡音乐歌单推荐
大家在晚上时,很多时候会在床上辗转反侧睡不着,无论是什么原因导致自己失眠,我们都可以在睡前听一些有助于睡眠的音乐,但是很多小伙伴往往不知道失眠时要听些啥,所以小编就整理了一份助眠歌单,大家可以去搜索听 ...
- 我的天,《扶摇》的海报也太好看了吧
"我一人,可敌万人.你一人,可敌我" 快要被土味情话埋了的我 突然被这句霸气情话 撩到了 原来是<扶摇>里的一句台词 就这样 我抛弃了"伪球迷"的身 ...
最新文章
- Python 安装管理器 pythonz
- jdk jenkins 配置ant_安装配置maven、ant(Jenkins)
- Bzoj4568: [Scoi2016]幸运数字
- 解决Tomcat8及Tomcat7下http的post、get请求中参数中文乱码问题
- linux mount 原文件夹,window文件夹mount挂载Linux
- oracle Expdp带条件,Oracle 11g expdp中query参数的使用
- python不能创建字典的是_python试卷-不能创建一个字典的语句
- 萤火商城V2.0开源版[uni-app端],轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP
- PUT和POST的区别
- Android ,显示WiFi密码
- 基于JAVA政府采购线上招投标平台计算机毕业设计源码+系统+数据库+lw文档+部署
- 如何进入docker 使用root用户的方式
- Taro跨端开发探索19——商城小程序确认订单页面开发
- (完整源码)GPS系统源码,GPSBDpro——SIM卡状态查询
- 可可西里观后感(转)-保护藏羚羊
- c语言程序中注释定义,C语言语法基础:函数注释等等
- 联想R9000x网卡显卡驱动
- Curator——Service Discovery
- 9月24日(周六)上海PMP备考说明会
- Swoft Annotation 注解
热门文章
- Guitar Pro 5手机版-安卓版-ios版地址
- 【大数据】Hadoop 体系(一)
- PLUS模型有两大模块,一是基于土地扩张分析策略的规则挖掘框架,二是基于多类型随机补丁种子的CA模型,此外该模型还内嵌了Markov chain,以便于对土地利用数量需要作出预测。
- allergro音乐术语什么意思_乐谱中Allegro Moderato是什么速度?
- 网站美观度与网站优化哪个更重要?
- 杀软测评:2010年第四次“VB100”认证揭开谜底!
- BlackBerry 网络连接编程
- 如何在系统菜单中添加一个自己的菜单项
- UVM中Objection的作用
- 视频教程-《AE视频教程——3小时从入门到精通》-After Effects(AE)