日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021暑假每日一题 【week4 完结】

發布時間:2025/3/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021暑假每日一题 【week4 完结】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 3781. 乘車問題【難度: 簡單 / 知識點: 模擬】
  • 3782. 點【難度: 中 / 知識點: 數學 推式子】
  • 3783. 第 k 個除數【難度: 一般 / 知識點: 數學 求因子】
  • 3784. 交換相鄰元素【難度: 一般 / 知識點: 思維題】
  • 3785. 戰艦 【難度: 一般 / 知識點: 枚舉】

3781. 乘車問題【難度: 簡單 / 知識點: 模擬】

#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N],n,m; int main(void) {int t; cin>>t;while(t--){cin>>n>>m;for(int i=0;i<n;i++) cin>>a[i];int ans=0;int t=0;for(int i=0;i<n;i++){if(t+a[i]>m) ans++,t=a[i];else t+=a[i];}cout<<ans+1<<endl;} }

3782. 點【難度: 中 / 知識點: 數學 推式子】


#include<bits/stdc++.h> using namespace std; typedef long long int LL; const int N=1e5+10; LL x[N],y[N],sumx,sumy; int main(void) {int n;cin>>n;for(int i=0;i<n;i++) cin>>x[i]>>y[i],sumx+=x[i],sumy+=y[i];LL sum=0; for(int i=0;i<n;i++){sum+=n*(x[i]*x[i]+y[i]*y[i]);}sum-=sumx*sumx+sumy*sumy;cout<<sum<<endl;return 0; }

3783. 第 k 個除數【難度: 一般 / 知識點: 數學 求因子】


能夠整除n,指的是n%x==0 x 既可以整除n

#include<bits/stdc++.h> using namespace std; typedef long long int LL; vector<LL>ve; int main(void) {LL n,k; cin>>n>>k;for(LL i=1;i*i<=n;i++){if(n%i==0) {ve.push_back(i);if(n/i!=i) ve.push_back(n/i);}}sort(ve.begin(),ve.end());if(k<=ve.size()) cout<<ve[k-1];else puts("-1");return 0; }

3784. 交換相鄰元素【難度: 一般 / 知識點: 思維題】

#include<bits/stdc++.h> using namespace std; const int N=1e5*2+10; int n; string s; int main(void) {cin>>n;vector<int>ve(n+1,0);for(int i=1;i<=n;i++) cin>>ve[i];cin>>s;s="0"+s;for(int i=1;i<n;i++){if(s[i]=='0'&&ve[i]!=i)//如果當前位置是0且不是對應的位置,則一定不行{puts("NO");return 0;}if(s[i]=='1'){int minv=1e9;int maxv=-1e9;int j=i;while(s[j]=='1'){minv=min(minv,ve[j]);maxv=max(maxv,ve[j]);j++;}minv=min(minv,ve[j]);maxv=max(maxv,ve[j]);if(maxv-minv!=j-i)//不是連續的{puts("NO");return 0;}i=j;}}puts("YES");return 0; } #include<bits/stdc++.h> using namespace std; const int N=1e5*2+10; int n; string s; int main(void) {cin>>n;vector<int>ve(n+1,0);for(int i=1;i<=n;i++) cin>>ve[i];cin>>s;s="0"+s;for(int i=1,t=0;i<n;i++){t=max(t,ve[i]);if(s[i]=='0'&&t!=i)//如果當前位置是0,且當前的最大值不是對應的位置,則一定不行{puts("NO");return 0;}}puts("YES");return 0; }

3785. 戰艦 【難度: 一般 / 知識點: 枚舉】


題目問的意思是,所有的合法方案中,哪個格子占了最多的次數。

直接枚舉每一個格子,求每個格子占用的次數。

#include<bits/stdc++.h> using namespace std; char s[105][105]; int n,k,ans,x=1,y=1; int main(void) {cin>>n>>k;for(int i=1;i<=n;i++) scanf("%s",s[i]+1);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(s[i][j]=='#') continue;int l=j,r=j;while(l>=1&&s[i][l]=='.'&&j-l+1<=k) l--;while(r<=n&&s[i][r]=='.'&&r-j+1<=k) r++;int t=0;if(r-l-k>0)t+=r-l-k; l=i,r=i;while(l>=1&&s[l][j]=='.'&&i-l+1<=k) l--;while(r<=n&&s[r][j]=='.'&&r-i+1<=k) r++;if(r-l-k>0) t+=r-l-k;//r-l-1 -k+1 加1是這個格子本身就占了一格if(t>ans){ans=t;x=i,y=j;}}}cout<<x<<" "<<y;return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的2021暑假每日一题 【week4 完结】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。