寒假集训蒟蒻日记(更新至Day 2)
Day -3
啊今天是周日,明天就要考试,好虚啊,希望那个考个好成绩
我才不会告诉你我是无聊才发的这玩意儿
期末RP++
晦涩我语文RP++
繁琐我数学RP++
拗口我英语RP++
死背我政治RP++
复杂我历史RP++
诡异我生物RP++
粗暴我地理RP++
危险我物理RP++
别看我 没有化学
day -2
考试的第一天,四科全炸啊不说了
南鎪...
day -1
八科全部炸mmp
day 0
去湖南博物馆玩了整个下午,看到了可爱的辛追奶奶
骨瘦嶙峋,嘴皮外翻,好可爱啊
day 1
现在培训正式开始啦~
开局一个被称为“很简单”的热身赛打成dwangg,估计是100封顶了...
%%%wey神犇自奶破300
%%%zyl神犇被奶破300
%%%hkh神犇直播上400
%%%yhb神犇全程看戏
day 2
做了一大堆题
代码都在这了
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);++i) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);--i) 4 using namespace std; 5 int n,ans; 6 int h[1005],f[1005],g[1005]; 7 int main(){ 8 scanf("%d",&n); 9 fp(i,1,n) 10 scanf("%d",&h[i]); 11 f[1]=1; 12 fp(i,2,n){ 13 fp(j,1,i-1) 14 if(h[i]>h[j]&&f[i]<f[j]) 15 f[i]=f[j]; 16 f[i]++; 17 } 18 g[n]=1; 19 fd(i,n-1,1){ 20 for(int j=i+1;j<=n;++j) 21 if(h[i]>h[j]&&g[i]<g[j]) 22 g[i]=g[j]; 23 g[i]++; 24 } 25 ans=0; 26 fp(i,1,n) 27 if(f[i]+g[i]-1>ans) 28 ans=f[i]+g[i]-1; 29 printf("%d",ans); 30 return 0; 31 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 char a[201],b[201]; 5 int num[202][202]; 6 //inline int bat 7 void LCS(int lena,int lenb){ 8 fp(i,1,lena){ 9 fp(j,1,lenb){ 10 if(a[i-1]==b[j-1]){ 11 num[i][j]=num[i-1][j-1]+1; 12 } 13 else{ 14 num[i][j]=num[i][j-1] > num[i-1][j] ? num[i][j-1] : num[i-1][j]; 15 } 16 } 17 } 18 } 19 int main(){ 20 while(scanf("%s",a)==1){ 21 scanf("%s",b); 22 int lena=strlen(a); 23 int lenb=strlen(b); 24 memset(num,0,sizeof(num)); 25 LCS(lena,lenb); 26 printf("%d\n",num[lena][lenb]); 27 } 28 return 0; 29 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 using namespace std; 5 inline int bothposs(int a,int b,int pd){ 6 if(pd==1) return a>b?a:b; 7 if(pd==0) return a>b?b:a; 8 } 9 int main(){ 10 int n; 11 int sum=0,ans=0; 12 int bu[100+20]={1}; 13 int fi[100+20]; 14 int all; 15 scanf("%d",&all); 16 fp(k,1,all){ 17 scanf("%d",&n); 18 fp(i,1,n){ 19 scanf("%d",&bu[i]); 20 fi[i]=1; 21 } 22 fd(i,n-1,1){ 23 fp(j,i+1,n){ 24 if(bu[i]<=bu[j]){ 25 fi[i]=bothposs(fi[i],fi[j]+1,1); 26 } 27 } 28 } 29 fp(i,1,n){ 30 sum=bothposs(sum,fi[i],1); 31 } 32 fp(i,1,120){ 33 fi[i]=1; 34 } 35 fd(i,n-1,1){ 36 fp(j,i+1,n){ 37 if(bu[i]>=bu[j]){ 38 fi[i]=bothposs(fi[i],fi[j]+1,1); 39 } 40 } 41 } 42 fp(i,1,n){ 43 ans=bothposs(ans,fi[i],1); 44 } 45 printf("%d\n",bothposs(ans,sum,1)); 46 sum=0; 47 ans=0; 48 } 49 return 0; 50 }
1 #include <bits/stdc++.h> 2 char a[1005],b[1005]; 3 int l1,l2,sum,f[1005][1005]; 4 int n; 5 int set0(){ 6 memset(f,0,sizeof(f)); 7 for(int i=1;i<=1000;i++){ 8 f[0][i]=i;f[i][0]=i; 9 } 10 } 11 int mmin(int a,int b,int c){ 12 if(a<=b&&a<=c) return a; 13 if(b<=a&&b<=c) return b; 14 if(c<=b&&c<=b) return c; 15 } 16 int main(){ 17 int i,j; 18 scanf("%d",&n);getchar(); 19 for(int hhh=1;hhh<=n;hhh++){ 20 set0(); 21 scanf("%s %s",a,b); 22 l1=strlen(a);l2=strlen(b); 23 for(i=1;i<=l1;i++) 24 for(j=1;j<=l2;j++){ 25 if(a[i-1]==b[j-1]) 26 f[i][j]=mmin(f[i-1][j-1],f[i-1][j]+1,f[i][j-1]+1); 27 if(a[i-1]!=b[j-1]) 28 f[i][j]=mmin(f[i-1][j-1]+1,f[i-1][j]+1,f[i][j-1]+1); 29 } 30 printf("%d\n",f[l1][l2]); 31 return 0; 32 } 33 34 return 0; 35 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 using namespace std; 5 inline int botposs(int a,int b,int pd){ 6 if(pd==1) return a>=b?a:b; 7 if(pd==0) return a>=b?b:a; 8 } 9 int main(){ 10 int sum=0; 11 int n; 12 int boom[30],f[30]; 13 scanf("%d",&n); 14 fp(i,1,n){ 15 scanf("%d",&boom[i]); 16 f[i]=1; 17 } 18 fd(i,n-1,1){ 19 fp(j,i+1,n){ 20 if(boom[i]>=boom[j]){ 21 f[i]=botposs(f[i],f[j]+1,1); 22 } 23 } 24 } 25 fp(i,1,n){ 26 sum=botposs(sum,f[i],1); 27 } 28 printf("%d",sum); 29 return 0; 30 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 using namespace std; 5 int n,m; 6 int sum=0; 7 int _map[25][25]; 8 int book[25][25]; 9 int _next[2][2]={{0,1},{1,0}}; 10 int print(){ 11 sum++; 12 } 13 int search(int x,int y){ 14 int tx,ty; 15 if(x==m&&y==n){ 16 print(); 17 } 18 fp(k,0,1){ 19 tx=x+_next[k][0]; 20 ty=y+_next[k][1]; 21 if(tx<1||tx>m||ty<1||ty>n){ 22 continue; 23 } 24 if(book[tx][ty]==0){ 25 book[tx][ty]=1; 26 search(tx,ty); 27 book[tx][ty]=0; 28 } 29 } 30 return 0; 31 } 32 int main(){ 33 memset(_map,0,sizeof(_map)); 34 memset(book,0,sizeof(book)); 35 scanf("%d%d",&m,&n); 36 search(1,1); 37 printf("%d",sum); 38 return 0; 39 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 using namespace std; 5 inline int bothposs(int a,int b,int pd){ 6 if(pd==1) return a>=b?a:b; 7 if(pd==0) return a>=b?b:a; 8 } 9 int main(){ 10 int n; 11 int sum=0,ans=0; 12 int bu[1000+20]; 13 int fi[1000+20]; 14 scanf("%d",&n); 15 fp(i,1,n){ 16 scanf("%d",&bu[i]); 17 } 18 fp(i,1,n){ 19 fi[i]=bu[i]; 20 fp(j,1,i-1){ 21 if(bu[j]<bu[i]){ 22 fi[i]=bothposs(fi[i],fi[j]+bu[i],1); 23 } 24 } 25 sum=bothposs(sum,fi[i],1); 26 } 27 printf("%d",sum); 28 return 0; 29 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 using namespace std; 5 inline int botposs(int a,int b,int pd){ 6 if(pd==1) return a>=b?a:b; 7 if(pd==0) return a>=b?b:a; 8 } 9 int main(){ 10 int n; 11 int _map[100+20][100+20]; 12 int f[100+20][100+20]; 13 scanf("%d",&n); 14 fp(i,1,n){ 15 fp(j,1,n){ 16 scanf("%d",&_map[i][j]); 17 f[i][j]=0; 18 } 19 } 20 f[n][n]=_map[n][n]; 21 fd(i,n,1){ 22 fd(j,n,1){ 23 if(j==n){ 24 f[i][j]=f[i+1][j]+_map[i][j]; 25 } 26 else if(i==n){ 27 f[i][j]=f[i][j+1]+_map[i][j]; 28 } 29 else 30 f[i][j]=botposs(f[i][j+1],f[i+1][j],0)+_map[i][j]; 31 } 32 } 33 printf("%d",f[1][1]); 34 return 0; 35 }
1 #include <bits/stdc++.h> 2 #define fp(i,l,r) for(register int i=(l);i<=(r);i++) 3 #define fd(i,l,r) for(register int i=(l);i>=(r);i--) 4 using namespace std; 5 inline int botposs(int a,int b,int pd){ 6 if(pd==1) return a>=b?a:b; 7 if(pd==0) return a>=b?b:a; 8 } 9 int main(){ 10 int f[100+20][100+20],wall[100+20][100+20]; 11 int t; 12 int m; 13 int r,c; 14 scanf("%d",&t); 15 fp(i,1,t){ 16 scanf("%d%d",&r,&c); 17 fp(j,1,r){ 18 fp(k,1,c){ 19 scanf("%d",&wall[j][k]); 20 f[j][k]=0; 21 } 22 } 23 fd(j,r,1){ 24 fd(k,c,1){ 25 if(j==r&&k==c){ 26 int u; 27 } 28 else if(k==c){ 29 f[j][k]=f[j+1][k]+wall[j][k]; 30 } 31 else if(j==r){ 32 f[j][k]=f[j][k+1]+wall[j][k]; 33 } 34 else{ 35 f[j][k]=botposs(f[j+1][k],f[j][k+1],1)+wall[j][k]; 36 } 37 } 38 } 39 printf("%d\n",f[1][1]); 40 } 41 return 0; 42 }
1 #include <bits/stdc++.h> 2 using namespace std; 3 int num[50005]; 4 int lft[50005],rht[50005],lftm[50005],rhtm[50005]; 5 int main() 6 { 7 int t,n; 8 scanf("%d",&t); 9 while(t--) 10 { 11 memset(num,0,sizeof(num)); 12 scanf("%d",&n);//eileen 13 for(int i=1;i<=n;i++) 14 { 15 scanf("%d",&num[i]); 16 } 17 lft[1]=num[1]; 18 lftm[1]=num[1]; 19 rht[n]=num[n]; 20 rhtm[n]=num[n]; 21 int maxtot=-2147483640; 22 for(int i=1;i<=n;i++) 23 { 24 int k=n-i; 25 if(i!=1) lft[i]=max(lft[i-1]+num[i],num[i]); 26 if(i!=1) lftm[i]=max(lftm[i-1],lft[i]); 27 rht[k]=max(num[k],rht[k+1]+num[k]); 28 rhtm[k]=max(rhtm[k+1],rht[k]); 29 } 30 for(int i=1;i<=n-1;i++) 31 { 32 maxtot=max(maxtot,lftm[i]+rhtm[i+1]); 33 } 34 printf("%d\n",maxtot); 35 } 36 return 0; 37 }
啊啊啊啊啊 要死了要死了 累死了累死了
day 3
看看我发博文的就行啦~\(≧▽≦)/~
day 4
今天ys老师居然没让我们考试,哈皮!
题目发了博文啦~