11 02 猴猴吃香蕉

2021-09-29 06:45:44 字數 878 閱讀 4422

猴猴最愛吃香蕉了。每天猴猴出門都會摘很多很多的香蕉,每個香蕉都有乙個甜度,猴猴不一定要把所有的香蕉都吃掉,猴猴每天都有乙個心情值k,猴猴希望當天吃的香蕉滿足這麼乙個條件,這些香蕉的甜度乘積恰好等於k,但是猴猴並不知道有多少種方法,於是猴猴把這個問題交給你。

揹包,依題目可得:只有k

kk的約數才能作為轉移,所以我們可以篩出來k

kk的約數

列舉香蕉的甜度a

aa和心情值b

bb(都是k

kk的約數),則有轉移方程f[b

]+=f

[b/a

]f[b]+=f[b/a]

f[b]+=

f[b/

a]若當前香蕉的甜度和心情值相等,f[a

]+

+f[a]++

f[a]++

即可防止浪費空間,用了map

mapma

p。

#include

#define m 1000000007

using

namespace std;

map<

int,

int> f;

int t,n,k,cnt;

int a[

1000005

],b[

1005];

intmain()

sort

(a+1

,a+1

+cnt)

;for

(int i=

1;i<=n;i++

)scanf

("%d"

,&b[i]);

for(

int i=

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

cout<]<}}

猴猴吃香蕉(dp)

題目描述 猴猴最愛吃香蕉了。每天猴猴出門都會摘很多很多的香蕉,每個香蕉都有乙個甜度,猴猴不一定要把所有的香蕉都吃掉,猴猴每天都有乙個心情值k,猴猴希望當天吃的香蕉滿足這麼乙個條件,這些香蕉的甜度乘積恰好等於k,但是猴猴並不知道有多少種方法,於是猴猴把這個問題交給你。輸入 第一行乙個數d,表示有d天。...

問題 B 猴猴吃香蕉

題目描述 猴猴最愛吃香蕉了。每天猴猴出門都會摘很多很多的香蕉,每個香蕉都有乙個甜度,猴猴不一定要把所有的香蕉都吃掉,猴猴每天都有乙個心情值k,猴猴希望當天吃的香蕉滿足這麼乙個條件,這些香蕉的甜度乘積恰好等於k,但是猴猴並不知道有多少種方法,於是猴猴把這個問題交給你。輸入第一行乙個數d,表示有d天。接...

51nod 猴猴吃香蕉 揹包

猴猴最愛吃香蕉了。每天猴猴出門都會摘很多很多的香蕉,每個香蕉都有乙個甜度,猴猴不一定要把所有的香蕉都吃掉,猴猴每天都有乙個心情值k,猴猴希望當天吃的香蕉滿足這麼乙個條件,這些香蕉的甜度乘積恰好等於k,但是猴猴並不知道有多少種方法,於是猴猴把這個問題交給你。m 1 08 m leq 10 8 m 10...