记$deg_{i}$为$i$的度数,简单分类讨论可得答案下限为$\max_{i=1}^{n}deg_{i}$

另一方面,此下限是可以取到的,构造方法较多,这里给一个巧妙一些的做法——

对其以dfs(儿子顺序任意),并要求如果一个节点被父亲递归时时间为$t+1$,则返回时时间为$t$,那么父亲的时间即恰从$t$变为$t+1$

下面考虑如何保证此性质,每一个节点有两种情况:

1.其过程中某次要递归儿子时,其时间达到了$\max_{i=1}^{n}deg_{i}$(那么搜下去即超过了此下限),那么将其的时间改为$t-son$(其中$t+1$为其被父亲递归时时间,$son$为剩余儿子数,显然$t\ge son$)

2.某点不存在上述情况,则在最后将其的时间改为$t$(意义与上面相同)

由此,即可归纳上述性质

时间复杂度为$o(n)$,可以通过

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 100005
4 vector<int>v[N];
5 vector<pair<int,int> >ans;
6 int n,T,x,y,lim;
7 void dfs(int k,int fa){
8 int t=T-1;
9 for(int i=0;i<v[k].size();i++)
10 if (v[k][i]!=fa){
11 if (T==lim){
12 T=t;
13 for(int j=i;j<v[k].size();j++)
14 if (v[k][j]!=fa)T--;
15 ans.push_back(make_pair(k,T));
16 }
17 ans.push_back(make_pair(v[k][i],++T));
18 dfs(v[k][i],k);
19 ans.push_back(make_pair(k,++T));
20 }
21 if ((k!=1)&&(t!=T)){
22 ans.push_back(make_pair(k,t));
23 T=t;
24 }
25 }
26 int main(){
27 scanf("%d",&n);
28 for(int i=1;i<n;i++){
29 scanf("%d%d",&x,&y);
30 v[x].push_back(y);
31 v[y].push_back(x);
32 }
33 for(int i=1;i<=n;i++)lim=max(lim,(int)v[i].size());
34 ans.push_back(make_pair(1,0));
35 dfs(1,0);
36 printf("%d\n",(int)ans.size());
37 for(int i=0;i<ans.size();i++)printf("%d %d\n",ans[i].first,ans[i].second);
38 return 0;
39 }

[cf1340D]Nastya and Time Machine的更多相关文章

  1. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  2. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  3. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  4. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

  5. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  6. [Machine Learning] Active Learning

    1. 写在前面 在机器学习(Machine learning)领域,监督学习(Supervised learning).非监督学习(Unsupervised learning)以及半监督学习(Semi ...

  7. [Machine Learning & Algorithm]CAML机器学习系列2:深入浅出ML之Entropy-Based家族

    声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 写在前面 记得在<Pattern Recognition And Machine ...

  8. CPU acceleration status: HAXM is not installed on this machine解决方法

    报错信息: Starting emulator for AVD 'old_android' emulator: WARNING: Classic qemu does not support SMP. ...

  9. Azure PowerShell (6) 设置单个Virtual Machine Endpoint

    <Windows Azure Platform 系列文章目录> 请注意: - Azure不支持增加Endpoint Range - 最多可以增加Endpoint数量为150 http:// ...

随机推荐

  1. 【图像处理】基于OpenCV实现图像直方图的原理

    背景 图像的直方图是衡量图像像素分布的一种方式,可以通过分析像素分布,使用直方图均衡化对图像进行优化,让图像变的清晰. opencv官方对图像直方图的定义如下: 直方图是图像中像素强度分布的图形表达方 ...

  2. CSharpEntityFramework与CodeFirst实践

    CSharpEntityFramework与CodeFirst实践 前言 当我们进行开发的时候,常常会用到数据库来对数据进行持久化的操作,有的时候,我们并不想要在进行代码开发的过程中,还去关注数据库的 ...

  3. 一个神秘的oj2093 花园的守护之神(最小割)

    给定一张无向图,你每次可以将一条路的权值增加1,询问最少增加多少次才会使得\(s->t\)的最短路改变 QwQ一看到这个题,我就用种最小割的感觉 我们可以把最短路上的点取出来,然后做最小割呀!! ...

  4. Java中的函数式编程(四)方法引用method reference

    写在前面 我们已经知道,lambda表达式是一个匿名函数,可以用lambda表达式来实现一个函数式接口.   很自然的,我们会想到类的方法也是函数,本质上和lambda表达式是一样的,那是否也可以用类 ...

  5. 264.丑数II

    题目 给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, ...

  6. Coursera Deep Learning笔记 卷积神经网络基础

    参考1 参考2 1. 计算机视觉 使用传统神经网络处理机器视觉的一个主要问题是输入层维度很大.例如一张64x64x3的图片,神经网络输入层的维度为12288. 如果图片尺寸较大,例如一张1000x10 ...

  7. Scrum Meeting 15

    第15次例会报告 日期:2021年06月09日 会议主要内容概述: 开发工作接近尾声,接下来两天重点放在单元测试.调CSS和增加数据集数量上. 一.进度情况 我们采用日报的形式记录每个人的具体进度,链 ...

  8. 【二食堂】Alpha - Scrum Meeting 4

    Scrum Meeting 4 例会时间:4.14 12:30 - 12:50 进度情况 组员 昨日进度 今日任务 李健 1. 主页面的搭建工作issue 1. 完成主页搭建**issue2. 与后端 ...

  9. OO第四次博客作业--第四单元总结及课程总结

    一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了 ...

  10. csp总结 (差点爆零的总结)

    T1,iterator忘了怎么写了,想了很久都想不出来有什么可以替代,只好O(n^2): T2,不会,只会打暴力 T3,自以为是正解,写了很久大概3h,却一直过不了大样例,大样例输出全是0: T4,不 ...