bzoj3629 JLOI2014 聰明的燕姿

2022-05-15 06:05:58 字數 2416 閱讀 7349

搜尋。我們知道:

如果$n=\prod\limits_^p_^}$,其中$p_$為質數,

那麼n的約數和為$\prod\limits_^(p_^+p_^+...+p_^})$

如$36=2^*3^$,那麼$36$的約數和為$(2^+2^+2^)*(3^+3^+3^)=91$

我們搜尋找到所有合法最小的$p_$和它次數$k_$,然後dfs進入下一次搜尋中。

如果發現當前的約數和為乙個質數+1,我們可以加到答案去。

覺得答案的個數很少。

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include適用於cf,uoj,但不適用於poj

using

namespace

std;

typedef

long

long

ll;typedef

double

db;typedef pair

pii;

typedef complex

cp;#define mmst(a,v) memset(a,v,sizeof(a))

#define mmcy(a,b) memcpy(a,b,sizeof(a))

#define fill(a,l,r,v) fill(a+l,a+r+1,v)

#define re(i,a,b) for(i=(a);i<=(b);i++)

#define red(i,a,b) for(i=(a);i>=(b);i--)

#define ire(i,x) for(typedef(x.begin()) i=x.begin();i!=x.end();i++)

#define fi first

#define se second

#define m_p(a,b) make_pair(a,b)

#define p_b(a) push_back(a)

#define sf scanf

#define pf printf

#define two(k) (1<

inline t sqr(t x)

template

inline void upmin(t &t,t tmp)

template

inline void upmax(t &t,t tmp)

const db eps=1e-9

;inline

int sgn(db x)

const db pi=acos(-1.0

);inline

intgint()

for(;z!=eof && isdigit(z);res=res*10+z-'

0',z=getchar());

return (neg)?-res:res;

}inline ll gll()

for(;z!=eof && isdigit(z);res=res*10+z-'

0',z=getchar());

return (neg)?-res:res;

}const

int maxn=100000

;int n=maxn;

int flag[maxn+100

];int cnt,p[maxn+100

];int

s;int ge,out[maxn+1000

];inline

int isprime(int

v)

inline

void dfs(int last,int now,int

tot)

if(isprime(tot-1) && tot-1>p[last])

out[++ge]=now*(tot-1

);

for(int i=last+1;i<=cnt;i++)

for(int j=p[i],k=p[i]+1;k<=tot;j=j*p[i],k+=j)

if(tot%k==0

) dfs(i,now*j,tot/k);

}int

main()

}while(sf("

%d\n

",&s)!=eof)

return0;

}

view code

BZOJ3629 JLOI2014 聰明的燕姿

標籤 線性篩,dfs description 陰天傍晚車窗外 未來有乙個人在等待 向左向右向前看 愛要拐幾個彎才來 我遇見誰會有怎樣的對白 我等的人他在多遠的未來 我聽見風來自地鐵和人海 我排著隊拿著愛的號碼牌 城市中人們總是拿著號碼牌,不停尋找,不斷匹配,可是誰也不知道自己等的那個人是誰。可是燕姿...

Bzoj3629 Jloi2014聰明的燕姿

蒟蒻不知道約數和公式。qaq 然後自己手玩出來了,但是沒去想dfs 反正這篇博文也只是記錄一下自己的愚蠢,就貼的是popoqqq神犇的 順便約數和公式 設n p1 k1 p2 k2.pn kn d sum n p1 0 p1 1 p1 k1 p2 0 p2 1 p2 k2 pn 0 pn 1 pn ...

bzoj3629 JLOI2014 聰明的燕姿

陰天傍晚車窗外 未來有乙個人在等待 向左向右向前看 愛要拐幾個彎才來 我遇見誰會有怎樣的對白 我等的人他在多遠的未來 我聽見風來自地鐵和人海 我排著隊拿著愛的號碼牌 城市中人們總是拿著號碼牌,不停尋找,不斷匹配,可是誰也不知道自己等的那個人是誰。可是燕姿不一樣,燕姿知道自己等的人是誰,因為燕姿數學學...