HDU 5916 - Harmonic Value Description
2017-11-30 20:08
330 查看
题目大意:有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;
}
进一位的1≤2
解题思路:标准序列必然为最小序列且值为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;
}
进一位的1≤2
相关文章推荐
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- HDU 5916 Harmonic Value Description (构造)
- HDU 5916 Harmonic Value Description (水题)
- HDU 5916 Harmonic Value Description(规律+构造)
- hdu 5916 Harmonic Value Description 最大公约数
- hdu 5916 Harmonic Value Description-思维题-2016中国大学生程序设计竞赛(长春)-重现赛
- HDU 5916 Harmonic Value Description【思维构造题目】(2016中国大学生程序设计竞赛(长春)F题)
- Harmonic Value Description HDU - 5916 构造
- hdu 5916 Harmonic Value Description(思维)
- hdu 5916 Harmonic Value Description
- hdu 5916 Harmonic Value Description 构造
- hdu 5916 Harmonic Value Description
- hdu 5916 Harmonic Value Description 2016ACM/CCPC长春赛区现场赛F
- HDU 5916 - Harmonic Value Description
- hdu 5916 Harmonic Value Description 构造
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- HDU 5916 Harmonic Value Description (2016-ccpc-长春)
- HDU 5916 Harmonic Value Description【构造】【2016中国大学生程序设计竞赛(长春)】
- HDOJ 5916 Harmonic Value Description(脑洞题)
- HDU Harmonic Value Description 2016中国大学生程序设计竞赛(长春)-重现赛