当前位置: 首页 > news >正文

电商网站后台管理系统张槎网站设计

电商网站后台管理系统,张槎网站设计,什么是软文营销?,宝山做网站题目描述 来源:BIO 1997 Round 1 Question 3 在古埃及,人们使用单位分数的和(形如 a1​ 的,a 是自然数)表示一切有理数。如:32​21​61​,但不允许 32​31​31​,因为加数中有相同…

题目描述

来源:BIO 1997 Round 1 Question 3

在古埃及,人们使用单位分数的和(形如 a1​ 的,a 是自然数)表示一切有理数。如:32​=21​+61​,但不允许 32​=31​+31​,因为加数中有相同的。对于一个分数 ba​,表示方法有很多种,但是哪种最好呢?首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。如:

4519​4519​4519​4519​4519​​=31​+121​+1801​=31​+151​+451​=31​+181​+301​=41​+61​+1801​=51​+61​+181​​

最好的是最后一种,因为 181​ 比 1801​,451​,301​ 都大。
注意,可能有多个最优解。如:

21159​21159​​=41​+361​+6331​+37981​=61​+91​+6331​+37981​​

由于方法一与方法二中,最小的分数相同,因此二者均是最优解。

给出 a,b,编程计算最好的表达方式。保证最优解满足:最小的分数 ≥1071​。

输入格式

一行两个整数,分别为 a 和 b 的值。

输出格式

输出若干个数,自小到大排列,依次是单位分数的分母。

输入输出样例

输入 #1复制

19 45

输出 #1复制

5 6 18

说明/提示

1<a<b<1000

代码实现:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef long long LL;
vector<LL> ans_d, temp_d;
int max_depth;

// 求最大公约数
LL gcd(LL a, LL b) {
    return b == 0 ? a : gcd(b, a % b);
}

// 约分分数 a/b
pair<LL, LL> reduce(LL a, LL b) {
    LL g = gcd(a, b);
    return {a / g, b / g};
}

// 比较两个解的优劣
bool better(const vector<LL>& a, const vector<LL>& b) {
    if (a.empty()) return false;
    if (b.empty()) return true;
    for (int i = a.size() - 1; i >= 0; i--) {
        if (a[i] != b[i]) return a[i] < b[i];
    }
    return false;
}

// 深度优先搜索寻找最优解
bool dfs(int depth, LL a, LL b, LL from) {
    if (depth == max_depth) {
        if (a != 1) return false;
        if (b < from) return false;
        temp_d.push_back(b);
        if (better(temp_d, ans_d)) {
            ans_d = temp_d;
        }
        temp_d.pop_back();
        return true;
    }

    bool found = false;
    from = max(from, (b + a - 1) / a); // 计算k的下界
    for (LL k = from; ; k++) {
        // 剪枝:如果剩余的深度无法达到更好的解
        LL max_remaining = b * (max_depth - depth + 1);
        if (k > max_remaining) break;

        LL new_a = a * k - b;
        LL new_b = b * k;
        if (new_a <= 0) continue;

        pair<LL, LL> reduced = reduce(new_a, new_b);
        LL na = reduced.first;
        LL nb = reduced.second;
        
        temp_d.push_back(k);
        if (dfs(depth + 1, na, nb, k + 1)) {
            found = true;
        }
        temp_d.pop_back();
    }
    return found;
}

int main() {
    LL a, b;
    cin >> a >> b;

    pair<LL, LL> reduced = reduce(a, b);
    a = reduced.first;
    b = reduced.second;

    for (max_depth = 1; ; max_depth++) {
        temp_d.clear();
        if (dfs(1, a, b, (b + a - 1) / a)) {
            break;
        }
    }

    sort(ans_d.begin(), ans_d.end());
    for (vector<LL>::iterator it = ans_d.begin(); it != ans_d.end(); ++it) {
        cout << *it << " ";
    }
    cout << endl;

    return 0;
}    

http://www.dtcms.com/a/518213.html

相关文章:

  • 做网站宁波天元建设集团有限公司法人
  • 内容网站新闻发布会邀请哪些媒体
  • 冯宗耀seo教程网站优化难吗
  • 网站的分析与设计路桥区商用营销型网站建设
  • 秦皇岛 网站建设平台代理是什么工作
  • 温岭建设网站网站开发方案论文
  • 服务号网站建设wordpress导航菜单404
  • .tel域名不可以做网站域名吗南通江苏网站建设
  • 军事的网站应如何建设网站怎么做会让神马搜索到
  • 用手机画房子平面图网站权重优化
  • 宁夏省建设厅网站贵阳建设银行网站
  • seo网站快速排名软件百度贴吧怎么发广告
  • 长春火车站属于哪个区网站相册优化
  • 招聘网站设计论文网站制作费用需要多少钱
  • 佛山网站建设哪家公司好软件工程可以做什么工作
  • 淮安建设工程协会网站查询肇庆网站建设方案优化
  • 网站建设合同属于技术服务么专业的单位网站开发公司
  • 什么查网站是否降权阳江网红打卡景点
  • 徐老师在那个网站做发视频品牌推广互联网广告
  • 怎么做带后台的网站杭州电商网站建设公司
  • 公司网站百度小程序开发电商pc网站建设方案
  • 物联网网站开发无为教育网站
  • 有什么兼职做it的网站在哪租用网站
  • 网站建设丨选择金手指排名15新闻类网站备案
  • 昆明市建设局网站怎么欣赏一个网站设计图
  • 黑龙江建设部网站北仑建设银行网站
  • 【开题答辩全过程】以 基于个人需求和地域特色的外卖推荐系统为例,包含答辩的问题和答案
  • 网站服务器放置地怎么填建设法规的网站
  • 广东网站建站公司报名网站建设费用价格
  • 网站项目功能需求清单图文广告设计公司