2016 CCPC长春重现赛

1、2016中国大学生程序设计竞赛(长春)-重现赛   

2、总结:会做的太少,应变能力也不行,或者说猜题目的能力不行

02  水

04  HDU 5914  Triangle  

1、题意:1~n,n个数,问至少取出多少个数使剩下的数不构成三角形。

2、总结:比赛的时候想不出,直接数,反正n<=20。。还是思维不灵活啊

3、思路:只要剩下的数都是fibnacci数列就可以。

#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
#include<cstdio>
#define F(i,a,b) for (int i=a;i<b;i++)
#define FF(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
#define LL long long
using namespace std;
const int N=10010,MAX=1000100;

int main()
{
    int T,n,a[25];
    mes(a,0);
    a[1]=a[2]=a[3]=a[5]=a[8]=a[13]=a[21]=1; 
    F(i,2,25)a[i]+=a[i-1];
    cin>>T;
    FF(cas,1,T){
        cin>>n;
        printf("Case #%d: %d\n",cas,n-a[n]);
    }

    return 0;
}
View Code

 

06  HDU 5916  Harmonic Value Description   

1、题意:求一组序列所有排序的第k小值。即要有两个相邻的数gcd为k,其它相邻数gcd都为1。

2、总结:思维不够灵活,应该多猜

3、思路:(1)k,k+1互质。(2)2*k-1,2*k+1互质。所以这题可以先输出2*k,k,这两数gcd就是k。再把k+1~n输出,再输出1~k-1。

#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
#include<cstdio>
#define F(i,a,b) for (int i=a;i<b;i++)
#define FF(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
#define LL long long
using namespace std;
const int N=10010,MAX=1000100;

int main()
{
    int t,n,k;
    cin>>t;
    FF(cas,1,t){
        cin>>n>>k;
        printf("Case #%d: %d %d",cas,k*2,k);
        FF(i,k+1,n){
            if(i!=k*2)printf(" %d",i);
        }
        F(i,1,k)printf(" %d",i);
        puts("");

    }

    return 0;
}
View Code

 

posted @ 2016-10-05 22:11  v9fly  阅读(437)  评论(0编辑  收藏  举报