[CF852E]Casinos and travel(2019-11-15考试)
题目大意
有一棵\(n\)个点的树,令\(f(u)\)表示给树黑白染色,满足以\(u\)为根的树中,每个叶子节点到根的路径上黑点数量为偶数的染色方案数,求\(\sum\limits_{u=1}^n f(u)\)
题解
可以发现,确定了非叶子节点后,可以通过调整叶子的颜色使得每种方案均成立。令\(leaf\)为叶子的个数,答案为\(2^{n-leaf}(n+leaf)\)
当然也可以通过树形\(\mathrm{dp}\)来解决,不过这样比较麻烦
卡点
快速幂写挂(\(\mathrm{CSP}\)前我写挂快速幂也是毒瘤)
C++ Code:
#include <cstdio>
#include <iostream>
#include <algorithm>
#define mul(a, b) (static_cast<long long> (a) * (b) % mod)
#define _mul(a, b) (a = static_cast<long long> (a) * (b) % mod)
const int maxn = 1e5 + 10, mod = 1e9 + 7;
int n, ans, deg[maxn], num;
inline int pw(int b, int p) {
	int r = 1;
	for (; p; p >>= 1, _mul(b, b)) if (p & 1) _mul(r, b);
	return r;
}
int main() {
	std::ios::sync_with_stdio(false), std::cin.tie(0), std::cout.tie(0);
	std::cin >> n;
	if (n == 1) return std::cout << "1\n", 0;
	for (int i = 1, a, b; i < n; ++i)
		std::cin >> a >> b, ++deg[a], ++deg[b];
	for (int i = 1; i <= n; ++i) num += deg[i] == 1;
	std::cout << mul(n + num, pw(2, n - num)) << '\n';
	return 0;
}
[CF852E]Casinos and travel(2019-11-15考试)的更多相关文章
- 2019.11.15    JQ图片轮播
		<div class="three"> <div class="bjtp"> <img class="bjpic b1& ... 
- Sprint1(第二天11.15)
		Sprint1(第二天11.15) Sprint1第一阶段 1.类名:软件工程-第一阶段 2.时间:11.14-11.23 3.选题内容:web版-餐厅到店点餐系统 4.团队博客地址: http:// ... 
- Notes of Daily Scrum Meeting(11.15)
		Notes of Daily Scrum Meeting(11.15) 今天周六我们的主要工作是把这周落下的一些工作补回来,这是写程序的最后阶段,准备进入测试阶段了,所以之前的工作 要补齐,今天大家的 ... 
- 11.15 Daily Scrum
		今天是假期回来的第一个周末,也是我们团队的又一次进度汇总总结和调试工作开展,鉴于一周以来大家的工作有了很大的成果,所以,本次召开的会议主旨在于解决一些开发方面的细节问题,达成共识,为日后进一步的功能方 ... 
- 2017.11.15 String、StringBuffer、StringBuilder的比较(todo)
		参考来自:http://blog.csdn.net/jeffleo/article/details/52194433 1.速度 一般来说,三者的速度是:StringBuilder > Strin ... 
- 2017-3-13 leetcode 4 11 15
		ji那天居然早起了,惊呆我了,眼睛有点儿疼,一直流泪....继续保持 ========================================================== leetco ... 
- 比较两个时间的大小  举例:CompareDate("12:00","11:15")
		//比较两个时间的大小 举例:CompareDate("12:00","11:15") function CompareDate(t1, t2) { var d ... 
- Python3.7&Django1.11.15 兼容性问题
		环境: 1. Windows10 2. python3.7 3. Django1.11.15 启动Django时抛出以下异常: Unhandled exception in thread starte ... 
- EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)
		传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ... 
随机推荐
- 英语chiltonite葡萄石chiltonite单词
			葡萄石Chiltonite 1.葡萄石能够促进血液循环,具有美容养颜的功效,非常适合女性佩戴,可以增加个人魅力,还能加强事业财运,凝聚财富气场. 2.绿色光对应人体心轮,对心脏,肺脏有效用,内涵的磁石 ... 
- kubernetes集群内通过endpoint访问外部服务
			kubernetes内的服务访问集群外独立的服务最好通过endpoint方式,例如MySQL 1.创建mysql-service.yaml apiVersion: v1 kind: Service m ... 
- RMAN笔记
			Rman常用命令 Preview选项 1) 显示用于还原system表空间数据文件的备份文件 RMAN> restore datafile 2 preview; 2) 显示用于还原特 ... 
- CENTOS安装xwindow
			CentOS6安装图形界面 [root@centos6~]# yum -y install xorg* [root@centos6 ~]# yum -y groupinstall "X Wi ... 
- Linux Tomcat安装及端口配置
			1. JDK安装配置 待写 2. Tomcat安装配置 1,下载Tomcat链接,到启动测试. 将文件apache-tomcat-8.5.50.tar.gz移动到/usr/tomcat/下,并解压 ... 
- shell中sort用法
			1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket progr ... 
- The Preliminary Contest for ICPC Asia Shenyang 2019  H. Texas hold'em Poker
			题目链接:https://nanti.jisuanke.com/t/41408 题目意思很简单,就是个模拟过程. #include <iostream> #include <cstr ... 
- linux后台运行相关命令
			1.nohup & 让程序后台运行,nohup 命令 & 2.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, ... 
- python--线程知识详解
			Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1.1.threading模块 threading模块建立在_thread模块之上.thread模块以低级=原始的方式来处理 ... 
- struts2学习2
			拦截器 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implements Interceptor { @ ... 
