CF1311E.Construct the Binary Tree
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given two integers n and d. You need to construct a rooted binary tree consisting of n vertices with a root at the vertex 1 and the sum of depths of all vertices equals to d.
A tree is a connected graph without cycles. A rooted tree has a special vertex called the root. A parent of a vertex v is the last different from v vertex on the path from the root to the vertex v. The depth of the vertex v is the length of the path from the root to the vertex v. Children of vertex v are all vertices for which v is the parent. The binary tree is such a tree that no vertex has more than 2 children.
You have to answer t independent test cases.
给你两个整数 n 和 d。你需要构造一棵包含 n 个顶点的有根二叉树,其中顶点 1 为根,且所有顶点的深度之和恰好等于 d。
树是一种无环的连通图。有根树中有一个特殊的顶点称为根。顶点 v 的父节点是指从根到 v 的路径上最后一个不同于 v 的顶点。顶点 v 的深度定义为从根到 v 的路径长度。顶点 v 的子节点是指所有以 v 为父节点的顶点。二叉树是一种每个顶点至多有两个子节点的树。
你需要回答 t 个相互独立的测试用例。
输入格式
The first line of the input contains one integer t (1≤t≤1000) — the number of test cases.
The only line of each test case contains two integers n and d (2≤n,d≤5000) — the number of vertices in the tree and the required sum of depths of all vertices.
It is guaranteed that the sum of n and the sum of d both does not exceed 5000 (∑n≤5000,∑d≤5000).
输入的第一行包含一个整数 t(1≤t≤1000),表示测试用例的数量。
每个测试用例仅一行,包含两个整数 n 和 d(2≤n,d≤5000),分别表示树中顶点的数量以及所有顶点深度之和的要求值。
保证所有测试用例的 n 之和与 d 之和均不超过 5000(即 ∑n≤5000, ∑d≤5000)。
输出格式
For each test case, print the answer.
If it is impossible to construct such a tree, print "NO" (without quotes) in the first line. Otherwise, print "{YES}" in the first line. Then print n−1 integers p2,p3,…,pn in the second line, where pi is the parent of the vertex i. Note that the sequence of parents you print should describe some binary tree.
对于每个测试用例,请输出答案。
如果无法构造出满足条件的树,则在第一行输出 "NO"(不带引号)。否则,在第一行输出 "{YES}"。然后在第二行输出 n−1 个整数 p2,p3,…,pn,其中 pi 表示顶点 i 的父节点。注意:你所输出的父节点序列必须描述一棵二叉树。
输入输出样例
输入#1
3 5 7 10 19 10 18
输出#1
YES 1 2 1 3 YES 1 2 3 3 9 9 2 1 6 NO
说明/提示
Pictures corresponding to the first and the second test cases of the example:


对应示例中第一个和第二个测试用例的图片:


输入解题思路,AI测评打分。不知道怎么写?