自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nameofcsdn的博客

人工智能 https://www.captainai.net/csuzhucong/

  • 博客(826)
  • 资源 (2)
  • 收藏
  • 关注

原创 ACM模板一:线性表、栈、队列、背包

。。。

2023-10-07 10:39:24 402

原创 ACM模板二:树、图、并查集、覆盖

。。。

2023-09-13 16:50:52 336

原创 ACM模板三:二分、字典树、字符串、几何、DP

。。。

2023-06-03 00:46:12 614

原创 ACM模板四:代数、快速幂、数论、组合

。。

2023-01-18 14:52:18 2426

原创 育儿百科系列

。。。

2022-10-15 21:42:06 1095

原创 所有博客导航

CSDN多年的使用经验告诉我,最朴素的整理方式才是最稳定最便于维护的,毕竟,实在是受够了CSDN过于频繁的格式更新和各种乱码。于是,2020年3月19日,我又重新整理了一遍,把这篇博客完全重写了。主要变化点是:把文章的链接都去掉了,只留下链接文本,而且把各种乱七八糟的缩进和项目列表都干掉了,只在每一个最深的目录统计文件数,免得更新的时候要维护很多数量的一致性,比较麻烦而且易错。2020年10月18日,因为CSDN恶心的限制,一篇文章不能超过64000字,所以我不得不用Markdown编辑器重写这篇博客。同

2020-12-29 01:13:28 10014 7

原创 五子棋人机对战完整代码

目录〇,前言一,五子棋棋盘二,五子棋比赛规则1,行棋顺序2,判断胜负三,重要棋型解释1,五连:2,活四:3,冲四:4,活三:四,禁手规则1,三三禁手2,四四禁手3,长连禁手五,代码解释1,棋子表示2,棋盘表示3,flat技术4,棋型判断和禁手判断4.1 活四4.2 冲四4.3 活35,AI算法6,AI的.........

2018-02-17 10:00:16 58418 100

原创 图DP

输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]输入:matrix = [[3,4,5],[3,2,6],[2,2,1]]下标 5 -> 下标 6 -> 下标 4 -> 下标 1 -> 下标 3。- 节点 6 有 5 个祖先 0 ,1 ,2 ,3 和 4。- 节点 7 有 4 个祖先 0 ,1 ,2 和 3。- 节点 4 有 4 个祖先 0 ,1 ,2 和 3。下标 0 -> 下标 4 -> 下标 1 -> 下标 3。- 节点 3 有 3 个祖先 0 ,1 和 2。

2024-04-04 22:04:55 843

原创 二分图、匈牙利算法

完全二分图是一种特殊的二分图,可以把图中的顶点分成两个集合,使得第一个集合中的所有顶点都与第二个集合中的所有顶点相连。很显然,主要的效率问题就是,在唯一的while循环里面,有1个从1到n的循环,只为了检索一些特定的目标出来。题目大意就是把图分成二分图,如果不能的话,输出-1,如果能的话,分别输出2个部分的点的数量和点的标号。二分图是指,可以把图中的顶点分成两个集合,使得每个集合中的所有点之间都是互不相连的。表面上有3层循环,实际上外面的2层while循环是有限制的,合起来也就是大约n而已。

2024-04-03 12:04:58 815

原创 脑机辅助推导算法

如果有一些灵感,但是没有明确的思路,只有一个非P时间复杂度的垃圾算法,那就可以在脑机的辅助下,逐步推导出什么才是合适的算法。依次编号1-12,找到缺失的线段,一般都是2个缺口,把2个缺口id记为pair(a,b),1<=a<b<=12。好的,我已经找到了特征,简单来说,1的出口比较少,其次是2的下边出口比较少,3,10,11,12的出口比较多。对于缺口数是2的,按照迷宫规则,判定这2个缺口是否连通,如果不连通,单独报告给我。统计某个格子,如果有哪个格子的缺口数不是2,单独报告给我。

2024-03-31 16:07:14 1005

原创 puzzle(1122)连线迷宫

。。。

2024-03-28 00:39:49 210

原创 rust编译、元编程

连接, 6和“2,3,4”之间有逗号连接,用什么连接取决于宏的匹配格式里面写的是什么。而2,3,4匹配的是$($y:expr),*这个类似正则表达式的东西,表示可以匹配任意多个表达式,用,连接起来。上面的$sth:expr表示匹配到一个表达式,expr是表示表达式这个范畴。声明宏是半卫生宏,变量标识符不会造成符号冲突,符合卫生性。声明宏的作用类似于代码替换,匹配语法和match很像。但是在宏内部定义的泛型和生命周期标识符是不卫生的。过程宏又分为函数宏、属性宏、派生宏。rust的宏分为声明宏、过程宏。

2024-03-19 20:30:50 548

原创 次梯度、次梯度下降

。。。

2024-03-15 10:18:17 870

原创 近端梯度下降

。。。

