福建工程学院寒假作业G题
生活随笔
收集整理的這篇文章主要介紹了
福建工程学院寒假作业G题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
漲姿勢(shì)題就是所謂的優(yōu)化題,在組隊(duì)賽中,隊(duì)伍發(fā)現(xiàn)了一題水題,那么應(yīng)該交給誰(shuí)去處理?作為處理水題的代碼手,應(yīng)該具備什么樣的素養(yǎng)?
1,要快,水題拼的就是速度!
2,不能卡水題!水題都卡,絕對(duì)不是一個(gè)代碼手的風(fēng)范!
3,不能出錯(cuò),錯(cuò)一次即罰時(shí)20分鐘,對(duì)于水題來(lái)講是致命的!
4,要能看出來(lái)一題是水題!沒(méi)有這條,上面三條都是沒(méi)有意義的!
如果你希望你成團(tuán)隊(duì)中一個(gè)合格的代碼手,那么這套題是你最好的選擇,快AC吧!
本系列即是為了提高水題代碼手的素養(yǎng)而準(zhǔn)備的!水題經(jīng)常需要用到簡(jiǎn)單的優(yōu)化,中難題的解題過(guò)程中也經(jīng)常需要各種優(yōu)化,優(yōu)化是處理超時(shí)的首要選擇,目的是降低時(shí)間復(fù)雜度。
漲姿勢(shì)題為3題,題面完全相同,僅數(shù)據(jù)范圍不同,請(qǐng)根據(jù)不同的數(shù)據(jù)范圍選擇合適的算法。
題目描述:
給定數(shù)列a[1] a[2] ... a[n]
多次詢問(wèn)
每次詢問(wèn) 有一個(gè)數(shù)字 qi
求有多少組(l,r)滿足 f(l,r)=a[l]+a[l+1]+...+a[r]=qi Input 第一行是一個(gè)t表示測(cè)試數(shù)據(jù)的組數(shù)。
每組數(shù)據(jù)的第一行是兩個(gè)整數(shù)n、q,分別表示數(shù)組長(zhǎng)度和詢問(wèn)的次數(shù)
第二行是n個(gè)整數(shù)a[1],a[2],...,a[n]。
接下來(lái)是q行,每行一個(gè)整數(shù)qi表示第i次詢問(wèn)。?
數(shù)據(jù)范圍:
第1題:t<=130,1<=n<=1000,-10^9<=ai<=10^9,-10^12<=qi<=10^12,大數(shù)據(jù)不超過(guò)一半,每組大數(shù)據(jù)的q為1或2。
第2題:t<=130,1<=n<=10000,q<=50,1<=ai<=10^9,1<=qi<=10^12,大數(shù)據(jù)不超過(guò)一半。
第3題:t<=30,1<=n<=1000,q<=1000000,-10^6<=ai<=10^6,-10^6<=qi<=10^6,大數(shù)據(jù)不超過(guò)5組。
注意認(rèn)真比較每題的每個(gè)數(shù)的數(shù)據(jù)范圍,然后選擇合適的算法AC吧。注意不要提交錯(cuò)題目了。 Output 對(duì)于每個(gè)詢問(wèn),輸出一個(gè)整數(shù)表示答案 SampleInput 1 5 6 4 5 6 5 4 4 11 1 20 6 10 SampleOutput 2 2 0 2 1 0
該題是預(yù)處理和優(yōu)化的題型,該題涉及到多個(gè)區(qū)間和,如果重復(fù)的進(jìn)行相加,會(huì)浪費(fèi)時(shí)間導(dǎo)致超時(shí),所以我們可以將所有的a[i]相加,得到前綴和sum[i].當(dāng)后面只需判斷 是否sum[j]-sum[i]==qi即可 前綴和 scanf("%lld %lld",&n,&m); for (i=1;i<=n;i++) { scanf("%lld",&l); sum[i]=sum[i-1]+l; }
判斷 scanf("%lld",&qi); for (i=0;i<n;i++) for (j=i+1;j<=n;j++) if (sum[j]-sum[i]==qi) k++; printf("%d\n",k); k=0;
1,要快,水題拼的就是速度!
2,不能卡水題!水題都卡,絕對(duì)不是一個(gè)代碼手的風(fēng)范!
3,不能出錯(cuò),錯(cuò)一次即罰時(shí)20分鐘,對(duì)于水題來(lái)講是致命的!
4,要能看出來(lái)一題是水題!沒(méi)有這條,上面三條都是沒(méi)有意義的!
如果你希望你成團(tuán)隊(duì)中一個(gè)合格的代碼手,那么這套題是你最好的選擇,快AC吧!
本系列即是為了提高水題代碼手的素養(yǎng)而準(zhǔn)備的!水題經(jīng)常需要用到簡(jiǎn)單的優(yōu)化,中難題的解題過(guò)程中也經(jīng)常需要各種優(yōu)化,優(yōu)化是處理超時(shí)的首要選擇,目的是降低時(shí)間復(fù)雜度。
漲姿勢(shì)題為3題,題面完全相同,僅數(shù)據(jù)范圍不同,請(qǐng)根據(jù)不同的數(shù)據(jù)范圍選擇合適的算法。
題目描述:
給定數(shù)列a[1] a[2] ... a[n]
多次詢問(wèn)
每次詢問(wèn) 有一個(gè)數(shù)字 qi
求有多少組(l,r)滿足 f(l,r)=a[l]+a[l+1]+...+a[r]=qi Input 第一行是一個(gè)t表示測(cè)試數(shù)據(jù)的組數(shù)。
每組數(shù)據(jù)的第一行是兩個(gè)整數(shù)n、q,分別表示數(shù)組長(zhǎng)度和詢問(wèn)的次數(shù)
第二行是n個(gè)整數(shù)a[1],a[2],...,a[n]。
接下來(lái)是q行,每行一個(gè)整數(shù)qi表示第i次詢問(wèn)。?
數(shù)據(jù)范圍:
第1題:t<=130,1<=n<=1000,-10^9<=ai<=10^9,-10^12<=qi<=10^12,大數(shù)據(jù)不超過(guò)一半,每組大數(shù)據(jù)的q為1或2。
第2題:t<=130,1<=n<=10000,q<=50,1<=ai<=10^9,1<=qi<=10^12,大數(shù)據(jù)不超過(guò)一半。
第3題:t<=30,1<=n<=1000,q<=1000000,-10^6<=ai<=10^6,-10^6<=qi<=10^6,大數(shù)據(jù)不超過(guò)5組。
注意認(rèn)真比較每題的每個(gè)數(shù)的數(shù)據(jù)范圍,然后選擇合適的算法AC吧。注意不要提交錯(cuò)題目了。 Output 對(duì)于每個(gè)詢問(wèn),輸出一個(gè)整數(shù)表示答案 SampleInput 1 5 6 4 5 6 5 4 4 11 1 20 6 10 SampleOutput 2 2 0 2 1 0
該題是預(yù)處理和優(yōu)化的題型,該題涉及到多個(gè)區(qū)間和,如果重復(fù)的進(jìn)行相加,會(huì)浪費(fèi)時(shí)間導(dǎo)致超時(shí),所以我們可以將所有的a[i]相加,得到前綴和sum[i].當(dāng)后面只需判斷 是否sum[j]-sum[i]==qi即可 前綴和 scanf("%lld %lld",&n,&m); for (i=1;i<=n;i++) { scanf("%lld",&l); sum[i]=sum[i-1]+l; }
判斷 scanf("%lld",&qi); for (i=0;i<n;i++) for (j=i+1;j<=n;j++) if (sum[j]-sum[i]==qi) k++; printf("%d\n",k); k=0;
轉(zhuǎn)載于:https://www.cnblogs.com/unique123/p/6322559.html
總結(jié)
以上是生活随笔為你收集整理的福建工程学院寒假作业G题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中信银行小米联名信用卡怎么样?带你畅享黑
- 下一篇: iOS中AutoLayer自动布局流程及