2020 02 16 NOIP普及組 模擬賽C組

2021-10-02 22:26:48 字數 4727 閱讀 6025

題目編號標題0

oliver的成績(score)

1方格紙(square)

2團隊揹包(team)

3神奇的項鍊(fett)

oliver進入初中後,覺得自己不能總是玩兒了,應該要好好學習了。正好一次考試結束了,oliver想知道自己的語文,數學,英語分別與語文年級第一,數學年級第一,英語年級第一相差多少。由於oliver所在年級有n個人,所以oliver想你編個程式幫幫他。
score.in共3n+4行,第一~三行分別為oliver的語文數學英語成績(位數m),第四行為n,以下3n行,每行乙個數(它們的位數是m),分別為第n個同學的語文,數學,英語成績。

即:oliver的語文

oliver的數學

oliver的英語

n第乙個人的語文

數學英語

第二個人的語文

score.out共一行,有三個數,分別為oliver的語文數學英語與年級第一的差。

如果oliver是第一,則輸出0.

10

101030

800400

000100

30

7090

【資料範圍】

對於50%的資料,0西江月·夜行t1中

150多行,提交只有40,重新再來打高精,—次即可ac

做好讀入比較,不要忘加特判,超長**要簡化,就能ac此題

#include

#include

#include

using

namespace std;

int m,n,k,x,y,a[

10010][

4][31

];int s[4]

[31];

int st[4]

[31];

void

read1

(int i,

int j)

}void

read

(int i)

}voidbj(

int i,

int j)

break;}

else

if(st[j]

[k]>a[i]

[j][k]

)break;}

}voidgj(

int i)

}for

(int j=

0;j<=

30;j++)}

int j=1;

while

(st[i]

[j]==

0)j++

;while

((j<=30)

||(j==

30&&st[i]

[j]==0)

) cout<<

' ';

}int

main()

gj(1)

;gj(2

);gj(

3);return0;

}

今天小d在他的課桌上玩方格紙,現在有乙個平面直角座標系,小d將方塊紙放在這個座標系中,並且方格紙的都與x軸、y軸平行,小d在這上面放了許多的方格紙,然後想知道對於平面直角座標系中的乙個點有多少個方格紙覆蓋(包括方格紙的邊和點),因為方格紙太多了,所以請聰明的你幫小d解決問題。
第一行 乙個正整數n,接下來n行 每行四個正整數x1,y1,x2,y2,分別表示方格紙左下角的座標和右上角的座標。

第n+2行乙個正整數q,接下來q行 每行兩個正整數x,y,表示詢問點的座標。

一共q行,表示對應座標。
311

5522

6631

4322

243

2

3

30%的資料, n*q≤10^7。

100%的資料, n,q≤10^5,00 0 0

0 0 0

0 0 0

》-1 0 1

0 0 0

1 0 -1

應該都懂了吧

#include

#include

using

namespace std;

int m,n,k,x,y,a[

3005][

3005

],b[

3005][

3005];

intmain()

for(

int i=

1;i<=

3000

;i++)}

cin>>m;

for(

int i=

1;i<=m;i++

)return0;

}

daa 和他的朋友組成乙個團隊去旅行了。他們每個人都準備了乙個揹包,用來裝旅行用的物品。他們的揹包有兩個特點:

1. 每個人的揹包能裝無限多的物品,每種物品有乙個價值,但只能裝一件;

2. 每個人都很有個性,所以每個人的揹包不會完全相同。

daa 的團隊中有m 個人,那麼對於整個團隊,揹包價值和最大是多少呢?

第一行兩個整數m、n,表示團隊的人數和物品的數量。

接下來一行n 個整數,表示每件物品的價值wi。

資料保證不會出現有空揹包人的出現。

乙個整數,整個團隊揹包價值的最大值。
sample input 1:
232

71

sample input 2:
841

234

sample output 1:
19
sample output 2:
58
【資料規模】

30%的資料 1<=m,n<=15。

60%的資料 1<=m<=200,1<=n<=100.

100%的資料 1<=m<=1,000,000,1<=n<=500,0這題用01揹包

設f[i]表示價值為i的有多少種

f[i]+=f[i-w[j]]

最後再統計

#include

#include

using

namespace std;

long

long m,n,a[

1001

],f[

1001000

],ans,maxx;

intmain()

f[0]=

1;for(

int i=

1;i<=n;i++)}

for(

int i=maxx;i>=

1;i--

)else}if

(m==0)

break;}

cout

}

從前有一條神奇的項鍊,為什麼說它神奇呢?因為它有兩個性質:

1. 神奇的項鍊可以拉成一條線,線上依次是n 個珠子,每個珠子有乙個能量值ei;

2. 除了第乙個和最後乙個珠子,其他珠子都滿足ei=(ei-1+ei+1)/2+di。

由於這條項鍊很長,我們只能知道其兩端珠子的能量值。並且我們知道每個珠子的di是多少。請聰明的你求出這n 個珠子的能量值分別是多少。

第一行三個整數n、e1、en,表示珠子個數n,第乙個珠子和第n 個珠子的能量值。

第二行n-2 個整數,表示第2 個珠子到第n-1 個珠子的di。

輸出僅一行,n 個整數,表示1 到n 個這n 個珠子各自的能量值ei。

請放心,資料保證對於任意珠子滿足(ei-1+ei+1)mod 2=0

sample input 1:
414

00

sample input 2:
10122

12-3

5142

-1

sample output 1:
123

4

sample output 2:
1

1425

3245

4849

4231

22

40%的資料 1二分答案

通過ei=(ei-1+ei+1)/2+di,我們可以推出ei+1=(ei-di)*2-ei-1

也就是說知道e2就知道全部

二分e2

如果en和輸入進來的一樣,就輸出

#include

#include

using

namespace std;

long

long m,n,k,x,y,a[

500001];

long

long d[

500001];

intmain()

if(a[n]

==k)

return0;

}if(a[n]

>k)

else

}return0;

}

2020 02 16普及C組模擬賽7(總結)

t1 知道了是高精度,但不知道 錯了,只有10分,後來重新按照這個思路寫了一遍,就莫名其妙的ac了 t2不會二維拆分,用暴力得了30分,後來聽了講解,成功ac t3想到是dp,題目說要用long long,我就以為只有結果要long long,80分,最後發現全部都要long long 才act4 ...

NOIP普及組總結

一些感想 考試,好也罷壞也罷,已經過去,只能反思,不能再來 題目 問題 a 3502 noip2017普及組 成績 題目描述 牛牛最近學習了c 入門課程,這門課程的總成績計算方法是 總成績 作業成績 20 小測成績 30 期末考試成績 50 牛牛想知道,這門課程自己最終能得到多少分。輸入只有1 行,...

NOIP普及組考試心得

考試小技巧 這有幾個關於博主本人的說明 1.c 選手 2.並不熟悉devc 3.2016普及組300分弱雞 這篇文章講述的是博主本人對於noip考試的幾個心得和技巧 目前只是初稿,一些詳細的事務會補上 1.士力架 巧克力 或曼妥思 糖果 不是開玩笑的,在考試的時候給自己隨手丟一顆有助於提神醒腦 2....