- NOIp2018
- 身为一名只会PJ的蒟蒻
- 我带着试试的心态(为了省一次中考哈哈哈)
- 同时报了PJ和TG??!
- TGD1T1是一道洛谷原题
- 都是提高组签到题
- 铺设道路
- 本蒻好像A了
- 然而某些dalao们说线段树也能做。。。
- 我还是玩自己的O(n)吧!!
- T2稍微上升了些难度 货币系统
- 本蒻先打了0.5h的dfs
- 然而连样例都过不了
- 气得O(t*n^2*a[n])可行性完全背包
- 结果就过了大样例啧啧~~
- 洛谷上提交90分,TLE了两个点
- T3不会,能搞出多少部分分算多少啦
- D2更不必说了
- D2T1dfs小样例过了,大样例boom~
- T2、T3?
- 呵呵
- PJ第一题好像写炸了
- 用的getline(cin,s);
- PJT2不会写高精qaq
- T3动态规划瞎搞过了样例
- T4自暴自弃了
- 啧啧
- TG期望得分0~100
- PJ期望得分0~150
- 希望这个期望是假的
- 最后献上自己考场写的TGD1T2代码
- 蒟蒻过于垃圾,并不能AC
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 inline int read(void){ 6 int x=0,f=1;char ch=getchar(); 7 while(ch<'0'||ch>'9'){ 8 if(ch=='-') f=-1; 9 ch=getchar(); 10 } 11 while(ch>='0'&&ch<='9'){ 12 x=(x<<1)+(x<<3)+ch-'0'; 13 ch=getchar(); 14 } 15 return x*f; 16 } 17 18 int t,n,a[105],over,dp[25005]; 19 20 int main(){ 21 t=read(); 22 while(t--){ 23 memset(dp,0,sizeof(dp));over=0; 24 n=read();memset(a,0,sizeof(a)); 25 for(register int i=1;i<=n;i++) 26 a[i]=read(); 27 sort(a+1,a+n+1); 28 dp[0]=1; 29 for(register int i=1;i<=n;i++){ 30 if(dp[a[i]]) over++; 31 for(register int j=1;j<=i;j++) 32 for(register int k=0;k<=a[n]-a[j];k++) 33 dp[k+a[j]]|=dp[k]; 34 } 35 printf("%d\n",n-over); 36 } 37 return 0; 38 }
两年OI一场空
贪心过样例,暴力出奇迹!!