ccf線上賽普及組 2020

2022-09-08 07:27:15 字數 1665 閱讀 9777

a.文具訂購order

思路:首先,要花光所有的q,發現除了n=1,2,5以外都能被花光。

觀察條件得知我們要盡可能的配套,盡可能多的14元。

找完所有的14之後在將剩餘的盡可能分為3,4,這樣總數就更多滿足條件。

1 #include 2 #include 3 #include 4

using

namespace

std;56

long

long

read()

1516

intmain()

24 n += 14, a--, b--, c--;25}

26int a2 = -a-1, b2 = -b-1, c2 = -c-1;27

for(int i=0; i<=n; i+=7)28

for(int j=0; i+j<=n; j+=4)29

for(int k=0; i+j+k<=n; k+=3)30

if(i + j + k == n && i/7+j/4+k/3 > a2+b2+c2)

31 a2 = i / 7, b2 = j / 4, c2 = k / 3

;32 printf("

%d %d %d

", a+a2, b+b2, c+c2);

33return0;

34 }

b.跑步running

五邊形數和五邊形定理的模版題(phdhddalao說不需要了解五邊形定理證明,只要會用)

1 #include 2 #include 3 #include 4

using

namespace

std;

5 typedef long

long

ll;6

7ll read()

1617

const

int n = 100005

;18 ll f[n],dp[n],cnt=0;19

20int

main()

26 dp[0] = 1;27

for(int i=1; i<=n; i++)

31 printf("%d"

, dp[n]);

32return0;

33 }

另一種好像二維dp可以勉強卡過

1 #include2

#define ll long long

3using

namespace

std;

45 ll d[100001],f[1001][100001];6

7int

main()819

}20for(int i=1;i)

2127

}28 ll ans=0,p=0;29

for(int i=0;i<=n;i++)

3035 ans+=p*d[i];

36 ans%=p;

37 p=0;38

}39 printf("%d"

,ans);

40return0;

41 }

c......

普及組模擬賽 家族

題目描述 在乙個與世隔絕的島嶼上,有乙個有趣的現象 同乙個家族的人家總是相鄰的 這裡的相鄰是指東南西北四個方向 不同的家族之間總會有河流或是山丘隔絕,但同乙個家族的人不一定有相同姓氏。現在給你島上的地圖,求出島上有多少個不同的家族。島上的地圖有n 行,每行有若干列,每個格仔中要麼是 空格表示大海,要...

2020 10 05 普及組 模擬賽C組總結

總結這次考試沒發揮好,第二題沒有拿滿分,下次要繼續努力 t1 superpow 10 題目大意 已知a b 超級冪 代表 b個a的冪,求n對數的超級冪之積的個位數。正確思路 當打表後可以發現 b是沒用的,如果b大於2,b就等於2,答案和原來的是一樣的。所以處理一下跑個快速冪就行了。至於為什麼拿10分...

2020 11 14 普及組 模擬賽C組總結

這是乙個好東西 作者主頁 t1 操作 題目大意 給你乙個數列,讓你執行一些操作後輸出。這一題找規律即可。t2 遊戲 題目大意 判斷每個人被攻擊和攻擊的情況是否符合題目要求。思路 找規律。因為中間不可能出現三個一樣的攻擊操作,所以只需要判斷有沒有大於3的連續操作,直接輸出個數即可。提示 t3 到達 題...