[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]植物大战僵尸(网络流)
搜索与剪枝 迭代加深搜索
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?