日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

第一届河北工业大学程序设计竞赛校赛 【个别题的解析】

發(fā)布時(shí)間:2025/3/20 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一届河北工业大学程序设计竞赛校赛 【个别题的解析】 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

水平有限,把會(huì)做的題做了一些總結(jié)。

目錄

  • A: WELCOME!
  • B: POOLING
  • C: 標(biāo)槍游戲
  • E: 簡(jiǎn)單數(shù)論
  • F: 回文串
  • J: 有點(diǎn)復(fù)雜的gcd問(wèn)題

A: WELCOME!


題目地址

#include<cstdio> #include<cmath> #include<cstring> #include<string> #include<iostream> #include<algorithm> #include<map> #include<vector> #include<queue> #include<set> using namespace std; int main(void) {cout<<"Welcome to The First Programming Competition of Hebei University of technology!"<<endl;return 0; }

B: POOLING


題目地址

這道題挺水的,但是做的時(shí)候題目有點(diǎn)沒(méi)理解全,導(dǎo)致以為輸出的一定是個(gè)正方形,WA了好幾次。
當(dāng)時(shí)的方法過(guò)了幾天再看一下寫的真是垃圾。
還得吐槽一下,題目是真的長(zhǎng),作為一個(gè)看到長(zhǎng)題目就想放棄的人來(lái)說(shuō)真的艱難。
以前就看到一道題,題目又長(zhǎng)又看不懂當(dāng)時(shí)放棄了,比賽完一看居然是一個(gè)巨水的題。直接當(dāng)場(chǎng)吐血。

我的垃圾方法是: 把所有的左上角的坐標(biāo)和右下角的坐標(biāo)保存,再依次枚舉求其每一個(gè)矩陣的最大值輸出。
代碼如下:

#include<cstdio> #include<cmath> #include<cstring> #include<string> #include<iostream> #include<algorithm> #include<map> #include<vector> #include<queue> #include<set> using namespace std; int a[55][55]; struct node {int startx,starty;int endx,endy; }Node[3005]; int sum; int main(void) {int n,m,k; cin>>n>>m>>k;int temp=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>a[i][j];}}for(int i=0;i<n-k+1;i++){for(int j=0;j<m-k+1;j++){Node[temp].startx=i,Node[temp].starty=j;//保存左上角,右下角坐標(biāo)Node[temp].endx=k+i-1,Node[temp].endy=k+j-1;temp++;}}cout<<n-k+1<<" "<<m-k+1<<endl;for(int i=0;i<temp;i++)//枚舉所有的左上角和右下角,計(jì)算輸出{int sum=0;for(int j=Node[i].startx;j<=Node[i].endx;j++){for(int k=Node[i].starty;k<=Node[i].endy;k++){sum=max(sum,a[j][k]);}}cout<<sum<<" ";if((i+1)%(m-k+1)==0) cout<<endl;}return 0; }

簡(jiǎn)短代碼:

#include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=60; int a[N][N]; int main(void) {int n,m,k; cin>>n>>m>>k;for(int i=0;i<n;i++)for(int j=0;j<m;j++)cin>>a[i][j];cout<<n-k+1<<" "<<m-k+1<<endl;for(int j=0;j<n-k+1;j++){for(int i=0;i<m-k+1;i++){int temp=0;for(int w=j;w<j+k;w++){for(int z=i;z<i+k;z++){temp=max(temp,a[w][z]);}}cout<<temp<<" ";}cout<<endl;}return 0; }

C: 標(biāo)槍游戲


題目地址

原本用的二分結(jié)果莫名TLE,發(fā)現(xiàn)暴力居然可以過(guò)。

#include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=1e5+10; int a[N],n; int main(void) {cin>>n;for(int i=1;i<=n;i++) scanf("%d",&a[i]);long long int sum=0;for(int i=1;i<=n;i++){int cnt=0;for(int j=1;j<i;j++){if(a[i]>=a[j]) cnt++;}if(i&1) sum+=1+cnt-(i-1-cnt);else sum=sum-(1+cnt-(i-1-cnt));}if(sum>0) cout<<"Calculus is hebei king!"<<endl;else if(sum==0) cout<<"hebei shuang king!"<<endl;else cout<<"huaji is hebei king!"<<endl;return 0; }

E: 簡(jiǎn)單數(shù)論


題目地址
官方題解:

其實(shí)本質(zhì)就是一個(gè)k進(jìn)制數(shù), 表示的數(shù)就是 1-km-1

#include<cstdio> #include<iostream> #include<vector> using namespace std; typedef long long int LL; int main(void) {int t; cin>>t;while(t--){LL k,m,p; cin>>k>>m>>p;LL res=1;for(int i=1;i<=m;i++) res=res*k;cout<<--res<<endl;if(res<p) cout<<"overflow"<<endl;else{res=res-p+1;vector<int> ans;for(int i=1;i<=m;i++) ans.push_back(res%k),res/=k;for(int i=ans.size()-1;i>=0;i--) cout<<ans[i]<<" ";cout<<endl;}} }

F: 回文串


題目地址

如果都是偶數(shù)的話,那么就是1組。
如果是奇數(shù)的話,就是奇數(shù)的個(gè)數(shù),因?yàn)榕紨?shù)的字符都可以組成一組,把1個(gè)奇數(shù)的字符插入進(jìn)那個(gè)偶數(shù)的字符。
剩下的 n-1 個(gè)奇數(shù)字符還是 每個(gè)人一個(gè)組 n-1+1(偶數(shù)組)=n 即答案就是奇數(shù)字符的個(gè)數(shù)

#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int a[30]; int main(void) {string s; cin>>s;for(int i=0;i<s.size();i++) a[s[i]-'a']++;int s1=0,s2=0;for(int i=0;i<=25;i++){if(a[i]&1) s1++;if(a[i]%2==0&&a[i]) s2++;}if(s1) cout<<s1<<endl;else cout<<1<<endl;return 0; }

J: 有點(diǎn)復(fù)雜的gcd問(wèn)題


題目地址

官方題解:

一道唬人的大水題。

#include<cstdio> #include<iostream> using namespace std; const int mod=1e9+7; int main(void) {long long int n,k; cin>>n>>k;cout<<(n*(n+1)/2)%mod<<endl;return 0; }

總結(jié)

以上是生活随笔為你收集整理的第一届河北工业大学程序设计竞赛校赛 【个别题的解析】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。