当前位置: 首页 > 编程日记 > 正文

C. Edgy Trees Codeforces Round #548 (Div. 2) 【连通块】

一、题面

here

二、分析

这题刚开始没读懂题意,后来明白了,原来就是一个数连通块里点数的问题。首先在建图的时候,只考虑红色路径上的点。为什么呢,因为为了不走红色的快,那么我们可以反着想只走红色的路径,这样把所有的可能数再减去只走红色路径的数就是最终的答案了。这里要注意的是,如果连通块里只有一个点,那么就是K个点都是这个点的情况,根据题意是不满足的,也要减去。

三、AC代码

 1 #include<bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 typedef long long LL;
 6 const int MOD = 1e9 + 7;
 7 const int MAXN = 1e5 + 15;
 8 vector<int> Graph[MAXN];
 9 bool visited[MAXN];
10 int T, N, K;
11 
12 LL Pow(LL a, LL b)
13 {
14     LL ans = 1;
15     while(b)
16     {
17         if(b&1)
18         {
19             ans = ans * a % MOD;
20         }
21         a = a * a % MOD;
22         b >>= 1;
23     }
24     return ans;
25 }
26 
27 void DFS(int v)
28 {
29     if(visited[v])
30         return;
31     visited[v] = 1;
32     T++;
33     for(auto &itr:Graph[v])
34     {
35         DFS(itr);
36     }
37 }
38 
39 
40 
41 int main()
42 {
43     scanf("%d %d", &N, &K);
44     memset(visited, 0, sizeof(visited));
45     for(int i = 1; i < N; i++)
46     {
47         int x, y, c;
48         scanf("%d %d %d", &x, &y, &c);
49         if(c == 0)
50         {
51 
52             Graph[x].push_back(y);
53             Graph[y].push_back(x);
54         }
55     }
56     LL Ans = 0;
57     for(int i = 1; i <= N; i++)
58     {
59         if(visited[i])
60             continue;
61         T = 0;
62         DFS(i);
63         Ans = (Ans + Pow(T, K)) % MOD;
64     }
65     Ans = (Pow(N, K) - Ans + MOD) % MOD;
66     printf("%I64d\n", Ans);
67     return 0;
68 }

转载于:https://www.cnblogs.com/dybala21/p/10604030.html

相关文章:

设计模式 之美 -- 策略模式

策略模式作为行为型设计模式中的一种&#xff0c;主要封装相同功能的不同实现算法&#xff0c;用于在用户程序内部灵活切换。对用户来说能够快速替换对应的算法&#xff0c;能够让算法的实现独立于使用的用户。 基本的UML类图如下&#xff1a; 用户使用Stratey的实例能够快速…

Good Bye 2014 B. New Year Permutation(floyd )

题目链接 题意:给n个数&#xff0c;要求这n个数字小的尽量放到前面&#xff0c;求一个最小的。 给一个矩阵s[i][j]1&#xff0c;表示位置 i 的数字可以和 位置 j 的数字交换。 分析&#xff1a; 刚开始用的是3个循环&#xff0c;每次都找一个能直接连接的最小的放到前面&#x…

android数据库查找一个字符,Android - 如何在Firebase数据库中对字符串进行简单搜索?_android_开发99编程知识库...

这个问题可能很旧&#xff0c;但是&#xff0c;有一种文档化方式&#xff0c;如何实现这种方式&#xff0c;很简单&#xff0c;引用 &#xff1a;要启用云Firestore数据的全文搜索&#xff0c;请使用第三方搜索服务(如Algolia &#xff0c;考虑一个笔记记录应用程序&#xff0c…

料酒有什么用?

http://zhidao.baidu.com/question/201086759.html?frala&devicemobile&ssid0&from844b&uid0&pusz%401320_1001%2Cta%40iphone_2_4.1_3_537%2Cusm%400&bd_page_type1&baiduidDFA2DBA38D5C3AEB12431C4258DC1F40&tjzhidao_1_0_10_title

jmeter对自身性能的优化

测试环境 apache-jmeter-2.13 1. 问题描述 单台机器的下JMeter启动较大线程数时可能会出现运行报错的情况&#xff0c;或者在运行一段时间后&#xff0c;JMeter每秒生成的请求数会逐步下降&#xff0c;直到为0&#xff0c;即JMeter运行变得很“卡”。 2. 解决方法 1&#x…

站在历史的长河中做农活

苹果的生长周期 国庆节回老家呆了3天时间&#xff0c;陪爸爸妈妈吃喝吃睡&#xff0c;除此之外就是帮爸爸妈妈去家里的果园做一些农活。 我们老家的 苹果种植是家庭主要的收入&#xff0c;每一家人或多或少都有一些果园。从春的剪枝&#xff08;高中生物中的降低顶端优势&…

html 基本用法

html表单表格基本用法&#xff0c;直接贴代码。 [html] view plaincopy<html> <head> <title>html基础</title> </head> </body> <center><h2><font color"CYAN">html基础&…

