NOIP2018遊記+NOIP2018Day1T1鋪設道路+NOIP2018Day2T2貨幣系統

NOIP2018去學軍逛了兩天,每天走路去考場。
結果——退役了!
發現考場上腦子不太好。
Day1三道貪心。
T3愣是沒打出來,就拿了50多分。前兩題也做了很長時間。
然而……
T1是不是有點過分了?
自己抄自己?

NOIP2013積木大賽

NOIP2018鋪設道路

有什麼不同嗎?
其實很水,考試的時候沒看出來,寫得很冗長繁複。
下面是之後寫的,最簡單的代碼。
CodeCode:

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,a[N];
int main()
{
    scanf("%d",&n);
    int ans=0;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>a[i-1])ans+=a[i]-a[i-1];
    }
    printf("%d\n",ans);
    return 0;
}

T2貨幣系統

就是一個揹包!一眼就能看出來了。
CodeCode:

#include<bits/stdc++.h>
using namespace std;
int n,a[105],b[25005],T;
int main()
{
    scanf("%d",&T);
    while(T--)
    {
        memset(b,0,sizeof(b));
        b[0]=1;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            for(int j=0;j<=25000;j++)
                if(b[j]>0&&j+a[i]<25000)b[j+a[i]]++;
        }
        int ans=0;
        for(int i=1;i<=n;i++)
            if(b[a[i]]==1)ans++;
        printf("%d\n",ans);
    }
    return 0;
}

前兩題其實10分鐘就應該解決,然而……
我做了1個小時。
感覺考試的時候有點慌,不太對。
其他的另外再放幾篇吧。
《流浪地球》挺火,是吧。( ̄▽ ̄)~*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章