题目名称 112. [NOIP 2005]篝火晚会
输入输出 fire.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarBYVoid 于2008-09-17加入
开放分组 全部用户
提交状态
分类标签
图论 NOIP/CSP 群论
查看题解 分享题解
通过:101, 提交:308, 通过率:32.79%
GravatarRapiz 100 0.010 s 0.52 MiB C++
GravatarBennettz 100 0.031 s 1.30 MiB C++
Gravatarjmisnal 100 0.059 s 4.79 MiB C++
Gravatar安呐一条小咸鱼。 100 0.060 s 1.31 MiB C++
GravatarSkyo 100 0.064 s 1.10 MiB C++
GravatarYoungsc 100 0.064 s 1.46 MiB C++
GravatarESAzl 100 0.068 s 1.27 MiB C++
GravatarESAzl 100 0.068 s 1.27 MiB C++
Gravatarchangxv 100 0.070 s 1.31 MiB C++
Gravatartest 100 0.077 s 1.31 MiB C++
本题关联比赛
假期找点事儿做题吧
关于 篝火晚会 的近10条评论(全部评论)
发表了题解~对COGS题解的排版想吐槽一下orz
大家凑合看吧~
Gravatar冷月星云
2021-11-19 21:02 11楼
这题简直了。。。教训就是读题需仔细qwq
GravatarCodeLyoko
2016-11-16 23:24 10楼
回去重修语文去了。。。b1,b2..bm可以不连续,一直以为要连续.......构造目标序列,然后查与原序列上差值相同的数对,出现次数的最大值。因为与原序列差值相同的话可以通过一次移动使得与原序列差值为0(很显然,好像也可以联系下置换的群姿势)...
Gravatarsxysxy
2016-10-27 08:28 9楼
这…神题
需要用到一个置换的定理,不过这无关紧要。只是知道的人少证了一步而已。
GravatarRapiz
2016-10-24 17:17 8楼
...不明不白的就rank1了,不过还不懂这道题和置换群的关系。。。。。
GravatarSkyo
2015-09-25 14:05 7楼
为了不产生对题目的误解特地加了一句注释(虽然觉得不会有人像我一样蠢)
Gravatarmikumikumi
2015-07-01 23:09 6楼
群论都来了
Gravatarlushan01
2014-04-07 11:06 5楼
置换群是什么东西……
Gravatarcstdio
2012-10-22 20:28 4楼
TBK要看我的代碼。。。僕のコードを見せ.......
GravatarMakazeu
2012-10-22 16:30 3楼
Orz UIOP
Gravatar王者自由
2012-10-22 16:29 2楼

112. [NOIP 2005]篝火晚会

★★☆   输入文件:fire.in   输出文件:fire.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小 教官”。在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会。一共有 n 个同学,编号从 1 到 n 。一开始,同学们按照 1 , 2 ,……, n 的顺序坐成一圈,而实际上每个人都有两个最希望相邻的同学。如何下命令调整同学的次序,形成新的一个圈,使之符合同学们的意愿,成为摆在佳佳面前的一大难 题。

佳佳可向同学们下达命令,每一个命令的形式如下:(b 1 , b 2 ,... b m -1 , b m )

b1,b2....b m可以不是连续的,比如说可以这样命令(1,8,10)

这 里 m 的值是由佳佳决定的,每次命令 m 的值都可以不同。这个命令的作用是移动编号是 b 1 , b 2 ,…… b m –1 , b m 的这 m 个同学的位置。要求 b 1 换到 b 2 的位置上, b 2 换到 b 3 的位置上,……,要求 b m 换到 b 1 的位置上。

执行每个命令都需要一些代价。我们假定如果一个命令要移动 m 个人的位置,那么这个命令的代价就是 m 。我们需要佳佳用最少的总代价实现同学们的意愿,你能帮助佳佳吗?

【输入文件】

输入的第一行是一个整数 n ( 3 <= n <= 50000 ),表示一共有 n 个同学。

其后 n 行每行包括两个不同的正整数,以一个空格隔开,分别表示编号是 1 的同学最希望相邻的两个同学的编号,编号是 2 的同学最希望相邻的两个同学的编号,……,编号是 n 的同学最希望相邻的两个同学的编号。

【输出文件】

输出包括一行,这一行只包含一个整数,为最小的总代价。

如果无论怎么调整都不能符合每个同学的愿望,则输出 -1 。

【输出样例】

4
3 4
4 3
1 2
1 2

【输出样例】

2

【数据规模】

对于30%的数据,n <= 1000;

对于全部的数据,n <= 50000。