ecliplse 调试android 断点,如何在Github maven项目上开始调试

您将需要在 nifi-registry.sh 脚本中编辑此行以启用远程调试run_nifi_registry_cmd"${JAVA} -cp ${BOOTSTRAP_CLASSPATH} -Xms12m -Xmx24m ${BOOTSTRAP_DIR_PARAMS} org.apache.nifi.registry.bootstrap.RunNiFiRegistry $"它只是我&#xff0c;还是记忆足迹真的很小…

Linux认证体系

就像网络工程师的认证有思科系统和华为系列一样&#xff0c;Linux认证方面&#xff0c;不同的机构也有不同的证书&#xff0c;比如国内有红旗Linux的认证RCE&#xff08;红旗Linux认证工程师&#xff09;&#xff0c;国际方面有红帽的认证RHCSA&#xff08;Redhat认证的Linux系…

python2.7 Cheetah You don't have the C version of NameMapper installed

python2.7 Cheetah You dont have the C version of NameMapper installed 问题&#xff1a;You dont have the C version of NameMapper installed sudo vi /usr/lib/python2.7/site-packages/Cheetah/Compiler.py 将第1506行起以下代码注释掉&#xff1a; if not NameMapper.…

C++ 从双重检查锁定问题 到 内存屏障的一些思考

文章目录1. 问题描述2. DCLP 的问题 和 指令执行顺序2.1 Volatile 关键字2.2 C11 的内存模型3. C11内存模型 解决DCLP问题3.1 内存屏障和获得、释放语义3.2 atomic 的完整介绍3.2.1 原子操作的三种类型3.2.2 atomic 内存序3.2.3 atomic 成员函数4. 总结1. 问题描述 单例模式 是…

android系统的iphone,iPhone上安装Android系统详细步骤。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼在iphone安装android系统的详细步骤首先&#xff0c;准备好iphone的多点触屏和wlan固件。因为法律的缘故&#xff0c;我们不能分享这些文件&#xff0c;你可以去ipsw文件里提取或去marvell网站下载。1、在linux的home目录下创建一个…

Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入) 转

http://www.crazyant.net/2011/10/29/linux%E4%B8%8Bgcc%E5%92%8Cmakefile%E5%AE%9E%E4%BE%8B%EF%BC%88%E4%BB%8Egcc%E7%9A%84%E7%BC%96%E8%AF%91%E5%88%B0makefile%E7%9A%84%E5%BC%95%E5%85%A5%EF%BC%89/ 很给力的说&#xff0c;回头去搞搞&#xff01;

服务端如何识别是selenium在访问以及解决方案参考二

有不少朋友在开发爬虫的过程中喜欢使用Selenium Chromedriver&#xff0c;以为这样就能做到不被网站的反爬虫机制发现。 先不说淘宝这种基于用户行为的反爬虫策略&#xff0c;仅仅是一个普通的小网站&#xff0c;使用一行Javascript代码&#xff0c;就能轻轻松松识别你是否使用…

LSM 优化系列(二)-- dCompaction: Speeding up Compaction of the LSM-Tree via Delayed Compaction

文章目录背景描述dCompaction设计触发条件 VCT触发VT 合并的条件 VSMT测试数据优化的重心集中在减少写放大上&#xff0c;同时将读性能维持在和rocksdb 原生读性能接近&#xff0c;优化思想是中国科学院的2位博士 提出的。论文原地址&#xff1a;dCompaction: Speeding up Comp…

Android应用系列:完美运行GIF格式的ImageView(附源码)

前言 我们都知道ImageView是不能完美加载Gif格式的图片&#xff0c;如果我们在ImageView中src指定的资源是gif格式的话&#xff0c;我们将会惊喜的发觉画面永远停留在第一帧&#xff0c;也就是不会有动画效果。当然&#xff0c;经过略加改造&#xff0c;我们是可以让gif在Image…

wordpress怎么修改html,WordPress后台编辑器HTML模式界面中添加修改删除按钮

在WordPress编辑器HTML模式界面中添加按钮一文中&#xff0c;我大致介绍了怎么在后台添加一些自定义的按钮&#xff0c;本文则更为详细全面的对wordpress后台编辑器HTML模式下的按钮自定义进行详解&#xff0c;以让开发者肆意的修改按钮及其布局。自定义按钮起效的两种途径 ↑首…

OCA读书笔记(9) - 管理数据同步

9.Managing Data Concurrency 描述锁机制以及oracle如何管理数据一致性监控和解决锁冲突 管理数据的并发--管理锁数据的不一致&#xff1a;脏读更改丢失幻影读 脏读:数据是指事务T2修改某一数据&#xff0c;并将其写回磁盘&#xff0c;事务T1读取同一数据后&#xff0c;T2由于某…

Java EE学习笔记(四)

