搜索体

给定一个数S,找任意个正整数a1,a2,…,an,使得它们的和恰好等于S,且它们的倒数之和与1的差不超过10^-6。 输出任意一种方案或者输出无解。 S<=65536

#include<iostream>
#include<cstdio >
#include<queue>
#include<algorithm>
#include<cstring>
#include<math.h>
using namespace std;
int s;
int ans[70000];
double sep=0.000001;
void wout(int x)
{
    for(int i=1;i<=x;i++)
    printf("%d ",ans[i]);
    return ;
}
void dfs(int tot,double all,int x,int last)
{
    ans[x]=last;
    //剪枝
    if(tot==s&&fabs(all-1)<=sep)    {wout(x);exit(0);}
    if(all+1.0/last*(((s-tot)/last)+1)<1-sep)    return;
    if(all+1.0/(s-tot)>1+sep)    return ;
    for(int i=last;i<=s-tot;i++)
        dfs(tot+i,all+(double)(1.0/i),x+1,i);
}
int main()
{
    cin>>s;
    dfs(0,0.0,0,2);
    return 0;
}
时间: 2024-12-29 04:35:43

搜索体的相关文章

百度冰桶算法升级在即:如何提升移动搜索体

jiaoyou8.com/friends_diary/zxcvbnm20/0_0_0/view_0010271186_no_0_0.html jiaoyou8.com/friends_diary/mnbvc1/0_0_0/view_0010271195_no_0_0.html jiaoyou8.com/friends_diary/zxcvbnm20/0_0_0/view_0010271199_no_0_0.html jiaoyou8.com/friends_diary/mnbvc1/0_0_0/

ElasticSearch 关于term搜索不到指定数据的问题

ElasticSearch 在搜索中文是.首先通过KI分词/KI分词是吧所有的中文分解成单个中文, 在每次通过term搜索中文时,不会将体育两次分词,但ElasticSearch里面保存的都是单个中文,所以导致未搜索到数据. 在通过搜索“体”字时即可搜到. 原文地址:https://www.cnblogs.com/imaye/p/9903897.html

Android中谷歌语音识别应用探究

引言 由于为期半年的项目结束了,进入了一段“疗养”的真空期,因此有时间可以去归纳整理项目的经验,学习新的姿势与技巧,对自己技术水平也是一种提升.另外,个人懒癌症严重,为强迫自己努力学习,立了一些福来阁(比如没有写出博客女装什么的咳咳,我一定会拔旗成功的,哼),总体来说督促效果还是挺不错的. 项目中使用的Android和linux进行客户端的开发,结合项目的实战经验,七月份写的博客内容主要围绕Android开发进行,研究的内容预定为:Android中谷歌语音搜索功能探究(开篇),app应用意外关闭

Oracle数据库11g各版本介绍及功能比较

Oracle 11g有多个版本可供选择:?标准版1.标准版和企 业版.所有这些版本都使用相同的通用代码库构建,这意味着企业的数据库管理软件可以轻松地从规模较小的单一处理器服务器扩展到多处理器服务器集 群,而无需更改一行代码.Oracle数据库11g企业版还有许多其他增强了性能.可伸缩性.可用性.安全性和可管理性的功能选项. ? ? 主要功能汇总 简化版?10g 标准版1 标准版 企业版 CPU最大数量 1 CPU 2 Sockets 4 Sockets 无限制 RAM 1GB 操作系统允许的最大

新章节——请求体搜索(full body search)

轻量级的搜索--?query string search?--对命令行的即席查询来说是十分有用的.然而为了驾驭搜索的强大功能,你应该使用带请求体的search API,之所以这样,是因为很多的参数是在JSON的请求体中的而不是查询字符串. 请求体查询--从现在开始就是"search"--不仅仅自身处理查询,而且允许你高亮结果片段,也可以对结果集进行合并和分析,也能返回did-you-mean?suggestions这样的提示,帮助提示你的用户快速找到更好的结果. 原文:http://w

dataTables去掉搜索框和每页多少条框体,解决Cannot reinitialise DataTable问题

$('#example').DataTable({ searching:false, //去掉搜索框 bLengthChange:false,//去掉每页多少条框体 "language": { "info": "", // 表格左下角显示的文字 "paginate": { "previous": "上一页", "next": "下一页" } },

【搜索】C - Catch That Cow

#include<stdio.h> #include<string.h> struct A{ int state; int step; }queue[100005]; // 结构体数组用来模拟队列,数组元素包含两个数据,state代表遍历到的数值,step所经历的步数 int vis[100005]; // 这个数组用来存储访问情况 int n, k; int bfs( int aim); int main(void){ scanf("%d%d", &n

蒙特卡洛树搜索介绍

原帖地址:蒙特卡洛搜索树原文 2015年9月7日周一 由Jeff Bradberry留 与游戏AI有关的问题一般开始于被称作完全信息博弈的游戏.这是一款对弈玩家彼此没有信息可以隐藏的回合制游戏且在游戏技术里没有运气元素(如扔骰子或从洗好的牌中抽牌),    井字过三关,四子棋,跳棋,国际象棋,黑白棋和围棋用到了这个算法的所有游戏.因为在这个游戏类型中发生的任何事件是能够用一棵树完全确定,它能构建所有可能的结果,且能分配一个值用于确定其中一名玩家的赢或输.尽可能找到最优解,然而在树上做一个搜索操作

学习笔记:图的DFS和BFS的两种搜索办法

  在学习图结构的过程中,DFS和BFS是两种不同的遍历方式,其寻找元素具有不同的优点和缺陷. BFS被称作广度优先算法, 在遍历整个图的过程中,BFS将采用入队的方式进行,值得一提的是,这和树结构中的层序遍历有很大的相似之处. 在层序遍历中,将父亲节点入队后,在父亲节点出队后,将其儿子节点入队. 同理在图的BFS遍历中,先让BFS的首元素入队,在收元素入队后将他的儿子节点入队,放能够实现BFS搜索,他们的整体思想是一样的. 1 void TraversalGraph_BFS(LGraph Gr