2024-03-15 10:12:44 367

原创 非光滑非凸规划

参考。

2024-03-14 17:02:34 384

原创 魔域枫叶魔方

所谓的中心块,其实就是每一面正中心里面可以看到颜色,是凹进去的,并没有明显的块。首先还是用简单的操作技巧,尽量往接近复原的方向努力,看看可能会遇到什么样的情况。不难推断出,只要把交换这2个三角的方法记录成公式,就一定能解决所有的三角归位问题。6个中心块和8个角块,另外每个面还有构成正方形的8个块(4个椭圆和4个三角)。整体几何形态有2种,一种是正方体,一种是正方体斜着切开成2半,旋转60度。现在只剩黄色和橙色2个正方形没有复原,那么接下来怎么办?即使还没有想好怎么交换这2个三角,我们也。

2024-03-13 23:55:33 365

原创 星星魔方

。。。

2024-03-11 23:09:59 357

原创 如何不患心肌梗塞

。。。

2024-02-24 10:53:33 898

原创 数组旋转变换分析

其中1,5是一对,2,6是一对,3,7是一对,4,8是一对。假设男生是a b c d e f,女生是a b c d e。此时男生是b c d e f a,女生是c d e a b。男生是b c d e f a,女生是c d e a b。男生是d e f a b,女生是e a b c。屁股下面的x+3和剩下的x+7一定满足差值是4。初始化:[1,2,3,4,5,6,7,8]男生是f a b d,女生是b c e。男生的f和女生的e一定是x+7。男生是b d f,女生是e b。也就是说,剩下的一定是x+7。

2024-02-09 23:12:07 480

原创 极值图论基础

PS:取到最大值的图称为极图,如果有唯一的极图,我们就说满足条件的极图是什么,不需要赘述边数了。定理:对于任意s>=t>=2,存在常数C,对于任意n,以完全二部图Ks,t为禁图的图的边数不超过。存在常数C,对于任意t>=2,任意s>C^t,以完全二部图Ks,t为禁图的图的最大边数为。猜想:对于任意s>=t>=2,以完全二部图Ks,t为禁图的图的最大边数为。以完全图K(r+1)为禁图的n个点的图,唯一的极图是图兰图Tr,n。猜想:对于任意k>=2,以2k个点构成的偶圈为禁图的图的边数为。

2024-02-08 11:08:17 1157

原创 P、NP、NPC、NP困难

如果可以把问题A的解法表述成,先用多项式时间做输入转换,再调用问题B的算法多项式次,再用多项式时间做输出转换,那么我们说问题A可以多项式规约成问题B。这个已经被证明是NPC问题,只要证明了存在一个NPC问题,那么就有很多问题都很容易证明是NPC问题。如果所有NP问题都可以多项式归约到某个问题,则称该问题为NP难问题,也叫NP困难问题。如果P等于NP,那么NPC是NP的真子集,几乎所有的NP问题都是NPC问题。如果一个NP问题是NP难问题,则称为NP完全问题,也叫NPC问题。显然,P问题一定是NP问题。

2024-02-06 11:12:03 389

原创 随机图论基础

一个n个点的无向图,最多有s=n(n-1)/2条边。假设每条边都有p的概率是存在的,有1-p的概率是不存在的,那么一个有k条边的图出现的概率是。

2024-01-31 11:43:34 865

原创 整数流理论

那么,是否存在k流可以表述为:给定一个有向图和一个k阶交换群,能不能找到一个函数,把图的每个边赋予一个权值为1到k的整数,使得对于每一个点,进入该点的所有边的权值之和和离开该点的所有边的权值之和模k同余。他研究的具体问题是,给定一个有向图和一个k阶交换群,能不能找到一个函数,把图的每个边映射到群的一个非零元素,使得对于每一个点,进入该点的所有边的函数值之和等于离开该点的所有边的函数值之和。Tutte证明,是否存在k流和交换群的结构无关,只和k有关。所以,我们只需要考虑整数模k的群即可,这是最简单的交换群。

2024-01-29 20:23:21 434

原创 拓扑图论、常见的图

完全二分图是一种特殊的二分图,可以把图中的顶点分成两个集合,使得第一个集合中的所有顶点都与第二个集合中的所有顶点相连。很显然,主要的效率问题就是,在唯一的while循环里面,有1个从1到n的循环,只为了检索一些特定的目标出来。题目大意就是把图分成二分图,如果不能的话,输出-1,如果能的话,分别输出2个部分的点的数量和点的标号。完全图指的是,对于不同的2点,点A到点B之间恰好有一条边,这样的简单图称为完全图。拓扑图论研究曲面中的图嵌入、图的空间嵌入及作为拓扑空间的图,还研究图的浸入。

2024-01-29 16:27:58 1007

原创 rust 泛型、多态

