臺州學院競賽_ACM省賽比賽地址戳這里1001:數學題:求極限:1002:maomeng的成就題解:對于某一個物品i,我們可以選擇他的第一個成就,或者選擇第二個成就,又或者不選,這樣我們就可以使用dfs,來遍歷所有情況。時間復雜度為O(3^10).#include<bits/stdc++.h>usingnamespacestd;constintN=10+5,mod=1e9+7;typedeflonglongLL;inttt[N],m[N],T[N],M[N];intn
求極限:
題解:
對于某一個物品i,我們可以選擇他的第一個成就,或者選擇第二個成就,又或者不選,這樣我們就可以使用dfs,來遍歷所有情況。時間復雜度為O(3^10).
#include<bits/stdc++.h>using namespace std;const int N=10+5,mod=1e9+7;typedef long long LL;int tt[N],m[N],T[N],M[N];int n,t,ans=0;void dfs(int i,int time,int sum){ //cout<<time<<endl; if(time<=t)//如果時間小于t就比較。 { ans=max(sum,ans); } if(i>n)return;//超過物品數量就返回。 dfs(i+1,time+tt[i],sum+m[i]); dfs(i+1,time+T[i],sum+M[i]); dfs(i+1,time,sum);}void solve(){ scanf("%d %d",&n,&t); for(int i=1;i<=n;i++) { scanf("%d %d %d %d",&tt[i],&m[i],&T[i],&M[i]); } dfs(1,0,0); printf("%d",ans);}int main(){ solve();}
是否還在為Ide開發工具頻繁失效而煩惱,來吧關注以下公眾號獲取最新激活方式。親測可用!
【正版授權,激活自己賬號】:Jetbrains全家桶Ide使用,1年售后保障,每天僅需1毛
【官方授權 正版激活】:官方授權 正版激活 自己使用,支持Jetbrains家族下所有IDE…
在一秒內我們收到的傷害為2n,那么我們就可以先將總血量除掉2n,那么剩下的血量如果大于等于n,那么就表示小z可以扛過這一秒,反之則不行。
#include<bits/stdc++.h>using namespace std;const int N=10+5,mod=1e9+7;typedef long long LL;int n,m;void solve(){ m-=1;//注意血量先減一 int s=2*n; int cnt=m/2/n,re=m%(2*n); if(re>=n)cnt++; printf("%d\n",cnt);}int main(){ while(~scanf("%d %d",&n,&m)) { solve(); }}
題解:
記錄一下最高票數和平均票數,如果最高票數小于平均票數,則需要(平均票數-已有票數,否則,若最高票數無并列,則小于最高票數的需要(最高票數+1-已有票數),等于的要0票。若最高票數有并列,則需要(最高票數+1-已有票數。
#include <bits/stdc++.h>using namespace std;const int N = 2000;int n;int a[N];int main(){ cin >> n; int m = -1,cnt = 0; for(int i = 1; i <= n; i ++) { scanf("%d",&a[i]); if(a[i] == m) cnt ++; if(a[i] > m) m = a[i],cnt = 1; } for(int i = 1; i <= n; i ++) { if(a[i] < m) printf("%d",m - a[i] + 1); else if(a[i] == m) { if(cnt > 1) printf("1"); else printf("0"); } if(i != n) printf(" "); } return(0);}
題解:
ps.數據可能弱了
首先對于一個數a[i],在他左邊有幾個比他小的數我們記作l[i]。
對于一個數a[i],在他右邊有幾個比他小的數我們記作r[i]。
對于每一個數a[i],他在答案里的貢獻就是了l[i]*r[i]*a[i]。
為什是這樣呢。因為相當于在他的左區域任意選一個點,右區域也任意選一個點,那么這個連續字串的值都為a[i]。
這樣我們就可以使用單調棧(不會的先了解一下)在O(n)的時間復雜度里求出l[i]和r[i]了。
#include<bits/stdc++.h>using namespace std;const int N=1e6+5,mod=1e9+7;typedef long long LL;LL a[N],l[N],r[N];struct node{ LL x,pos;};void solve(){ int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);a[0]=a[n+1]=1e9;stack<node>st;st.push({ a[0],0});for(int i=1;i<=n;i++){ if(!st.empty()){ while(st.top().x<=a[i])st.pop();}int x=st.top().x,pos=st.top().pos;l[i]=pos+1;st.push({ a[i],i});}while(!st.empty())st.pop();st.push({ a[n+1],n+1});for(int i=n;i>=1;i--){ if(!st.empty()){ while(st.top().x<a[i])st.pop();}int x=st.top().x,pos=st.top().pos;r[i]=pos-1;st.push({ a[i],i});}LL ans=0;for(int i=1;i<=n;i++){ LL L=(i-l[i]+1),R=(r[i]-i+1);ans=((L*R*a[i])%mod+ans)%mod;}printf("%lld",ans);}int main(){ solve();}
題解:
經過觀察(真的。我們可以發現只要將前兩行的三個字母確定了,那么n階金字塔就確定了。
我們暴力模擬出六種情況的金字塔,和原金字塔進行比較,篩選出重合度最高的然后就可以了。
#include<bits/stdc++.h>using namespace std;const int N=1e3+5,mod=1e9+7;typedef long long LL;int a[N][N];int t[7][N][N];int n;void st(int x,int y,int id){ t[id][x][y]=6-(t[id][x-1][y]+t[id][x-1][y-1]);}void solve(){ scanf("%d",&n);for(int i=1;i<=n;i++){ getchar();for(int j=1;j<=i;j++){ char p;scanf("%c",&p);if(p=='G')a[i][j]=1;if(p=='R')a[i][j]=2;if(p=='B')a[i][j]=3;}}t[1][1][1]=1;t[1][2][1]=2;t[1][2][2]=3;t[2][1][1]=1;t[2][2][1]=3;t[2][2][2]=2;t[3][1][1]=2;t[3][2][1]=1;t[3][2][2]=3;t[4][1][1]=2;t[4][2][1]=3;t[4][2][2]=1;t[5][1][1]=3;t[5][2][1]=1;t[5][2][2]=2;t[6][1][1]=3;t[6][2][1]=2;t[6][2][2]=1;for(int i=1;i<=6;i++){ for(int j=3;j<=n;j++){ for(int k=2;k<n;k++)st(j,k,i);//注意特判每行的第一個和第最后一個t[i][j][1]=6-(t[i][j-1][1]+t[i][j][2]);t[i][j][j]=6-(t[i][j-1][j-1]+t[i][j][j-1]);}}int res=0;for(int i=1;i<=6;i++){ int ans=0;for(int j=1;j<=n;j++){ for(int k=1;k<=j;k++){ if (t[i][j][k] == a[j][k])ans++;}}res=max(ans,res);}printf("%d",n*(n+1)/2-res);}int main(){ solve();}
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
俄烏局勢再度緊張美股重挫據央視新聞,當地時間17日,烏東民間武裝力量發言人表示,烏克蘭政府軍用迫擊炮炮擊了頓涅茨克南部的幾個居民點。烏東民間武裝力量進行了還擊,以壓制烏軍的火力點。受烏克蘭局勢影響,全球市場遭遇重挫。美股大跌對a股有影響嗎?有影響的。美股大跌會直接影響到A股,美股的漲跌會直接影響到A股的漲跌。A股下跌完全是美股助推,A股內部并沒有什么潛在利空。A股估值已處于偏低水平,因此美股回落對...
如果主要在國內消費,那么就不需要申請外資銀行的信用卡,但是對于那些經常出國的商旅人士或者是留學生來說,申請外資信用卡也是非常有必要的,那么相比較于國內銀行所推出的信用卡來說,外資銀行信用卡申請哪家好批卡?使用外資銀行信用卡看征信嗎?隨小編了解一下。目前我們常見的外資銀行主要有四家:匯豐、渣打、花旗和東亞銀行,這幾家外資銀行都有自己的信用卡產品,匯豐銀行主要有生活、旅行、卓越理財信用卡,渣打銀行只有...
銀行個人怎么貸款五萬?銀行個人貸款五萬可以通過信用貸款來貸,因為五萬以內的貸款都屬于小額貸款,貸款人只需要準備好申請貸款的相關證件基本上就可以申請成功。當然申請之前還需要保證本人擁有穩定的工作和固定的收入,這樣銀行才會判斷個人擁有獨立償還貸款的能力,給予貸款人相應的款項。銀行貸款5萬要什么條件?1、年滿20-55周歲,具有完全民事行為能力的自然人;具有當地常住戶口或長期居住證明,有固定的住所。2、...