CF1334D.Minimum Euler Cycle

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a complete directed graph KnK_n with nn vertices: each pair of vertices u≠vu \neq v in KnK_n have both directed edges (u,v)(u, v) and (v,u)(v, u); there are no self-loops.

You should find such a cycle in KnK_n that visits every directed edge exactly once (allowing for revisiting vertices).

We can write such cycle as a list of n(n−1)+1n(n - 1) + 1 vertices v1,v2,v3,…,vn(n−1)−1,vn(n−1),vn(n−1)+1=v1v_1, v_2, v_3, \dots, v_{n(n - 1) - 1}, v_{n(n - 1)}, v_{n(n - 1) + 1} = v_1 — a visiting order, where each (vi,vi+1)(v_i, v_{i + 1}) occurs exactly once.

Find the lexicographically smallest such cycle. It's not hard to prove that the cycle always exists.

Since the answer can be too large print its [l,r][l, r] segment, in other words, vl,vl+1,…,vrv_l, v_{l + 1}, \dots, v_r.

给你一个包含 nn 个顶点的完全有向图 KnK_n:对于 KnK_n 中任意两个不同顶点 u≠vu \neq v,均同时存在有向边 (u,v)(u, v) 和 (v,u)(v, u);图中不含自环。

你需要在 KnK_n 中找到一个遍历每条有向边恰好一次的环(允许重复访问顶点)。

这样的环可表示为一个长度为 n(n−1)+1n(n - 1) + 1 的顶点序列 v1,v2,v3,…,vn(n−1)−1,vn(n−1),vn(n−1)+1=v1v_1, v_2, v_3, \dots, v_{n(n - 1) - 1}, v_{n(n - 1)}, v_{n(n - 1) + 1} = v_1 —— 即访问顺序,其中每条有向边 (vi,vi+1)(v_i, v_{i + 1}) 恰好出现一次。

请找出字典序最小的此类环。可以证明,这样的环总是存在的。

由于答案可能过长,请仅输出其第 [l,r][l, r] 段,即顶点序列 vl,vl+1,…,vrv_l, v_{l + 1}, \dots, v_r。

输入格式

The first line contains the single integer TT (1≤T≤1001 \le T \le 100) — the number of test cases.

Next TT lines contain test cases — one per line. The first and only line of each test case contains three integers nn, ll and rr (2≤n≤1052 \le n \le 10^5, 1≤l≤r≤n(n−1)+11 \le l \le r \le n(n - 1) + 1, r−l+1≤105r - l + 1 \le 10^5) — the number of vertices in KnK_n, and segment of the cycle to print.

It's guaranteed that the total sum of nn doesn't exceed 10510^5 and the total sum of r−l+1r - l + 1 doesn't exceed 10510^5.

第一行包含一个整数 TT(1≤T≤1001 \le T \le 100)—— 表示测试用例的数量。

接下来的 TT 行为测试用例,每行一个。每个测试用例所在行包含三个整数 nn、ll 和 rr(2≤n≤1052 \le n \le 10^5,1≤l≤r≤n(n−1)+11 \le l \le r \le n(n - 1) + 1,r−l+1≤105r - l + 1 \le 10^5)—— 分别表示完全图 KnK_n 的顶点数,以及需要输出的环上区间的左右端点。

保证所有测试用例中 nn 的总和不超过 10510^5,且所有测试用例中 r−l+1r - l + 1 的总和也不超过 10510^5。

输出格式

For each test case print the segment vl,vl+1,…,vrv_l, v_{l + 1}, \dots, v_r of the lexicographically smallest cycle that visits every edge exactly once.

对于每个测试用例,输出字典序最小的、恰好经过每条边一次的环路的子段 vl,vl+1,…,vrv_l, v_{l + 1}, \dots, v_r。

输入输出样例

  • 输入#1

    3
    2 1 3
    3 3 6
    99995 9998900031 9998900031

    输出#1

    1 2 1 
    1 3 2 3 
    1

说明/提示

In the second test case, the lexicographically minimum cycle looks like: 1,2,1,3,2,3,11, 2, 1, 3, 2, 3, 1.

In the third test case, it's quite obvious that the cycle should start and end in vertex 11.

在第二个测试用例中,字典序最小的环为:1,2,1,3,2,3,11, 2, 1, 3, 2, 3, 1。

在第三个测试用例中,显然该环应从顶点 11 开始并结束于顶点 11。

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

首页