[ARC095F]Permutation Tree

11人阅读 评论(0) 收藏 举报
分类:

最近刷AtCoder,觉得刷得挺爽的,每次的F题都有一定难度,但是却还是挺可做的>_<反正AtCoder对于我这种英文不好的选手来说非常友善,看一眼就读完题面了

题意

Takahashi有一种能力以以下步骤用一个排列(p1,p2,,pn)来生成一棵树:

首先,按照以下操作准备顶点1N。对于顶点i

  • 如果pi=1,什么都不做
  • 如果pi1,让j表示最大的满足pj<pij。在ji之间连一条边

给出按照这个过程建立的一棵树,判定是否能够用另外一个排列做出一棵与此同构的树,问这个要求字典序最小的排列应该是什么,无解输出1
1n105

分析

考虑我们将这个操作的过程改写成:一开始全是黑点,然后我们将pi按照升序排列,考虑为原来的i。然后我们令一个max=1,考虑从左到右扫一遍,如果发现i>max,那么将i染红,并将max替换成i;如果当前的pi1,那么连边(注意一下,原来的过程那里,j并不一定小于i……这里是对于全局的……)。
这个过程符合原来的性质,因为每次和某个点连接的红点,肯定是比pi小,而且最接近。这时候我们会发现,我们得到的这个红点之间的链,相当于一条“直径”的东西,然后剩下的黑点都向着这个直径上连边,而且显然黑点之间没有边。
实际上按照原来的过程也可以感受出来,某一个pi很小但是i很大的点,可能会能够“占领”一大堆点,直到某一个i更大的点出现。
这样的图是一个“毛虫图”。如果给定的图不是一个“毛虫图”,那肯定不对,这和我们刚刚证明的不一样……至于要字典序最小,那直接反向构造即可。

查看评论

Permutation递归解法

permutation类型题的解法
  • a6219221
  • a6219221
  • 2016年09月07日 03:21
  • 791

Recursive backtrack & Non-recursive backtrack & Subset Tree & Permutation Tree 递归回溯与非递归回溯 排列树与子集树

Backtracks are usually written as recursive programs, the general solution is : void backtrack(int t...
  • taoqick
  • taoqick
  • 2014年03月25日 15:27
  • 1025

[ARC095F]Permutation Tree

最近刷AtCoder,觉得刷得挺爽的,每次的F题都有一定难度,但是却还是挺可做的&gt;_&lt;反正AtCoder对于我这种英文不好的选手来说非常友善,看一眼就读完题面了 ...
  • WenDavidOI
  • WenDavidOI
  • 2018年04月16日 21:29
  • 11

2017多校训练赛第一场 HDU 6044 Limited Permutation(虚建笛卡尔树+超级读入挂)

还是一样,读题很重要……         本题的破题关键点在于区间满足的条件:if and only if(当且仅当)。所以说,对于一个数字i,它是区间[li,ri]的最小值,这个li和ri不能扩大或...
  • u013534123
  • u013534123
  • 2017年07月27日 11:19
  • 405

Codeforces 618B Guess the Permutation

B. Guess the Permutation time limit per test 2 seconds memory limit per test 256 megabyt...
  • zwj1452267376
  • zwj1452267376
  • 2016年01月30日 17:36
  • 421

排列组合(permutation)系列解题报告

本文讲解4道关于permutation的题目。 1. Permutation:输出permutation——基础递归 2. Permutation Sequence: 输出第k个permutatio...
  • abcjennifer
  • abcjennifer
  • 2014年10月18日 18:46
  • 9474

FullPermutation(全排列)

  • 2011年09月25日 16:05
  • 5KB
  • 下载

【Poj2825】Perfect Permutation 构造

ORZ 。。。UOJ群里面的各位大爷。。。 当时关注这道题主要是因为准备Pkusc的考试。。。然而只会爆搜心塞了我一个星期QAQ 这道题找规律的困难点在于存再多解,并且解的数目非常非常多所以搜起来肉眼...
  • qq_34637390
  • qq_34637390
  • 2016年06月03日 20:55
  • 261

回溯法——permutation、permutation II数组数字的全排列

题目描述:permutation Given a collection of numbers, return all possible permutations. For exampl...
  • jingsuwen1
  • jingsuwen1
  • 2016年05月29日 16:25
  • 260

高效Permutation算法

本文介绍了一个基本C++ 0x语法的产生Permutation的高效算法。
  • goooxu
  • goooxu
  • 2013年11月22日 15:34
  • 1550
    个人资料
    持之以恒
    等级:
    访问量: 6万+
    积分: 1102
    排名: 4万+
    最新评论