HDOJ 5916 Harmonic Value Description 【2016CCPC长春现场赛】数学+构造
2016-10-05 00:27
513 查看
题目中看到了Special Judge,看到了n和k是感觉无法暴力的数据大小,那么,我们就要试着去考虑一发公式了!
当GCD的值取到最小的时候,说明相邻的两个数字全是互斥的
意思是:k=1时,数列为1,2,3,4,5,……是符合条件的
当k=2的时候,说明有一对不互斥,而且GCD只增加了1,那么我们可以构造出来一对偶数放到前面的情况,即:2,4,1,3,5,6,7,8,……
当k=3的时候,说明有两对不互斥,而且GCD只增加了2,那么:2,4,6,1,3,5,7,8……
所以,当k为几的时候,就是前几个偶数放在前面(k=1的时候,2,1,3,4,5,……也是可以的)
所以:
我们得到一个构造的暴力解法:
当GCD的值取到最小的时候,说明相邻的两个数字全是互斥的
意思是:k=1时,数列为1,2,3,4,5,……是符合条件的
当k=2的时候,说明有一对不互斥,而且GCD只增加了1,那么我们可以构造出来一对偶数放到前面的情况,即:2,4,1,3,5,6,7,8,……
当k=3的时候,说明有两对不互斥,而且GCD只增加了2,那么:2,4,6,1,3,5,7,8……
所以,当k为几的时候,就是前几个偶数放在前面(k=1的时候,2,1,3,4,5,……也是可以的)
所以:
我们得到一个构造的暴力解法:
#include<bits/stdc++.h> using namespace std; const int maxn=1e6+100; bool vis[maxn]; int n,k; int main(){ int t; scanf("%d",&t); for(int Case=1;Case<=t;Case++){ scanf("%d%d",&n,&k); printf("Case #%d: ",Case); memset(vis,false,sizeof(vis)); bool flag=false; for(int i=1;i<=k;i++){ vis[i*2]=true; if (flag) printf(" %d",i*2); else{ flag=true; printf("%d",i*2); } } for(int i=1;i<=n;i++) if (!vis[i]) printf(" %d",i); puts(""); } return 0; }
相关文章推荐
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- HDU 5916 Harmonic Value Description (2016-ccpc-长春)
- HDU 5916 Harmonic Value Description【构造】【2016中国大学生程序设计竞赛(长春)】
- HDU 5916 Harmonic Value Description【思维构造题目】(2016中国大学生程序设计竞赛(长春)F题)
- hdoj 5916 Harmonic Value Description(数学, 构造)
- HDU 5916 Harmonic Value Description 【构造】(2016中国大学生程序设计竞赛(长春))
- hdu 5916 Harmonic Value Description 2016ACM/CCPC长春赛区现场赛F
- HDOJ 5914 Triangle 【2016CCPC长春现场赛】数学
- HDOJ 5912 Fraction 【2016CCPC长春现场赛】数学
- hdu 5916 Harmonic Value Description-思维题-2016中国大学生程序设计竞赛(长春)-重现赛
- Harmonic Value Description ccpc长春
- HDOJ 5918 Sequence I 【2016CCPC长春现场赛】KMP暴力
- hdu 5918 Harmonic Value Description 2016ACM/CCPC长春赛区现场赛H
- hdu 5916 Harmonic Value Description 构造
- HDU Harmonic Value Description 2016中国大学生程序设计竞赛(长春)-重现赛
- HDOJ 5916 Harmonic Value Description(脑洞题)
- HDU 5916 Harmonic Value Description(规律+构造)
- HDU 5916 Harmonic Value Description (构造)
- Harmonic Value Description HDU - 5916 构造
- hdu 5916 Harmonic Value Description 构造