第一届河北工业大学程序设计竞赛校赛 【个别题的解析】
生活随笔
收集整理的這篇文章主要介紹了
第一届河北工业大学程序设计竞赛校赛 【个别题的解析】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
水平有限,把會做的題做了一些總結。
目錄
- A: WELCOME!
- B: POOLING
- C: 標槍游戲
- E: 簡單數論
- F: 回文串
- J: 有點復雜的gcd問題
A: WELCOME!
題目地址
B: POOLING
題目地址
這道題挺水的,但是做的時候題目有點沒理解全,導致以為輸出的一定是個正方形,WA了好幾次。
當時的方法過了幾天再看一下寫的真是垃圾。
還得吐槽一下,題目是真的長,作為一個看到長題目就想放棄的人來說真的艱難。
以前就看到一道題,題目又長又看不懂當時放棄了,比賽完一看居然是一個巨水的題。直接當場吐血。
我的垃圾方法是: 把所有的左上角的坐標和右下角的坐標保存,再依次枚舉求其每一個矩陣的最大值輸出。
代碼如下:
簡短代碼:
#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: 標槍游戲
題目地址
原本用的二分結果莫名TLE,發現暴力居然可以過。
#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: 簡單數論
題目地址
官方題解:
其實本質就是一個k進制數, 表示的數就是 1-km-1
F: 回文串
題目地址
如果都是偶數的話,那么就是1組。
如果是奇數的話,就是奇數的個數,因為偶數的字符都可以組成一組,把1個奇數的字符插入進那個偶數的字符。
剩下的 n-1 個奇數字符還是 每個人一個組 n-1+1(偶數組)=n 即答案就是奇數字符的個數
J: 有點復雜的gcd問題
題目地址
官方題解:
一道唬人的大水題。
總結
以上是生活随笔為你收集整理的第一届河北工业大学程序设计竞赛校赛 【个别题的解析】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Acwing第 2 场周赛【完结】
- 下一篇: 【音效下载 / 编辑】网站