这道题貌似只有@AKEE 大佬A掉,恭喜!

还有因为c++中支持两个参数数量不同的相同名称的函数调用,所以当时就没改成两个函数,这里表示抱歉。

这道题可直接用指针+hash一下,然后就模拟即可。

代码:

#include<bits/stdc++.h>
using namespace std;
const int Mo=10000000;
struct node
{long long int state,ans;node* next;
}*Hash[Mo+10],*p;
long long max(long long a,long long b,long long c,long long d,long long e)
{return max(a,max(b,max(c,max(d,e))));
}
long long max(long long a,long long b,long long c,long long d)
{return max(a,max(b,max(c,d)));
}
long long f(long long x)
{if(x==0)return 0;p=Hash[x%Mo];while(p!=NULL){if(p->state==x)return p->ans;p=p->next;}long long anss=max(x,f(x/2)+f(x/3)+f(x/8)+f(x/9));p=new node;p->state=x;p->ans=anss;p->next=Hash[x%Mo];Hash[x%Mo]=p;return anss;
}
long long f(long long a,long long b)
{long long anss=max(a+b,f(a/2)+f(a/3)+f(a/8)+f(a/9)+b,f(b/2)+f(b/3)+f(b/8)+f(b/9)+a,f(b/2)+f(b/3)+f(b/8)+f(b/9)+f(a/2)+f(a/3)+f(a/8)+f(a/9));return anss;
}
int main()
{//freopen("function.in","r",stdin);//freopen("function.out","w",stdout);long long int a,b;while(cin>>a>>b) {cout<<f(a,b)<<endl;}return 0;
}

另附AKEE大佬代码:(%%%)

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <unordered_map>
#include <algorithm>using namespace std;typedef long long ll;
const int MAXN=10000005;ll n,m,f[MAXN];
unordered_map<ll,ll> has;
ll solve(ll n)
{if(n<=10000000)return f[n];if(has.count(n))return has[n];return has[n]=max(solve(n/2)+solve(n/3)+solve(n/8)+solve(n/9),n);
}int main()
{#ifndef ONLINE_JUDGEfreopen("code.in","r",stdin);//freopen("code.out","w",stdout);#endiff[0]=0;for(int i=1;i<=10000000;i++)f[i]=max(f[i/2]+f[i/3]+f[i/8]+f[i/9],i*1ll);while(cin>>n>>m)cout<<solve(n)+solve(m)<<endl;return 0;
}

【CYH-02】NOIp考砸后虐题赛:函数:题解相关推荐

  1. 【CYH-02】NOIp考砸后虐题赛:转换式:题解

    这道题真的不难吧. 如@AKEE@AKEE@AKEE 大佬所说,此题的确可以将n推广到一般情况. 但题面还是良心的只到了N<=4N<=4N<=4 以目前的题目来看,简单模拟即可. 分 ...

  2. 【CYH-02】NOIp考砸后虐题赛:成绩:题解

    这道题挺送水了吧... 两种做法. 其实空间都不需要那么大,我来提交界面一看一堆MLE的,于是还是良心的放开了时限. 这么简单,就不做解释了. 下面放出几种代码. 代码: 两个数组: #include ...

  3. 【CYH-02】NOIp考砸后虐题赛:坐标:题解

    代码: 这道题也并不难,用排序+简单动规即可.因为@Kevin_Wa 大佬放的是c++,所以我来一发Pascal. var min,max,i,a1,b1,c1,d1,n:longint; a,b,c ...

  4. 【CYH-02】NOIp考砸后虐题赛:数学:题解

    赛后放上. 转载于:https://www.cnblogs.com/vercont/p/10210029.html

  5. CYJian的新春虐题赛

    题解: t1: 算了一下发现乘法也是可以莫比乌斯反演的 然后就直接对原式莫比乌斯反演了 大概加法是$\mu {(i)}*f(i)$ 乘法就是$f(i)^{\mu {(i)}}$ 然后这个算法成功达到$ ...

  6. #19ACM第一次招新补题赛de题解呐#

    听说需要交一份题解? A.最简单签到,没有之一 不得不说这道简单签到 太强了- 先来看看题目吧 ↓ 描述: 此题简单如题意,就是求最大值输入: 多组输入 每组输入输入一串字符串(包括字母和数字),长度 ...

  7. 高等数学(第七版)同济大学 习题6-2 (后18题)个人解答

    高等数学(第七版)同济大学 习题6-2(后18题) 函数作图软件:Mathematica 13.把星形线x23+y23=a23所围成的图形绕x轴旋转(图6−21),计算所得旋转体的体积.\begin{ ...

  8. 高等数学(第七版)同济大学 习题10-3 (后6题)个人解答

    高等数学(第七版)同济大学 习题10-3(后6题) 函数作图软件:Mathematica 10.利用球面坐标计算下列三重积分:\begin{aligned}&10. \ 利用球面坐标计算下列三 ...

  9. 高等数学(第七版)同济大学 习题10-2(后7题) 个人解答

    高等数学(第七版)同济大学 习题10-2(后7题) 函数作图软件:Mathematica 16.设平面薄片所占的闭区域D由螺线ρ=2θ上一段弧(0≤θ≤π2)与直线θ=π2所围成,它的面密度为μ(x, ...

最新文章

  1. numpy.loadtxt画功率谱图
  2. android 购物车小美的店,[转载]【小美教程】买菜累啊有木有?购物车用的购物袋教程来啦.........
  3. SylixOS 系统初探
  4. swagger报错No handler found for GET /swagger-ui.html
  5. Java的io类的使用场景
  6. Apollo进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战
  7. matlab zigzag算法,ZIGZAG扫描的MATLAB实现
  8. 窗体常用属性的演练 c#
  9. matlab的点平方,性能 – 有效地计算Matlab中的成对平方欧几里德距离
  10. python-json操作
  11. sql 相加_Java整数相加溢出怎么办?Java 8 还是厉害!
  12. 20150406--RBAC+添加字段栏目
  13. java exchangedeclare_Exchange服务器之RabbitMQ四种Exchange类型之Topic (Java)
  14. LoadModule php5_module modules/libphp5.so在httpd.conf中的由来
  15. 教新手小白如何通过五分钟学会用Python爬取女神照片!
  16. 使用python gzip进行解压和压缩
  17. 移动支付走入线下商家
  18. php免费翻译接口,利用GOOGLE免费接口翻译成英文
  19. 读书百客:《临江仙引·画舸》赏析
  20. 使用conda安装pytorch时出现问题CondaSSLError: OpenSSL appears to be unavailable on this machine.

热门文章

  1. Win10电脑自带的录屏功能怎么打开?
  2. 【ZOJ题目分类】备忘
  3. append,extend和insert的区别
  4. 2016正在远去的消费互联网时代
  5. ks检验python代码_如何使用适当的标准化方法从KolmogorovSmirnov测试(ks测试)中获得正确的p_值和ks_值?...
  6. Android工程师面试准备知识点
  7. 【服务器数据恢复】服务器意外断电导致raid信息丢失的数据恢复
  8. 【零基础】MT4量化入门一:跑一个简单的boll
  9. IF-ELSE语句的高级用法(简便写法)----前端工作问题整理
  10. 软件自动化测试订飞机票,用 Selenium 搞定自动化测试项目,途牛搜机票。