无论是c++ STL还是rust std,里面所有的数据结构都是泛型的,c++和rust的结构体也类似,可以是泛型的也可以是非泛型的。所以,泛型函数内部对T的约束条件,都通过指明T所包含的trait的方式进行说明。Ord特征中并没有eq函数,但是Ord特征间接继承了PartialOrd,所以有Ord特征的类型肯定是可以使用==的。对于绝大部分trait,模板类型都是默认不包含该trait的,需要特征约束才能说明该类型具有该trait。作为泛型参数的常数类型,可以是所有整数类型、bool类型、char类型。

2024-01-27 15:28:15 1433 1

原创 区字棋中的最长非0链

也叫憋死牛棋。规则:棋盘一共只有5个点,双方各2个棋子,还有一个空格。先手必须移动左边的棋子,之后没有限制,2个棋子任意一个移动到空格皆可。无法移动者判负。

2024-01-21 00:24:22 418

原创 2种数控棋

玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。如果一开始Alice取了一堆,Bob取了两堆,然后Alice再取两堆。如果他选择2(或者1),那么玩家2可以从1(或者2)和5中进行选择。最终,玩家1(234分)比玩家2(12分)获得更多的分数,所以返回 True,表示玩家1可以成为赢家。给定一个表示分数的数组,预测玩家1是否会成为赢家。所以,玩家1的最终分数为 1 + 2 = 3,而玩家2为 5。

2024-01-19 11:50:01 933

原创 荣耀之城(富饶之地)

。。

2023-12-30 22:35:59 1152

原创 探险家

每个回合先翻n张牌,n是人数,然后出价决定排位,然后依次选一张牌,最后可能探险也可能跳过直接进入下一个回合。牌分为探险牌、技能牌和颜色牌,技能牌要么直接执行,要么换成钱,颜色有红黄蓝三种颜色,用于组建战队。所有探险的战队按照探险目标进行算分,得分最高的获得探险目标,得分相同的情况下排位最高的获得。开局随机选4个探险目标,每个探险目标由红黄蓝3个颜色共3个组成,如红红红,红黄蓝,等等。最多可以组建2个战队,每个战队最多由红黄蓝各1个组成,有缺的也是战队。如果翻出探险牌,则把探险牌放到等候区,重新翻牌。

2023-12-29 18:26:48 478

原创 基础概念、思维习惯、知识图谱

说明:刚开始写本文,因为本文涉及的内容会很多,部分内容要写清楚不容易,所以提前声明,现在只是第一阶段,先收集零散的内容,第二阶段再大刀阔斧地重构目录。

2023-12-25 17:36:44 516

原创 双向链表、双向循环链表

当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继。这些子列表可以有一个或多个自己的子列表,以此类推,以生成如下面的示例所示的。对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。为了将每一级都序列化到一起,我们需要每一级中添加值为 null 的元素,以表示没有节点连接到上一级的上级节点。你会得到一个双链表,其中包含的节点有一个下一个指针、一个前一个指针和一个额外的。是一个带有子列表的节点。

2023-12-19 19:31:35 186

原创 rust 面向对象、trait

给结构体添加方法有2种,一种是直接实现,一种的带trait的实现。直接实现的方式中,数据和方法是对应的。带trait的实现中,trait是一组可以被共享的行为,只要实现了特征,你就能使用这组行为。

2023-12-16 15:54:16 1084

原创 B树、B+树

一,B树

2023-12-13 23:55:46 480

原创 网络安全基础

。。

2023-12-13 10:00:06 167

原创 软件安全设计

STRIDE 是由Microsoft安全研究人员于 1999 年创建,是一种以开发人员为中心的威胁建模方法,通过此方法可识别可能影响应用程序的威胁、攻击、漏洞,进而设计对应的缓解对策,以降低安全风险并满足公司的安全目标。STRIDE为每一种威胁英文的首写字母,​​​​​​。

2023-12-12 19:41:21 270

原创 开源软件基础

。。。

2023-12-12 17:09:05 163

原创 二次创作Z01语言

预处理剔除所有非0和1的字符之后,采用固定分词方式,从左往右每三个字符构成1个token,所以一共有8种token。Ascii码分别是72,101,108,108,111,32,87,111,114,108,100,33。聪明的读者或许已经看出来了,我这个只是二次创作,毕竟有趣的灵魂互相抄袭。PS:预处理不是重点,本文不涉及,假设输入的都是只有0和1的字符。如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处。如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处。指针指向的字节的值加一。

2023-11-26 17:13:46 300

原创 电子商务、搜索引擎

。。

2023-11-18 22:56:28 1478

原创 计算机多媒体

。。。

2023-11-17 22:20:22 375

原创 软件测试

一,敏捷软件开发二,软件测试

2023-11-17 20:09:27 253

五子棋人机对战完整代码

五子棋人机对战完整代码,有完整的思路解析、AI

2021-12-15

独立钻石棋问题求解的源代码

独立钻石棋问题求解的源代码

2016-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除