冯志远0920
排序
時間限制:?1 Sec??內存限制:?256 MB提交:?80??解決:?52
[提交][狀態][討論版]
題目描述
輸入
輸出
樣例輸入
6 1 2 4 3 6 5樣例輸出
2提示
?
?
?圖
時間限制:?1 Sec??內存限制:?256 MB提交:?173??解決:?48
[提交][狀態][討論版]
題目描述
輸入
輸出
樣例輸入
2 4 URUU UUUU BRUR BRUU 4 UUBB RURU UUUU URBU樣例輸出
T N提示
?
或
時間限制:?1 Sec??內存限制:?256 MB提交:?26??解決:?13
[提交][狀態][討論版]
題目描述
輸入
輸出
樣例輸入
3 101樣例輸出
37提示
?
?個人感受:這套題目,第一題卡輸入,第二題爆10分,第三題不知道為什么0分,OJ上可以有30分的??,奇怪,然后就70+10+0=80分
第一題,證明:因為一個數,如果后面有比它小的數,那么不交換它自己的話,是無法改變相對次序的,因此只要后面有比它小的數,就必須交換一次。
第二題,我打了壓位,壓了64為,即LL壓位,最高復雜度是2000^3*5/64,但是可以過,本來是去裸打60分的。
第三題,考試直接模擬暴力,結果不知道為什么,OJ上30分,然后沒分。
?
第二題(錯誤原因):因為每次A移的時候,B沒移,B時也一樣,然后cnt還直接爆炸了,......,這樣樣例真的水。
?
T1
1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<iostream> 5 #include<algorithm> 6 #define N 5000007 7 using namespace std; 8 9 int n,ans=0; 10 int a[N],p[N]; 11 12 int main() 13 { 14 15 16 scanf("%d",&n); 17 for (int i=1;i<=n;i++) 18 scanf("%d",&a[i]); 19 20 int tail=1; 21 p[tail]=a[n]; 22 for (int i=n-1;i>=1;i--) 23 { 24 while(tail>=1&&a[i]<p[tail]) 25 tail--; 26 p[++tail]=a[i]; 27 if (tail!=1) ans++; 28 } 29 30 printf("%d\n",ans); 31 }T2
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #define N 2027 7 #define LL long long 8 using namespace std; 9 10 int cas,n,cnt; 11 int boo[N][N]; 12 LL A[N][2027/50],B[N][2027/50]; 13 char ch[N]; 14 15 bool check() 16 { 17 for (int i=1;i<=n;i++) 18 for (int j=1;j<=n;j++) 19 if (boo[i][j]==1) 20 { 21 for (int k=1;k<=cnt;k++) 22 if ((A[i][k]&A[j][k])!=A[j][k]) return false; 23 } 24 else if (boo[i][j]==2) 25 { 26 for (int k=1;k<=cnt;k++) 27 if ((B[i][k]&B[j][k])!=B[j][k]) return false; 28 } 29 return true; 30 } 31 32 int main() 33 { 34 35 36 scanf("%d",&cas); 37 while(cas--) 38 { 39 memset(A,0,sizeof(A)); 40 memset(B,0,sizeof(B)); 41 scanf("%d",&n); 42 for (int i=1;i<=n;i++) 43 { 44 scanf("%s",ch+1); 45 cnt=1; 46 for (int j=1;j<=n;j++) 47 { 48 if (ch[j]=='R') 49 { 50 A[i][cnt]=(A[i][cnt]<<1)+1; 51 B[i][cnt]<<=1; 52 boo[i][j]=1; 53 } 54 else if (ch[j]=='B') 55 { 56 B[i][cnt]=(B[i][cnt]<<1)+1; 57 A[i][cnt]<<=1; 58 boo[i][j]=2; 59 } 60 else 61 { 62 boo[i][j]=0; 63 A[i][cnt]<<=1; 64 B[i][cnt]<<=1; 65 } 66 if (j%62==0) cnt++; 67 } 68 } 69 if (check()) printf("T\n"); 70 else printf("N\n"); 71 } 72 }?
轉載于:https://www.cnblogs.com/fengzhiyuan/p/7569873.html
總結
- 上一篇: 【机器学习实战】Machine Lear
- 下一篇: 第四次工业革命:人工智能(AI)入门