题目链接:

普通版:

https://www.luogu.org/problemnew/show/P1028

数据加强版:

https://www.luogu.org/problemnew/show/P2240

中间插一段,奇怪了,我明明想到的是最好的那种递推方法,结果写着写着忘记了,写成最差的递推方法

所以中间插一段被我遗忘的好方法

这个也是这题的书上的答案

#include<bits/stdc++.h>
using namespace std;
int a[];
int main()
{
int n;
cin>>n;
a[]=;
for(int i=;i<=n;i++)
{
a[i]=a[i-];
if(i%==)
a[i]=a[i-]+a[i/];
}
cout<<a[i];
return ;
}

稍微解释一下:

举个例子就好了

a[5]=a[4]

a[6]=a[5]+a[6/3],那个a[6/3]就是a[3],因为相对于a[4]来说a[6]多了个a[3]的全部子数字

因为a[4]只能分解1~2

a[5]同a[4]一样

而a[6]可以分解1~3

所以a[6]多个a[3]

以下为自己写的垃圾方法:

基本思路:

@1:基本递推:

第n个数,它产生n/2个新的数,由于1~n/2都小于n,所以可以用递推,都计算到n了那么1~n/2的值肯定都已知了

@2:边缘条件:

我们把n=1和n=0时结果都为1都一开始就初始化好,作为初始条件

@3:细节

ps:这个地方好像有更好的办法而不是用奇葩的+1法,可是我懒得想了

在具体的数组中,a[n]应该是不包括n本身的所有子数字数目,为什么不能包括本身呢,因为后面要通过前面的数据递推

比如说a[6]=6/2 +a[1] + a[2] +a[3],那么其实是a[6]=   1+a[1]   +    1+a[2] +        1+a[3],所以最后都要加回来

@4:规律

这个结果有奇偶的规律,比如说n=3与n=2结果相同,n=19与n=18结果相同,也就是只要计算一半就好了

AC代码(普通版和数据加强版都适用)

#include<bits/stdc++.h>
using namespace std;
int a[];
int main()
{
std::ios::sync_with_stdio(false);
int n;cin>>n;
if(n<=)
{
cout<<+<<endl;
return ;
}
else
{
for(int i=;i<=n+;i++)
{
if(i%==)
{
a[i]=i/;
for(int j=;j<=i/;j++)
a[i]+=a[j];
}
else
a[i]=a[i-];
}
}
if(n%==)
cout<<a[n]+<<endl;
else
cout<<a[n/*]+<<endl;
}

最新文章

  1. 地理数据库的类型geodatabase类型
  2. CodeReview Learning
  3. 如何在Docker中部署DzzOffice
  4. TabControl控件
  5. SHELL学习笔记----IF条件判断,判断条件
  6. 【技巧】DataGridView,ListView重新绑定时保持上次滚动位置
  7. 【BZOJ2434-[Noi2011]】阿狸的打字机(AC自动机(fail树)+离线+树状数组)
  8. 104. Maximum Depth of Binary Tree(C++)
  9. HDU_2051——十进制到二进制转换
  10. BZOJ 3143: [Hnoi2013]游走 [概率DP 高斯消元]
  11. Java路径类问题总结
  12. 线性表-&gt;链式存储-&gt;循环链表
  13. IOI2008 island
  14. 关于阿里云图片识别接口的demo
  15. angularjs 与 UEditor开发,添加directive,保证加载顺序正常
  16. 《编写可维护的javascript》读书笔记(上)
  17. [PHP] ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
  18. Android-----完全隐藏软键盘
  19. Spark异常:A master URL must be set in your configuration处理记录
  20. shell source命令说明

热门文章

  1. C#文件读写参考
  2. Codeforces - 909C - Python Indentation - 简单dp
  3. Codeforces732D Exams
  4. PAT团体程序设计天梯赛 - 模拟赛
  5. Linux下下载百度网盘资料
  6. C#程序结构与基本语法
  7. jsp 接收汉字参数乱码
  8. bzoj 4513 [Sdoi2016]储能表
  9. Vue项目搭建流程 以及 目录结构构建
  10. subline应用之常用插件