陰天傍晚車窗外
未來有乙個人在等待
向左向右向前看
愛要拐幾個彎才來
我遇見誰會有怎樣的對白
我等的人他在多遠的未來
我聽見風來自地鐵和人海
我排著隊拿著愛的號碼牌
城市中人們總是拿著號碼牌,不停尋找,不斷匹配,可是誰也不知道自己等的那個人是誰。可是燕姿不一樣,燕姿知道自己等的人是誰,因為燕姿數學學得好!燕姿發現了乙個神奇的演算法:假設自己的號碼牌上寫著數字s,那麼自己等的人手上的號碼牌數字的所有正約數之和必定等於s。
所以燕姿總是拿著號碼牌在地鐵和人海找數字(喂!這樣真的靠譜嗎)可是她忙著唱《綠光》,想拜託你寫乙個程式能夠快速地找到所有自己等的人。
首先,要知道乙個很顯然的東西,乙個數的所有正因數的和為∏i
∑kij
=0pj
i 然後,只要dfs列舉每個質因子的
k 就可以了。複雜度玄學。
#include
#include
#include
#include
#define maxn 200006
#define ll long long
using
namespace
std;
int n,p,ans0,prime[maxn];
ll ans[maxn];
bool vis[maxn];
void make_prime()
}}bool isp(ll x)
void dfs(int p,ll x,ll sum)
if(sum-1>=prime[p]&&isp(sum-1))ans[++ans0]=x*(sum-1);
for(int j=p;prime[j]*prime[j]<=sum;j++)
}}int main()
return
0;}
BZOJ3629 JLOI2014 聰明的燕姿
標籤 線性篩,dfs description 陰天傍晚車窗外 未來有乙個人在等待 向左向右向前看 愛要拐幾個彎才來 我遇見誰會有怎樣的對白 我等的人他在多遠的未來 我聽見風來自地鐵和人海 我排著隊拿著愛的號碼牌 城市中人們總是拿著號碼牌,不停尋找,不斷匹配,可是誰也不知道自己等的那個人是誰。可是燕姿...
bzoj3629 JLOI2014 聰明的燕姿
搜尋。我們知道 如果 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進入下一次搜尋中。如果發現當前的約數和為乙個質...
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 ...