【noip2005】篝火晚会
题解:
首先我们要知道一个性质:
把长度为n的序列变成目标序列最多需要n个操作
证明1:
我们可以将原序列上每位上的数字向目标序列相同位置的数字连一条有向边
如:
原序列: 1 2 3
目标序列:3 1 2
则 1指向3、2指向1、3指向2
显然这样连完后 构成的图为若干个环
我们只要将非自环(原序列和目标序列上的数一样)的环拿出来做操作即可
这样显然我们需要花费 n-原序列和目标序列相同的个数 个操作
所以我们需要构造目标序列使得原序列和目标序列相同的个数最多
因为每个人左右是谁都已确定 所以我们对目标序列只能做翻转、平移
先不考虑翻转
我们需要再知道一个性质:
假设差值为 (原序列-目标序列+n)%n
如:
原序列: 1 2 3
目标序列:3 1 2
差值: 1 1 1
对于差值相同的数 不论怎么平移 差值永远相同
证明2:
由于原序列是一个等差数列 所以在直角坐标系上是一条直线
而差值相同的数 在直角坐标系上则必是与 原序列平行的一条直线
显然平行直线不论怎么平移永远平行
这样我们就可以先随便构造一个目标序列
n-差值相同的最多的个数 即为答案(翻转再做一次 取max)
这题没打代码 只是觉得有点神奇 所以写下题解 - - so代码就不贴了。。
【noip2005】篝火晚会的更多相关文章
- [LuoguP1053][Noip2005]篝火晚会
[LuoguP1053][Noip2005]篝火晚会(Link) 现在你有一个排成一个圈的\(N\)大小的队列,一开始的顺序是\(\{1,2,3,4...N\}\),一共有\(N\)个要求,第\(i\ ...
- NOIP2005 篝火晚会 解题报告
佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1到n.一开始,同学们按照1,2,… ...
- NOIP2005 篝火晚会
篝火晚会 (fire.pas/c/cpp) [问题描述] 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会. ...
- Luogu1053 NOIP2005篝火晚会
首先造出所要求的得到的环.如果将位置一一对应上,答案就是不在所要求位置的人数.因为显然这是个下界,并且脑补一下能构造出方案达到这个下界. 剩下的问题是找到一种对应方案使错位数最少.可以暴力旋转这个环, ...
- noip2005篝火晚会
这是一道不算太难的题,但愚蠢的我并没有想到. 首先,判断无解的情况:他想相邻的不想与他相邻. 然后,构造出合法的数列,因为第一位左边有两种选择,且构造出的环不等价,所以要做两次. (这一点我并没有想清 ...
- 「NOIP2005」「Codevs1106」篝火晚会
题目描述 Description 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1 ...
- [NOIP2005] 提高组 洛谷P1053 篝火晚会
题目描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1到n.一开始,同学们按照 ...
- [NOIP 2005]-- 篝火晚会
额~~,对这组题感兴趣的具体的解题报告可以戳戳这里:http://wenku.baidu.com/view/878beb64783e0912a2162aa7.html?qq-pf-to=pcqq.c2 ...
- 洛谷 P1053 篝火晚会 解题报告
P1053 篝火晚会 题目描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了"小教官".在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有 ...
- P1053 篝火晚会
题目描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有nnn个同学,编号从111到nnn.一开始 ...
随机推荐
- uva 10105
数学 杨辉三角 多项式系数 #include <cstdio> int f[13] = {1}; void init() { for (int i = 1; i < 13; i+ ...
- 双十一运维怎么过,OneAPM 帮你救火,轻松运维
一年一度的双十一来了 有人剁手买买买,有人愁眉苦脸抱着服务器哭 对,说的就是你,汪 苦逼的运维工程师双十一怎么过来的? 守着电脑看预警还是通宵加服务器扩容 还是帮女朋友守着购物车等着一键清空 或者 今 ...
- hdu 4559 涂色游戏 博弈论
构造SG函数:sg[i]表示2*i的sg值!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm ...
- shell中截取字符串的方法总结
shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- CentOS7.1配置远程桌面
网上看了很多资料,完全是乱的. 我使用的是CentOS7.1的系统.我的要求是windows的客户机可以远程访问CentOS系统. 1,首先需要检查一下服务器是否已经安装了VNC服务,检查服务器的是否 ...
- nginx做负载均衡配置文件
nginx做负载均衡是在反向代理的基础上做的,代码如下: ## Basic reverse proxy server ## ## Apache backend for www.baidu.com ## ...
- iOS开发--绘图教程
本文是<Programming iOS5>中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容.希望本文能够对你有所帮助. 本文由海水的味道翻译整理,转载请 ...
- [Unity菜鸟] Unity读XML
1. 在Unity中调试可行,发布成exe可行,发布成web不行 Application.dataPath 在Unity中调试是在“..Assets”文件夹下, 发布成exe文件是在“..yourNa ...
- 如何:在 Winform 动态启动、控制台命令行?
需求 winForm 程序输出类型为 windows 程序(不是命令行程序) 在运行时想输入一些信息编译开发调试,如何实现这一功能 解答: AllocConsole.FreeConsole ...
- WCF的通信
[ServiceContract] public interface IContractDemoOne { [OperationContract(IsOneWay=true) ...