首页 > 其他分享 >SP7579 YOKOF - Power Calculus

SP7579 YOKOF - Power Calculus

时间:2023-06-07 18:35:37浏览次数:40  
标签:Calculus dep YOKOF int SP7579 now 步数

来一发简单做法

题目链接:SP7579 YOKOF - Power Calculus

题目大意:如何用最少的步数凑出一个次数。

思考一个问题:题干提到的相乘,实际上可以看做同底数幂相乘,底数不变,指数相加,我们只需要维护一个变量指数就可以了。

那么难点就来了,怎么有效的利用中间产物?开个数组 \(num\) 储存,下标就可以是当前用的步数。

我们可以使用迭代加深搜索,每次规定一个步数,能到达目标,就返回一,输出该步数。考虑剪枝,如果从当前局面开始,每次都用最大的两个数相乘,也就是最大的两个指数相加,都不能达到目标的话,就直接返回不可以。

记得处理边界,搜到最后一步,或者一波操作也没能返回可以,就只好返回不可以了!

见代码:

#include<iostream>
#include<cstdio>
using namespace std;
int num[100001], n, dep;

bool dfs(int step,int now){
    if(now <= 0 || step > dep || now << (dep - step) < n) return 0;
    if(now << (dep - now) == n) return 1;
    if(now == n) return 1;
    num[step] = now;//储存当前步骤的指数
    for(int i = 0;i <= step; i++){
        if(dfs(step + 1,now + num[i])) return 1;
        if(dfs(step + 1,now - num[i])) return 1;

    }
    return 0;
}

int main(){
    while(1){
        cin >> n;
        if(n == 0) break;
        for(dep = 0; ; dep++){
            if(dfs(0,1)) break;
        }
        cout << dep << endl;
    }
    return 0;
}

标签:Calculus,dep,YOKOF,int,SP7579,now,步数
From: https://www.cnblogs.com/iruiforever/p/17464218.html

相关文章

  • Calculus_logic_ended
    变量无穷小量定义:设函数\(f(x)\)在点\(x_0\)的某个邻域内有定义,如果对任意给定\(\forall\\varepsilon>0,\exists\\delta>0,\forall\x\in\mathringU(x_0,\delta),|f(x)|<\varepsilon\Rightarrowf(x)\)是当\(x\rightarrowx_0\)时的无穷小量,记作\(\lim\lim......
  • Discrete Calculus_logic_ended
    无穷数列定义无穷数列:按某一法则,对所有\(n\in{\mathbbN^*}\),对应着一个确定的实数\(a_n\),这些实数按下标\(n\)从小到大排列得到的一个序列成为无穷数列,简称数列项:数列中的一个数通项/一般项:\(x_n\)特殊数列:单调数列:单调递增:\(a_n\leqa_{n+1}\)单调递减:\(a_......
  • MATH1023 Multivariable Calculus
    TheUniversityofSydneySchoolofMathematicsandStatisticsLecturesWeek2–SeparableDifferentialEquations&NewtonianDynamicsMATH1023:MultivariableCalculusandModellingSemester1,20231.Existenceanduniquenessofsolutions2.Simple1stOrde......
  • A Calculus【GDUT 2022 grade Qualifying #1】
    A CalculusChipmunkisamathgenius,andheisextraordinarilygoodatcalculus.NowChipmunkgivesyouaformulaandasksyoutocalculateitinoneminute,......
  • MATH1851 Calculus and ordinary differential equations
    课程内容笔记,自用,不涉及任何assignment,exam答案Notesforselfuse,notincludedanyassignmentsorexams由于提前预习了微积分(见微积分\(I\),微积分\(II\))......