获取金币 治理家业,点数大于3,5金币 投资事件获取金币,20金币与队友,40金币 赌马、赌狗(全选月牙,最后只赌1个金币),双倍金币 空置的宅邸,放入治理家业可以有额外金币 金奢靡用净化之火,30金币 金币放入俺寻思,会有打工 获取情报 上朝 浴场 书店 玛希尔长期研究 情报卡放进俺寻思,触发情报卡事件可以获得 获取装备 空置宅邸,异国商人出租,卖装备 阿迪莱,带宝剑 净化之火,金纵欲、杀戮、征服;魅力8、社交8、隐匿8 妖精国的书,完成冒险得到提灯,放入俺寻思 获取道具 侠名大于等于10,生命权杖,选前两个 星空之镜、小鳄鱼 热气球,玛希儿研究 金猫...
ch1 绪论人工智能相关概念: 人工智能的定义 1)四个维度:(像人,理性)(思考,行动); 2)业界通常认为“理性地行动”是作为AI的最重要维度; 人工智能的*本质问题 研究如何制造出智能机器或系统,来模拟人类智能活动的能力,以延伸人们智能的科学。 人工智能名字的由来 1956年在美国召开的达特茅斯会议,提出了Artificial Intelligence;(约翰麦卡锡、马文明斯基); 人工智能未来的研究目标 近期目标:建造智能计算机代替人类的部分智力劳动; 远期目标:用自动机模仿人类的思维过程和智能行为; ch2 搜索搜索概述什么是搜索问题: 搜索问...
随着大学课程的进行,每学期总是会被要求搭建各种各样的运行环境,但在学习完成之后通常我不会再用到它们,所以用这篇blog来记录我搭建过的一些环境,简单描述它们的过程,以便我后续能记得我做过哪些改动,从而可以更好地管理我的电脑空间。 default我在Mac上安装了命令行工具、Vscode,配置了C/C++的基本环境(参照[bilibili]) 于是这一部分我想记录一些命令行常用命令 查看当前目录的大小du -sh .,这个命令会显示磁盘使用情况,包括当前目录以及所有子目录 搭建hexo(Mac) 从github上clone了homebrew的仓库...
这篇blog用来记录我练习ccf csp认证的时候做过的习题 梦境巡查 第36次 task2缓存模拟 第36次 task3大模拟题先整理信息: 有N组缓存,每组缓存中有n块 内存块k,存储在k/n组中,n个缓存块的任意一个 操作,读、写内存块,分为两种情况:1)k/n组中存储了数据(某行),命中;2)k/n组中没有数据(所有行),没有命中 命中,分为两种情况:1)读,无特殊处理;2)写,修改缓存行,标记对应内存块是修改了的,实际还没有改内存块 未命中,先进行载入,再按照命中处理 载入,1)如果k/n组有未使用的,就...
在通过网上一些资料稍微系统学习了一下DFS相关的内容,还有初步接触了一些DP的基础知识之后,我开这篇blog用来记录我刷相关的练习题的思路 打家劫舍 Ⅱ leetcode213第一版代码是错误的。 我的思路是,现在房屋形成了一个环,我可以任意枚举一个位置入手,把环剪开,此时还原成房屋是一排的情况,然后套用Ⅰ的dp模板就可以了。 这样做的问题在于,dp模板在新的一排房屋上,相当于状态树是从i+1的位置开始的,但是dp模板是套用在从0开始的。也就是说状态树结点上前后结点的值有严格的依赖,任意剪切环,形成的数组,从前往后的dp并不对应原始数据的状态树。 以下是...
这篇blog用来整理一些常见的可以使用深度优先搜索的问题模板 写在最前面在这篇blog中会高频地出现三个词汇,DFS、递归、回溯,实际上DFS与后二者的关联是十分密切的。 狭义上来说,DFS是在图上面做搜索的一种算法,它使用深度优先,依次处理各个结点。可以用递归函数的形式实现,也可以用循环+栈的形式实现。 但是从广义上来说,对于可以枚举状态的问题,问题的状态转移的过程本就可以抽象成一棵树,而树本质上就是一个特殊的图。当我们使用递归函数,搜索问题的各个状态的时候,就可以看作,我们是在一张“特殊的”图上,做DFS。 关于回溯与它们的联系,后面再进行补充。 基...
这篇blog用来整理图有关的数据结构与算法的知识 图的存储结构邻接矩阵邻接矩阵本质上就是一个二维数组,分为两种情况 无权图,m[i][j] == 1代表vi有到vj的边;否则为0,代表不存在这样的边 有权图,元素为inf代表两点间不存在边,否则存在,且对应元素值为权重 从数据结构上来说,有向无向图没有区别,都是二维数组,且均适用于上面描述的两种情况。只是无向图有m[i][j] == m[j][i]恒成立的性质 链式前向星本质上是数组实现的静态邻接表 掌握的关键在于记住三个点 使用到的数据结构即其含义 初始化的方式 ...
在平常练习算法题的过程中,有的题目常常涉及到使用一些基本的小算法作为整个解决方案中的一部分,例如gcd、进制转换,乃至KMP等等,我用这篇blog对这些小算法。我在这篇blog中对它们做一个综合的整理。 gcdint gcd(int x,int y){ if(x%y == 0)return y; else return gcd(y,x%y); } 辗转相除法求最大公约数 进制转换lcmint lcm(int x,int y) { return x*y/gcd(x,y); } 利用最大公约数求最小公倍数 Fibona...
在过去的算法竞赛中,我常常接触到一些库中的工具,例如函数、容器、类等等,但是总是零零散散的,记忆也不是很牢,每次都是用到了现查。于是我用这篇blog做一个简单的整理 头文件algorithmmax()函数在 C++ 中,max 函数是一个非常实用的函数,用于比较两个或更多数值并返回其中的最大值。这个函数定义在 algorithm 头文件中。 #include <iostream> #include <algorithm> // 引入algorithm头文件以使用max函数 int main() { int a = 10;...
之前零零散散地接触过一些动态规划的问题,用这篇blog来稍微系统性的记录一下 动态规划的基本步骤 定义数组的基本含义(模板或是灵感) 找到数组元素间的关系(dp的递推式,模板或是灵感) 找到边界的初始值(基本含义定义好了这个通常不难) 递推填表得到需要的元素(结合初始值以及递推式,考虑应该如何进行递推填表,确保新填一个元素需要用到其它元素的时候,其它元素的值已经被填过了) 背包问题01背包(二维解法)问题描述:有n种物品,每种物品只有一个。每个物品有自己的重量和价值。有一个给定容量的背包,问这个背包最多能装的最大价值是多少。 step1定义数组元素的含义...