Spring的数据库开发 1、Spring JDBC 1)、Spring JDBC模块的作用&#xff1a;Spring的JDBC模块负责数据库资源管理和错误处理&#xff0c;大大简化了开发人员对数据库的操作&#xff0c;使得开发人员可以从繁琐的数据库操作中解脱出来&#xff0c;从而将更多的精力投入到编写业务…

SpringBoot 中实现订单30分钟自动取消的策略

在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。本文将详细介绍基于Spring Boot框架实现订单30分钟内未支付自动取消的几种方案,并提供实例代码。

一键部署 SpringCloud 微服务,这套流程值得学习一波儿!

一键部署 springcloud 微服务,需要用到 Jenkins K8S Docker等工具。本文使用jenkins部署,流程如下图开发者将代码push到git运维人员通过jenkins部署,自动到git上pull代码通过maven构建代码将maven构建后的jar打包成docker镜像 并 push docker镜像到docker registry通过k8s发起 发布/更新 服务 操作其中 2~5步骤都会在jenkins中进行操作。

Rocksdb 的 rate_limiter实现 -- compaction限速

文章目录前言1. Compaction为什么会影响Client qps1.1 基本LSM介绍1.2 LSM internal ops1.3 长尾延时的原因2. Rate limiter 基本限速接口3. Rate Limiter 限速原理实现3.1 Rate Limiter的传入3.2 Rate Limiter 控制 sync datablock的速率3.3 Rate Limiter控制写入速率4. rocks…

Oracle --获取绑定变量的值.

SELECT * FROM DBA_HIST_SQLBIND WHERE SNAP_ID>67073 AND SNAP_ID<67079 AND SQL_ID3DR3410F086P4;SELECT * FROM v$sql_bind_capture where sql_id http://blog.itpub.net/22034023/viewspace-689802/ 通过v$sql_bind_capture视图&#xff0c;可以查看绑定变量&#xf…

计算机网络TCP/IP协议-从双绞线到TCP

消息响应也是同理,这种带端口的消息发送方式,其实就是UDP协议,UDP简单粗暴,但是UDP存在很多问题,所以我们需要设计一个稳定可靠的协议,TCP协议,首先,网络是不稳定的,我们发送的消息很有可能会在中途丢失,所以需要设置重试机制,当消息发送失败时重新发送,为了判断是否成功,还需要要求接收方收到消息后,必须发送确认消息,这样就可以保证消息必达,另外大段的内容发送,很容易造成部分丢失,导致全部内容都要重新发送,于是我们可以将数据分包,分成多个包发送。到这,也行你会发现了,演示中的IP地址是怎么设置的呢?

使用HTML CSS完成初步的页面,任务九:使用HTML/CSS实现一个复杂页面(示例代码)

任务目的通过实现一个较为复杂的页面&#xff0c;加深对于HTML&#xff0c;CSS的实战能力实践代码的复用、优化任务描述整个页面内容宽度固定&#xff0c;但头部的蓝色导航和浏览器宽度保持一致任务注意事项只需要完成HTML&#xff0c;CSS代码编写&#xff0c;不需要写JavaScri…

Yii-yiic使用

原文在&#xff1a;http://blog.sina.com.cn/s/blog_862b12fb0101n00v.htmlyii提供了强大的命令行工具来快速的创建相关组件和应用。下面就来讲解用yiic工具快速创建yii应用我的web目录在d:\ EasyPHP-DevServer\data\localweb下&#xff1b;yiiframework在D:\EasyPHP-DevServer…

nginx语法

一、 1. 配置文件由指令与指令块构成&#xff1b; 2. 每条指令以&#xff1b;分号结尾&#xff0c;指令与参数间以空格符号分隔&#xff1b; 3. 指令块以{} 大括号将多条指令组在一起&#xff1b; 4. include语句允许组合多个配置文件以提升可维护性&#xff1b; 5. 使用#符号添…

如何对 Rocksdb以及类似存储引擎社区 提出 有效的性能问题?

性能 是rocksdb的优点&#xff0c;活跃的社区十分欢迎大家对各自使用rocksdb 过程中性能相关的疑惑点进行提问。提问的时候如果能够提供更多&#xff0c;更详细的信息 是可以增加快速得到恢复回复的概率。当然&#xff0c;性能是一个非常广泛且有巨量影响因素的话题&#xff0c…

我已经喜欢上了Python

早就听说了Python语言&#xff0c;今天试了试&#xff0c;挺喜欢她了。 Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.&g…

layui跳转html如何带参数,Layui跳转页面代码(可携带复杂参数)

今天用了Layui的“数据表格 - 数据操作”示例代码&#xff0c;结果发现点击“编辑”按钮出出来一个弹出消息框&#xff0c;效果如下&#xff1a;虽然说也可以用“弹出层”做编辑页面&#xff0c;但是&#xff0c;由于我编辑的东西很多&#xff0c;用“弹出层”不太理想。我就想…