2018NOIP 提高組 Day1
阿新 • • 發佈:2018-12-21
寫一波NOIP的題,感覺比我們那時候難多了......可剛剛崔力說我們那一屆才是出奇的難.....
說好的T1簽到呢...第一題就想了好久。最後發現貪心可做。對於每一個坑,如果小於前一個,填前一個的時候它已經平了;如果大於前一個,加上超出的數值
#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> using namespace std; int n,sum=0; int a[100010]; int main() { cin>>n; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sum=a[1]; for(int i=2;i<=n;i++) if(a[i]>a[i-1]) sum+=a[i]-a[i-1]; printf("%d\n",sum); return 0; }
網上都在說T1原題,可我總覺得T2之間見到過
根據印象+不嚴謹的推斷,得出一個結論:A 集合內不能被其它陣列成的數必然存在於 B 集合內
然後問題就轉化為如何找出這些數的總數
這裡用到了完全揹包
還真巧呢這兩天正在搞DP。所謂完全揹包,是指對於給你一個體積固定的包和很多商品,每個商品有無數多個,求如何放才能使價值最大。