`
promiser
  • 浏览: 77084 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

bzoj1053: [HAOI2007]反素数ant

    博客分类:
  • oi
阅读更多

素因子最多是前10个,同时各个因子的幂肯定递减,爆搜

const int Prim[15] = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31};
LL n;

inline void Input() {
	cin >> n;
}

LL Ans, num;

inline void Solve(int w, LL Now, int cnt, int Las) {
	if(w == 12) {
		if(Now > Ans && cnt > num) Ans = Now, num = cnt;
		if(cnt >= num && Now <= Ans) Ans = Now, num = cnt;
		return;
	}
	
	LL T = Now;
	int Dep = 0;
	while(T * Prim[w] <= n && Dep + 1 <= Las) T *= Prim[w], Dep++;
	
	Ford(i, Dep, 0) {
		Solve(w + 1, T, cnt * (i + 1), i);
		T /= Prim[w];
	}
}
inline void Solve() {
	Ans = 1, num = 1;
	Solve(1, 1, 1, INF);
	cout << Ans << endl;//<< ' ' << num << endl;
}

int main() {
    #ifndef ONLINE_JUDGE
    SETIO("1053");
    #endif
    Input();
    Solve();
    return 0;
}

 

0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics