[Vijos1308]埃及分数(迭代加深搜索 + 剪枝)
传送门
迭代加深搜索是必须的,先枚举加数个数
然后搜索分母
这里有一个强大的剪枝,就是确定分母的范围
#include <cstdio>#include <cstring>#define N 100001#define LL long long#define min(x, y) ((x) < (y) ? (x) : (y))#define max(x, y) ((x) > (y) ? (x) : (y))int n, flag, best = 9999999;int ans[N], s[N] = ;inline void dfs(LL a, LL b, int k)if(k > n) return;l = max(s[k 1] + 1, b / a);r = min(best 1, b * (n k + 1) / a);for(i = l; i <= r; i++)if(a * i >= b)}int main()for(i = 1; i <= n; i++)printf("%d ", ans[i]);return 0;}
下一篇:[luoguP2805] [NOI2009]植物大战僵尸(网络流)
搜索与剪枝 迭代加深搜索
spc文件怎么看,spc文件用什么打开?
0文件怎么看,0文件用什么打开?
sparseimage文件怎么看,sparseimage文件用什么打开?
sp文件怎么看,sp文件用什么打开?
dv文件怎么看,dv文件用什么打开?
soundpack文件怎么看,soundpack文件用什么打开?
dus文件怎么看,dus文件用什么打开?
dtw文件怎么看,dtw文件用什么打开?
spdf文件怎么看,spdf文件用什么打开?
0文件怎么看,0文件用什么打开?