uva12558埃及分数
1,看这全英文的题目就怪蛋疼的。
2,这输入也是奇奇怪怪的的。
3,想要好好做题,理解做题,就得好好看题自己要理解吸收消化.单纯看别人的话,说实话并没有什么用处。
一,看题。
1,首先,枚举的分数肯定不能相同,那么意味着你需要进行个不降原则。
2,其次,枚举分数的个数越小越好。
3,其次,当你有几个方法,他们的枚举分数的个数相同时,我们找到它们各自枚举分数中最小分数中取最大的那个。如果还不行依次找最小的。
4,思考一下,这个东西用的时IDA*,也就是bfs与dfs的结合,
就是用bfs的思想取dfs。
没有个确切的模板我都快哭了。
5,这个输入怎么其奇怪该的。。
6,不能用k做分母?
二,看题解
1,看别人我才懂题意,,是给k个分母不能用的整数。
2,既然要搜索,必然要搜索状态和搜索目标喽。
3,输入也他妈不好存,答案要不开个二维数组去存算了。
这就涉及到是一个个处理还是都存了再输入。。
算 啊啊啊啊了啊,我要看题解。
4,别人的题解里用了个我不认识的stl,set来写篇博客再学习下。
5,它这dfs状态设置好奇怪啊。。
6,再这种输入下,就很考验你去用scanf了。
7,这还怪难得。
8,现在的主要问题是,dfs内部机制。
而dfs内部的机制又主要分为两部分。
一部分是边界的处理
一部分是枚举的过程。
9,看一个代码,要看定义的东西,要看主函数。
不管看什么代码,用手推推总能方便得增强你对代码的理解。
(同时空想代码?)
(代码技巧得搞搞了)
重在题解,题解不好就去网上找好的题解,不要去死磕洛谷后面那些神仙代码。
uva12558埃及分数的更多相关文章
- UVA12558 埃及分数 Egyptian Fractions
题意描述 题目描述的翻译挺清楚的了. 和原题的区别是多了禁用的分母.(还有毒瘤输入输出) 算法分析 显然这道题没有什么很好的数学方法来解决,所以可以使用搜索. 由于不确定深度,深搜显然无穷无尽. 所以 ...
- UVA12558 埃及分数
#include<iostream> #include<cstdio> #include<set> #include<memory.h> using n ...
- UVA12558 Egyptian Fractions (HARD version)(埃及分数)
传送门 题目大意 给出一个真分数 a/b,要求出几个互不相同的埃及分数(从大到小),使得它们之和为 a/b (埃及分数意思是分子为1的分数,详见百度百科) 如果有多组解,则分数数量少的优先 如果分数数 ...
- 华为OJ平台——将真分数分解为埃及分数
题目描述: 分子为1的分数称为埃及分数.现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数.如:8/11 = 1/2+1/5+1/55+1/110. 输入: 输入一个真分数, ...
- 埃及分数&&The Rotation Game&&骑士精神——IDA*
IDA*:非常好用的搜索,可以解决很多深度浅,但是规模大的搜索问题. 估价函数设计思路:观察一步最多能向答案靠近多少. 埃及分数 题目大意: 给出一个分数,由分子a 和分母b 构成,现在要你分解成一系 ...
- 埃及分数问题_迭代加深搜索_C++
一.题目背景 http://codevs.cn/problem/1288/ 给出一个真分数,求用最少的1/a形式的分数表示出这个真分数,在数量相同的情况下保证最小的分数最大,且每个分数不同. 如 19 ...
- Vijos 1308 埃及分数(迭代加深搜索)
题意: 输入a.b, 求a/b 可以由多少个埃及分数组成. 埃及分数是形如1/a , a是自然数的分数. 如2/3 = 1/2 + 1/6, 但埃及分数中不允许有相同的 ,如不可以2/3 = 1/3 ...
- codevs1288 埃及分数(IDA*)
1288 埃及分数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在古埃及,人们使用单位分数的和(形如1/a的 ...
- JDOJ 1770 埃及分数
JDOJ 1770: 埃及分数 https://neooj.com/oldoj/problem.php?id=1770 Description 分子均为1的分数叫做埃及分数,因为古代埃及人在进行分数运 ...
随机推荐
- 微信小程序与Django<一>
小程序开发的准备工作 1. 小程序开发者账号 a) 邮箱注册 b) 开发者配置与AppID c) https://mp.weixin.qq. ...
- aop 打印请求信息
项目中使用 AOP 打印请求信息,打印响应信息.package com.example.aspect; import com.alibaba.fastjson.JSON;import com.goog ...
- word表格中怎么添加递增的序号
word2013表格中怎么添加递增的序号?word2013表格中想要让第一类自动显示递增序号,该怎么操作呢?下面我们就来分享两种方法,需要的朋友可以参考下 工具/原料 word2013 通过项目编 ...
- Visual Studio 2019 使用.Net Core 3.0 二
一.遇到难题 在微软官方逛了一圈,看到了这个. 马上点击,进去看看什么情况. 1.安装previewVisual studio 2019 2.设置SDK previews in Visual Stud ...
- LRU(Least Recently Used)算法的理解
https://blog.csdn.net/wydyd110/article/details/84023688 感谢 ,自己学习记笔记 内存里建立一个哈希表,后来数据多了,爆了.咋整呢? 一个算法,就 ...
- business from English bisynes
business from English bisynes Etymology From Middle English bisynes Hyphenation: business Noun busin ...
- 重启Kubernetes Pod的几种方式
方法1 kubectl scale deployment XXXX --replicas=0 -n {namespace} kubectl scale deployment XXXX --replic ...
- 【故障处理】ORA-19809错误处理
[故障处理]ORA-19809错误处理 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它 ...
- Linux 磁盘配额(XFS & EXT4)
若是在Linux中搭建了FTP服务器,为了安全性,就要考虑磁盘配额,以防服务器磁盘空间被恶意占满. 磁盘配额概述 1.作用范围:只在指定的分区有效. 2.限制对象:主要针对用户.组进行限制,对组账号限 ...
- 无法将“ng”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 通用解决方案
1.找到你安装的路径 以@angular/cli 为例 (找到 ng.cmd 这个指令的具体位置) 2. 右键 这台电脑 添加路径到 系统变量的 Path中, 如下图 3.关闭所有的 cmd,并重新打 ...