2016 ACM-ICPC Asia Regional Changchun 1006 Harmonic Value Description(逻辑思维)
来源:互联网 发布:javascript实例大全 编辑:程序博客网 时间:2024/06/05 04:21
Harmonic Value Description
题意:1~n的全排列中谐波值严格第k小的排列为多少,排列p1,p2,…,pn的谐波值定义为:
由于p1,p2,…,pn是1~n全排列中的一种,可想而知的是,严格第1小的排列必定是那种任意相邻两个数最大公约数为1的排列。例如排列1,2,3,…,n。
此外,1~n这n个数还是很奇妙的,我们可以构造出任意约数为k的对。当然,前提是k<=n/2,而题目的要求正好是2k<=n。
故谐波值严格第k小的排列可以是存在一对相邻两个数最大公约数为k,其余任意相邻两个数最大公约数为1的排列。
故最方便的构造方法(与样例输出不同,但两者谐波值时一样的)是将2k和k提取出来放在排列最前面,然后构造相邻两数最大公约数为1的排列
即下述这种排列:
2k,k,k-1,k-2,…,2,1,k+1,k+2,…,2k-1,2k+1,…,n-1,n
这么做的原因如下:
⑴gcd(k,2k)=k
⑵自然数中相邻两数的最大公约数为1
⑶自然数中相邻两奇数的最大公约数为1,即gcd(2k-1,2k+1)=1
⑷1与任何数的最大公约数为1
时间复杂度:O(n)
代码:
#include <stdio.h>int main(){ int t,n,k,i,p=1; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); printf("Case #%d:",p++); printf(" %d %d",2*k,k); for(i=k-1;i>=1;i--) printf(" %d",i); for(i=k+1;i<=n;i++) if(i!=2*k) printf(" %d",i); putchar('\n'); } return 0;}
阅读全文
0 0
- 2016 ACM-ICPC Asia Regional Changchun 1006 Harmonic Value Description(逻辑思维)
- 2016 ACM-ICPC Asia Regional Changchun 1002 Fraction(模拟)
- 2012 ACM/ICPC Asia Regional Changchun Online-1006
- HDU4273 Rescue(2012 ACM/ICPC Asia Regional Changchun Online)
- 2015 ACM/ICPC Asia Regional Changchun Online(1002)
- 2015 ACM/ICPC Asia Regional Changchun Online(1001)
- 2015 ACM/ICPC Asia Regional Changchun Online(1008)
- 2015 ACM/ICPC Asia Regional Changchun Online(1005)
- ACM-ICPC Asia Regional Changchun 1008 Sequence I(KMP)
- 2012 ACM/ICPC Asia Regional Changchun Online
- 2013 ACM/ICPC Asia Regional Changchun Online
- 2013 ACM/ICPC Asia Regional Changchun Online
- 2013 ACM/ICPC Asia Regional Changchun Online
- 2015 ACM/ICPC Asia Regional Changchun Online
- 2015 ACM/ICPC Asia Regional Changchun Online
- 2016 ACM-ICPC Asia Regional Changchun 1004 Triangle(打表)
- 2012 ACM/ICPC Asia Regional Changchun Online-1001
- 2012 ACM/ICPC Asia Regional Changchun Online-1010
- windows环境下python安装open cv 读取tiff文件
- NOIP2015提高组解题报告
- Js学习之路五 --- 选择框(全选、全不选、反选)
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交 换,输出数组
- Spring 测试配置
- 2016 ACM-ICPC Asia Regional Changchun 1006 Harmonic Value Description(逻辑思维)
- Java中接口的实际应用:指定操作的标准
- Android开发——数据库框架Suger遇到的大坑(Gson和Suger的复用Bean请见“大坑三”)
- c/c++面试题
- 镜子迷宫记录
- LeetCode-Reconstruct Original Digits from English
- actionscript3.0离线帮助文档下载
- html块级元素、行级元素、内联块级元素的特点
- HDOJ HDU 1134 Game of Connections