HDU 5916
来源:互联网 发布:淘宝商城怎么开店 编辑:程序博客网 时间:2024/06/07 02:19
题目大意:有t个样例,每个样例,输入n和k,其中n代表一段序列为1,2,3...n的标准序列,k代表第k小的序列。输出这个序列,序列的值根据公式计算,公式的意思为每相邻两个数的最大公约数的累积和。
解题思路:标准序列必然为最小序列且值为n-1(同值序列不唯一),易发现相邻的奇数最小公约数也为1,而相邻的偶数最小公约为为2,根据题目又发现2k≤n,也就是所可能求最大的序列的值为n+2k-2,而每次将相邻的两个偶数放在前面就会使得值增加一,排名就会靠近一位。最多将所有偶数放前面就能达到极限。
ac代码:
#include <iostream>#include <cstring>using namespace std;int main(){int t, n, k, cnt = 1, vis[10005];cin >> t;while (t--){scanf("%d%d", &n, &k);memset(vis, 0, sizeof(vis));printf("Case #%d:", cnt++);for (int i=1; i<=k; i++){printf(" %d", 2*i);vis[2*i] = 1; }for (int i=1; i<=n; i++)if (!vis[i])printf(" %d", i);printf("\n");}return 0;}
阅读全文
0 0
- HDU 5916
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- 根据图片路径,把图片转为byte数组
- Rhyme/Spring5.0.2.RELEASE官方英文文档学习笔记(1) Introduction to the Spring IoC container and beans
- 数据库连接池
- [Java数据结构]简单排序之插入排序
- 用java计算一个目录里所有文件的大小
- HDU 5916
- 代码重构之Spring+工厂+策略模式
- JS——事件冒泡(1)
- c++中的处理类型的三种方式
- 爬虫实战:基于 HtmlParser 实现网页链接的提取
- matlab中num2str
- qt编译caffe遇到的opencv版本问题
- JAVA_String之trim()源码
- 【操作系统】死锁