題目編號標題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....