有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 200|回复: 2
收起左侧

[其它] 【章某鱼的学习笔记】想了下还是都放在一个帖子里比较好

[复制链接]

签到天数: 8 天

连续签到: 1 天

[LV.3]偶尔看看II

11

主题

22

好友

6987

积分

序章

积分
6987
发表于 2019-11-12 22:33:35 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
本帖最后由 1234567章鱼君 于 2019-11-12 22:44 编辑

一楼就拿来当个目录什么的好了
以后要翻笔记的时候也方便一些
要是一直开贴记笔记应该是要刷屏了orz

记忆化搜索
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

签到天数: 8 天

连续签到: 1 天

[LV.3]偶尔看看II

11

主题

22

好友

6987

积分

序章

积分
6987
 楼主| 发表于 2019-11-12 22:39:46 | 显示全部楼层
        记忆化搜索
在网上找了一个比较典型的记忆化搜索的题目
对于一个递归函数w(a,b,c)
如果 a<=0 or b<=0  or  c<=0 就返回值1
如果 a>20 or b>20 or c>20就返回w(20,20,20)
如果 a<b并且b<c 就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)
其它的情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long LL;
  4. const int MAX=30;
  5. int f[MAX][MAX][MAX];        //用数组记录,全局变量的初始值为0
  6. int w(int a,int b,int c)
  7. {
  8.         if(f[a][b][c]!=0)        //不等于0即为已经搜索过,可以返回该值
  9.                 return f[a][b][c];
  10.         if(a<=0||b<=0||c<=0)
  11.                 return 1;
  12.         if(a>20||b>20||c>20)
  13.                 return f[a][b][c]=w(20,20,20);
  14.         if(a<b&&b<c)
  15.                 return f[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c-1);
  16.         return f[a][b][c]=w(a-1,b,c)+w(a-1,b-1,b)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
  17. }        //返回时用f[a][b][c]=是为了记录该处的值,减少重复搜索的次数
  18. int main()
  19. {
  20.         int a,b,c;
  21.         while((scanf("%d%d%d",&a,&b,&c))!=EOF)
  22.         {
  23.                 cout<<w(a,b,c)<<endl;        //这里是偷懒直接输出要搜索的值了,具体输出看具体题目要求
  24.         }
  25.         return 0;
  26. }
复制代码
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 8 天

连续签到: 1 天

[LV.3]偶尔看看II

11

主题

22

好友

6987

积分

序章

积分
6987
 楼主| 发表于 2019-11-12 22:45:24 | 显示全部楼层
我果然是一个需要例题帮助才能理解的人
有例题真的会比较容易懂√
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(基宅) ( 粤ICP备18082987号-1 | 浙公网安备 33010902001746号 )

GMT+8, 2024-4-25 21:08 , Processed in 0.148997 second(s), 11 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表