- 博客(836)
- 资源 (2)
- 收藏
- 关注
原创 极值图论基础
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
1607
原创 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
562
原创 随机图论基础
一个n个点的无向图,最多有s=n(n-1)/2条边。假设每条边都有p的概率是存在的,有1-p的概率是不存在的,那么一个有k条边的图出现的概率是。
2024-01-31 11:43:34
1038
原创 整数流理论
那么,是否存在k流可以表述为:给定一个有向图和一个k阶交换群,能不能找到一个函数,把图的每个边赋予一个权值为1到k的整数,使得对于每一个点,进入该点的所有边的权值之和和离开该点的所有边的权值之和模k同余。他研究的具体问题是,给定一个有向图和一个k阶交换群,能不能找到一个函数,把图的每个边映射到群的一个非零元素,使得对于每一个点,进入该点的所有边的函数值之和等于离开该点的所有边的函数值之和。Tutte证明,是否存在k流和交换群的结构无关,只和k有关。所以,我们只需要考虑整数模k的群即可,这是最简单的交换群。
2024-01-29 20:23:21
574
原创 拓扑图论、常见的图
完全二分图是一种特殊的二分图,可以把图中的顶点分成两个集合,使得第一个集合中的所有顶点都与第二个集合中的所有顶点相连。很显然,主要的效率问题就是,在唯一的while循环里面,有1个从1到n的循环,只为了检索一些特定的目标出来。题目大意就是把图分成二分图,如果不能的话,输出-1,如果能的话,分别输出2个部分的点的数量和点的标号。完全图指的是,对于不同的2点,点A到点B之间恰好有一条边,这样的简单图称为完全图。拓扑图论研究曲面中的图嵌入、图的空间嵌入及作为拓扑空间的图,还研究图的浸入。
2024-01-29 16:27:58
1626
原创 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
1875
1
原创 区字棋中的最长非0链
也叫憋死牛棋。规则:棋盘一共只有5个点,双方各2个棋子,还有一个空格。先手必须移动左边的棋子,之后没有限制,2个棋子任意一个移动到空格皆可。无法移动者判负。
2024-01-21 00:24:22
567
原创 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
1087
原创 探险家
每个回合先翻n张牌,n是人数,然后出价决定排位,然后依次选一张牌,最后可能探险也可能跳过直接进入下一个回合。牌分为探险牌、技能牌和颜色牌,技能牌要么直接执行,要么换成钱,颜色有红黄蓝三种颜色,用于组建战队。所有探险的战队按照探险目标进行算分,得分最高的获得探险目标,得分相同的情况下排位最高的获得。开局随机选4个探险目标,每个探险目标由红黄蓝3个颜色共3个组成,如红红红,红黄蓝,等等。最多可以组建2个战队,每个战队最多由红黄蓝各1个组成,有缺的也是战队。如果翻出探险牌,则把探险牌放到等候区,重新翻牌。
2023-12-29 18:26:48
539
原创 基础概念、思维习惯、知识图谱
说明:刚开始写本文,因为本文涉及的内容会很多,部分内容要写清楚不容易,所以提前声明,现在只是第一阶段,先收集零散的内容,第二阶段再大刀阔斧地重构目录。
2023-12-25 17:36:44
581
原创 双向链表、双向循环链表
当转化完成以后,树中节点的左指针需要指向前驱,树中节点的右指针需要指向后继。这些子列表可以有一个或多个自己的子列表,以此类推,以生成如下面的示例所示的。对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。为了将每一级都序列化到一起,我们需要每一级中添加值为 null 的元素,以表示没有节点连接到上一级的上级节点。你会得到一个双链表,其中包含的节点有一个下一个指针、一个前一个指针和一个额外的。是一个带有子列表的节点。
2023-12-19 19:31:35
272
原创 rust 面向对象、trait
给结构体添加方法有2种,一种是直接实现,一种的带trait的实现。直接实现的方式中,数据和方法是对应的。带trait的实现中,trait是一组可以被共享的行为,只要实现了特征,你就能使用这组行为。
2023-12-16 15:54:16
1274
原创 软件安全设计
STRIDE 是由Microsoft安全研究人员于 1999 年创建,是一种以开发人员为中心的威胁建模方法,通过此方法可识别可能影响应用程序的威胁、攻击、漏洞,进而设计对应的缓解对策,以降低安全风险并满足公司的安全目标。STRIDE为每一种威胁英文的首写字母,。
2023-12-12 19:41:21
415
原创 二次创作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
359
原创 password game
因为加载不出来,这题自动满足了(可能是因为string ans14="',初始化之后没有再改,所以任何字符串都包含ans14)13是表示当前月相的emoji,今天是九月廿八(其实是一个个试的)但是C是罗马数字100,会违反规则(9),所以要用小写actor。12是要在元素周期表里面选一个2个字母的单词,先取He试试。14应该是一张街道图,要猜是哪个国家,也挺费劲的。这是一个逐步修改密码,满足越来越多的规则的游戏。15是包含一个闰年,4和8都是。直接第一个pepsi。
2023-11-12 00:11:43
610
原创 puzzle(1612)拼单词、wordlegame
找出尽可能多的单词。如果相邻的话(在任何方向上),你可以拖拽鼠标从一个字母(方格)到另一个字母(方格)。在一个单词中,你不能多次使用一个字母(方格)。虽然字母比较多,但是游戏限制了答案一定是单词(也只能用单词去试探)。类似,对于每个试探,会给出正确字母是哪些、正确但错误的字母是哪些。直接找2个包含10个不同字母的单词,且尽量其中的字母输入高频字母。这个鬼游戏太难了,基本上都是试出来的,这些单词都是什么鬼单词。这一下子就有4个字母了。
2023-11-11 22:57:06
513
原创 网页推理游戏
有一类游戏,通过解读html页面中的内容,推理出下一个html的url,从而进入下一关。这一类游戏可以有很多花样,可以有不同的主题。
2023-11-11 22:23:39
585
原创 历法、节日、节气
闰法则的作用是调整不同时间单位之间的比例不是整数的问题,理论上每个闰法则都是正闰和负闰,但根据目前人类采用的数值,只需要正闰法则。现在,我们可以把这个世界上的每一秒,都盘点清楚了。让我们从头捋一遍!
2023-11-02 11:05:55
603
原创 rust std、数据结构、算法
这里又把result当成结构体,用ok、err取出2个成员值,但至少有一个成员是None值。这也是个枚举值,要么是等于Option型的OK,要么是等于Option型的Err。这是一个枚举值,要么等于None,要么等于泛型Some。vector的默认排序,从小到大排序,输出4。2个模板类型可以一样也可以不一样。str类型要带取址符。(1)vector排序。
2023-10-27 17:21:18
1310
原创 拓扑几何学
X(P)是多面体P的欧拉示性数。如果多面体P是同胚于一个球面的,那么X(P)=2,如果P同胚于一个接有h个环柄的球面(下图),那么X(P)=2-2h。如果把最外面的五边形外面也算作一个面,那就是点数-边数+面数 = 2,即。可以把多面体映射成图论图,直接利用图论图的结论即可。对于一个单连通多面体,点数-边数+面数 = 2。在一个联通无向图中,点数-边数+面数 = 1。
2023-10-10 19:19:55
860
原创 python读取控制鼠标键盘
pyautogui库命令:pip3 install pyautogui==0.9.50如果不指定版本,可能会在使用时报错: module 'pyscreeze' has no attribute 'locateOnWindow'
2023-09-23 09:20:07
1346
原创 Opencv源码解析(2)算法
先是直方图统计,然后是对于纯色图片的特殊处理(直方图均衡结果等于原图),再是计算灰度变换表lut,最后把原图变成目标图。前两个参数是传2张图片,第三个是应用窗函数去除图像的边界效应,文档中推荐使用汉宁窗。前2个参数是输入输出图像的格式,接下来2个参数是核分离出来的行向量和列向量。前三个参数是输入图像、输出图像及深度,接下来2个参数是微分的阶。仿函数是根据灰度变换表lut,把原图变成目标图。算法没有重载,也没有重写,直接是父类的函数。继承DescriptorMatcher。灰度级HIST_SZ = 256。
2023-09-21 12:01:02
840
原创 单调队列
单调队列是双端队列的拓展,支持尾部插入,双端删除,其中的数据始终维持单调性,从而队首就是所需的最值信息。尾部插入过程中,为了维持单调性,可能需要先执行尾部删除(对应强制单调栈)。和单调栈类似,单调队列用于处理一个数组,扫描数组时,依次尾部插入一个数。而队首的删除操作,由外部决定调用时机。
2023-08-29 17:24:16
504
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