自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 数据结构c++线性表 简单树 特殊树 简单图 链表:单链表、双向链表、循环链表 栈 队列 树的定义及其相关概念 树的父亲表示法 二叉树的定义及其基本性质 二叉树的孩子表示法等 关于c++数据结构的干货

链表是一种线性数据结构,不同于数组,链表的元素(通常称为节点)在内存中不是连续存储的。每个节点包含两部分:数据和指向下一个节点的指针(在双向链表中还可能有指向前一个节点的指针)。链表允许动态地添加、删除元素,相比数组更加灵活。链表作为一种重要的数据结构,可以在不同情况下提供灵活的存储和操作方式。单链表、双向链表和循环链表都有各自的特点,根据实际需求选择合适的链表类型。在 C++ 中,我们可以利用指针和动态内存分配来实现这些链表,从而更好地应对问题的复杂性。

2023-08-15 18:31:14 242

原创 一些有难度的c++题目思路讲解--第二期2023/8/9 [IOI] 数蘑菇与[IOI] 网络站点与[IOI] werewolf 狼人与[IOI] 最罕见的昆虫与[IOI2008] Teleporte

*最罕见**昆虫类型的基数是 $1$,是因为类型 $7$、类型 $0$ 和类型 $100$ 的分组均有最少数目的昆虫,每个分组都有 $1$ 只。一个由互不相同的站点所组成的站点序列 $a_0,a_1,\ldots,a_p$ 被称作一条从站点 $x$ 到站点 $y$ 的路径,当且仅当 $a_0=x$,$a_p=y$,并且序列中每两个连续的站点都是邻居。对于所有 $0 \le i \le n-1$,$s[i]=0$ 表示蘑菇 $i$ 的种类是 $A$,$s[i]=1$ 表示蘑菇 $i$ 的种类是 $B$。

2023-08-09 10:48:22 247

原创 一些有难度的c++题目思路讲解--第一期2023/8/8 小Q的修炼与旷野大计算

本期博客将分为10篇讲解一些有点挑战的题目,第一期是所有人都可以看到,但后面的关注我才能看到哦!有望大家的支持!

2023-08-08 12:13:54 304

原创 一道KUN出的c++题目

奶酪从工厂里生产出来的时候,一共有4种形状,编号为1~4,分别是圆形角:72度,144度,216度,288度的扇形。他觉得这样的盒子太浪费资源了,于是大力哥就想出了一个很好的办法,他建议厂商把奶酪的盒子设置成圆形的,半径和奶酪的半径一致。这样就可以把多块奶酪装在一个盒子里了,也就是说,一块1号的奶酪和一块4号的奶酪可以恰好装入一个盒子里了,一块2号的奶酪和一个3号的奶酪可以装入一个盒子里。一行四个数字,表示1~4号奶酪的数量,数字间用一空格隔开,4个数字都在0~1000之间。每个测试点时限:1.0秒。

2023-04-05 15:52:35 146

原创 ASCII 0-127

0000NUL1101SOH2202STX3303ETX4404EOT5505ENQenquiry6606ACK7707BELbell81008BSbackspace91109HT10120ALFline feed11130BVT12140CFFform feed13150DCR14160ESOshift out15170FSIshift in162010。

2023-02-25 23:16:41 404

原创 1000:入门测试题目[不一样的题解][85种写法]【A+B问题】

算法一、DFS一号#include using namespace std;int n = 2, a[5], s;int dfs(int x, int sum) { if (x > n) return sum; int i = dfs(x + 1, sum); int j = dfs(x + 1, sum + a[x]); if (i == s) return i; if (j == s) return j; return

2023-02-20 17:19:12 1412

原创 线段树c++

这样的好处是,对于很大的区间以及很少的操作数量,可以建立一棵“虚”的树,逻辑上存在很多节点,但是实际上用不到的节点不予储存,直到访问的时候再去产生节点。继续上面的例子,如果我把位置0的数字从4改成了3,区间[0,0]的值应该变回3,但实际上,由于区间[0,1]有一个“添加了1”的标记,如果直接把值修改为3,则查询区间[0,0]的时候我们会得到3+1=4这个错误结果。事实上,一棵线段树的根节点表示的是“整体”的区间,而它的左右子树也是一棵线段树,分别表示的是这个区间的左半边和右半边。另一种是“四叉树”。

2023-02-18 11:26:32 511

原创 1312:【例3.4】昆虫繁殖

每对成虫过xx个月产yy对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过xx个月产卵),问过zz个月以后,共有成虫多少对?由于新成虫每过x个月产y对卵,则可对每个A[i]作如下操作: A[i+k*x+2]:=A[i+k*x+2]+A[i]*y (1

2023-02-18 10:56:55 137

原创 [ikun]卡特兰数

不符合要求的数的特征是由左而右扫描时,必然在某一奇数位2m+1位上首先出现m+1个0的累计数和m个1的累计数,此后的2(n-m)-1位上有n-m个 1和n-m-1个0。如若把后面这2(n-m)-1位上的0和1互换,使之成为n-m个0和n-m-1个1,结果得1个由n+1个0和n-1个1组成的2n位数,即一个不合要求的数对应于一个由n+1个0和n-1个1组成的排列。//C(0) = 1;h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2);

2023-02-12 10:59:24 379

原创 [IKUN游戏]狼人杀c++

【代码】[IKUN游戏]狼人杀c++

2023-02-04 09:40:10 468

原创 【坤坤讲师--图】KM算法

在寻找增广路的过程中,检查边(i,j)时,如果它不在相等子图中,则让slack[j]变成原值与A[i]+B[j]-w[i,j]的较小值。初始时为了使A[i]+B[j]>=w[i,j]恒成立,令A[i]为所有与顶点Xi关联的边的最大权,B[j]=0。若由二分图中所有满足A[i]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。3)X端不在交错树中,Y端在交错树中的边(i,j),它的A[i]+B[j]的值有所增大。现在的问题就是求d值了。

2023-02-03 21:11:57 420

原创 【坤坤讲师--图】Dinic

比如我们找到了一条增广路径,这条增广路径所增加的流量为 C,则这条增广路径上必然有一条边残余容量为 C,这是我们不必又从起点开始寻找增广路,而是从 i 顶点出发找增广路,这样就减少了重复计算,提高了效率,这好像就是所说的多路增广。首先我们得知道,Dinic的基本算法步骤是,先算出剩余图,然后用剩余图算层次图,然后在层次图里找增广路。不知道你想到没有,这个层次图找增广路的方法,恰恰就是Ford-Fulkerson类算法的时间耗费最大的地方,就是找一个最短的增广路。层次图是什么东西呢。

2023-02-03 21:09:32 1724

原创 【坤坤讲课--图】Dijkstra与prim算法的比较

is[i]记录某一阶段到原点的“最短距离”,用ans累加;Dis[i]=0时表示该点已更新过。ijkstra与prim算法的比较。is[i]存储i到原点最短距离。v数组记录更新过的顶点。

2023-02-03 21:06:56 406

原创 【IKUN讲师】C++基础教程学习

1.1 C++程序结构 (Structure of a program)下面我们从一个最简单的程序入手看一个C++程序的组成结构。// my first program in C++#include using namespace std;int main() { cout

2023-02-03 16:58:00 523

原创 [小黑子看过来]算法各基础题型集合

有一个无向图,图中要么有两个奇点要么0奇点,如果是欧拉回路请从第一个点(1号点)为起点开始遍历,如果有两个奇点,则以字典序大的为起点开始遍历,在遍历的过程中,字典序小结点的先遍历。第一行两个整数,n和e,表示有n个结点(结点编号为1~n),e条边。请以结点 1 为起点,按dfs(深度优先搜索)、优先访问小编号结点的顺序遍历并输出该图。请以结点 1 为起点,按广度优先搜索(bfs)、优先访问小编号结点的顺序遍历并输出该图。第一行为两整数,n 和 e ,表示 n 个顶点,e 条边。

2023-02-03 09:22:04 271

原创 适合小黑子的资料【IKUN】

他从原点(0,0)牵出一根通电的电线,连接格点(n,m)(0

2023-02-02 11:30:53 386

原创 一堆IKUN知识点

s[k,1]:=1;s[1,k]:=1;//将一个势为50的集合分成5份的拆分数。1 6 4 -> 8 4(用最少的步数)说明:当n=8 时有30条对角线分别用了l和r数组控制,(4)8数码难题 :2 8 3 1 2 3。

2023-01-31 19:32:49 672

原创 IKUN 排序精讲

if (ir) or (a[i]a[j] then //降序:a[j-1]a[j] then //降序:a[i]

2023-01-31 19:32:02 530 1

原创 IKUN的讲解 链

我们可以对广义表进行计算,例如,求出所有元素中的最大元素,或者计算表中所有元素的和。若队列q不空,队首元素ch出队,读入广义表ch,将其元素存入T[ch]中,表ch中出现的字母再依次入队,……假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。后缀表达式的处理过程如下:扫描后缀表达式,凡遇操作数则将之压进堆栈,遇运算符则从堆栈中弹出两个操作数进行该运算,将运算结果压栈,然后继续扫描,直到后缀表达式被扫描完毕为止,此时栈底元素即为该后缀表达式的值。

2023-01-31 19:30:11 475

原创 高精度算法讲解

while (c[len]>=10) do begin {处理最高位的进位}while(compare(d,b)>=0) do {即d>=b}

2023-01-31 19:29:28 338

原创 Pascal中的常用数学函数

定义:function Frac(X: Real): Real;定义:function Int(X: Real): Real;注意:X 是实型表达式. 返回实型的X的平方根. 平方:function Sqr(X): (Same type as parameter);定义:function Abs(X): (Same type as parameter);注意:X 是实型或整型表达式.返回值的类型和X的类型一致,大小是X的平方,即X*X.6.求平方根函数sqrt(x)和平方函数sqr(x)

2023-01-31 19:28:11 577

原创 pascal过程与函数

若指定一个整数参数的话,Random返回一个大于或等于0,且小于该参数的整数,若不指定整数,Random返回一个大于或等于0,且小于1的实数。说明 Write接收一个参数表,并将它写入缺省输出设备,当第一个参数为文件变量时,输出指向该文件,Writeln仅用于文本文件,操作与write相同,但在输出结束时加上回车和换行。若是无类型文件,可用整数I说明记录大小。说明 Concat将任意多个字符串联在一起,返回所有字符串的联接,如果联接后的字符长度大于255,Turbo Pascal出现运行错误。

2023-01-31 19:26:38 253

原创 Math库实用汇总

原型:function operator **(float,float):float(bas:float;原型:function maxvalue(const data:Array[] of float):float。原型:function minvalue(const data:Array[] of float):float。原型:function sum(const data:Array[] of float):float。

2023-01-31 19:25:40 385

原创 Free Pascal错误一览表

下面列出在编译程序时可能出现的错误,在集成环境下,Pascal将自动加载源程序并定位于出错处。13l:过程和函数头与前面定义的不匹酉。154:FAIL只允许在构造方法内使用。138:无SYSTEM单元不能计算。220:无效的变体TYPECAST。74:常数与CASE类型不相匹配。116:必须在8087方式下编译。155:无效的操作符和操作数组合。155:驱动器请求的结构长度错。41:操作数类型与操作符不匹配。219:无效的TYPECAST。47:无效*.OBJ文件记录。141:不能将覆盖编译至内存。

2023-01-31 19:24:27 417

原创 c++入门 背包问题【请查收】

P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍

2023-01-31 19:21:29 310

原创 高精度算法(c++/c)

做ACM题的时候,经常遇到大数的加减乘除,乘幂,阶乘的计算,这时给定的数据类型往往不够表示最后结果,这时就需要用到高精度算法。高精度算法的本质是把大数拆成若干固定长度的块,然后对每一块进行相应的运算。这里以考虑4位数字为一块为例,且输入的大数均为正整数(也可以考虑其他位,但要注意在每一块进行相应运算时不能超出数据类型的数值范围;有负整数的话读入时判断一下正负号在决定运算)。

2022-12-29 08:30:57 72 1

原创 c++/c/java数据结构--队列

JDK中的Queue接口就是"队列",它的实现类也都是队列,用的最多的是LinkedList。本部分介绍2种C++实现。:关于"队列的声明和实现都在头文件中"的原因,是因为队列的实现利用了C++模板,而"C++编译器不能支持对模板的分离式编译"。:"运行结果" 以及 "主函数main的逻辑"都和"C语言实现一"的一样。2. Java实现二:Java的 Collection集合 中自带的"队列"(LinkedList)的示例。2. C++实现二:C++的 STL 中自带的"队列"(list)的示例。

2022-12-24 12:06:12 162

原创 【豪迈】【c++十款代码】游戏开发者看了直呼内行 确定不来看看嘛 每天五款敬请期待哦 2022年12月22日版

2022年12月22日版

2022-12-22 00:00:00 201

原创 【豪迈】【c++十款代码】游戏开发者看了直呼内行 确定不来看看嘛 每天五款敬请期待哦 2022年12月21日版本

十款好玩的c++游戏

2022-12-21 18:13:03 177

原创 【关于2022年卡塔尔世界杯】

顶牌:阿兹蒙,27岁,身高186cm,场上中场位置,德转最新身价2200万欧元,是伊朗队身价最高的球员(队内身价第二的球员是前锋登塔托,效力于波尔图的雷米,身价高达2000万欧元),目前效力于德甲拜耳勒沃库森。头牌:卡斯帕-舒梅切尔,现年35岁,上赛季舒梅切尔为莱斯特城出场53次,全部首发,英超扑救次数131次,上赛季英超联赛第二,出色的个人表现依然让小舒梅切尔确定了福克斯城和丹麦总部的主力门将,是莱斯特城和丹麦的双重队长。在利物浦的6个赛季里,他为球队出场269次,打进120球,助攻48次。

2022-12-20 19:07:26 3029

原创 【全网经典的小游戏】

绝对心跳的游戏,可以让你玩到手抽筋,你要帮助小鸟不断的向上飞,飞慢了就意味着生命的结束,因为下面是旋转着的巨大的直升机翼!

2022-12-20 18:10:18 167

原创 【全网最经典小游戏】俄罗斯方块

【代码】【全网最经典小游戏】俄罗斯方块

2022-12-20 14:02:04 121 1

原创 【重要的事情】关于开启新的专栏说明

我将会从今天开始开启一个新的专栏。内容:使用c++编写的游戏小程序

2022-12-20 13:53:09 61

原创 [全网最详细]第八章 指针及其应用总结

6

2022-12-04 10:44:49 91

原创 【c++每日题】【2022年11月30日】

Bessie买了一张地图,地图上显示了N(1

2022-11-30 00:00:00 546

原创 【2022年11月30日】

推开一扇从A格子到B格子的门,需要的力度值为B房间里土堆的高度。在一段时间[i, j]内,人的舒适程度定义为[i, j]中最不舒服的那一天的感受值 * [i, j]中每一天感受值的和。给省队选拔赛命题的时候,李老师手下有N个命题人,要命N种不同类型的试题,其中每人命一题。一个简单的数列问题:给定一个长度为n的数列,求这样的三个元素ai, aj, ak的个数,满足ai < aj > ak,且i < j < k。以后N行,每行N个整数(每个数不超过100),第i行j列的数表示第i个人出的第j种题目的难度大小。

2022-11-30 00:00:00 127

原创 【2022年11月30日】

山洞的地图用一个R*C的字符矩阵表示,其中'.'表示在开始的时候没有探险队员的空地,空地可以容纳任意多的探险队员;'P'表示在开始的时候有探险队员的空地,我们假设在开始的时候所有的队员都在不同的位置上,且没有队员恰好位于出口所在的方格;有一个糟糕的情况是,虽然山洞的内部比较宽敞,但山洞的出口都非常狭窄,一个单位时间只能允许一名队员通过。(小朋友的编号都是从1开始的)对于100%的数据都符合题目中所描述的限制关系,数据保证每次插入的位置均不超过当时书架上书的数量,而且保证Q次查询中的每个位置上一定有书。

2022-11-30 00:00:00 153

原创 【每日c++训练】2022年11月29日

地图的下面还标记着露子力量的出现时刻,即在某段时间内某个格子里会出现1个饱藏露子力量的石头,这个时候RUA牛每秒可以从之吸收1点露子的力量。以下N行每行包括四个数,A,B,C,D,(1

2022-11-29 00:00:00 236

原创 【每日c++训练】2022年11月28日

若n为一位数,则magic(n)=n。对任意一个数n,序列:n,magic(n),magic(maigc(n)),...迟早会变成一个一位数。以下n行,每行三个整数G,S,B(0

2022-11-28 00:00:00 577

原创 【每日c++训练】2022年11月28日

因此每个星球一天的长短都不一样,这就导致了一个问题:星球上的生物都是在白天工作夜晚休息,因此每个星球每天都有上网高峰期和低峰期,当、很多星球同时达到高峰期时,网络便会变得异常拥堵,进而带来延迟。对于rm s命令,删除当前文件夹下名为s的文件,若s是个文件夹,输出错误信息(4),若不存在s,输出错误信息(5)。对于cd ..命令,回到上一级文件夹,若没有上一级文件夹,则不进行任何操作。对于rmdir s命令,删除当前文件夹下名为s的文件夹,若s为文件,输出错误信息(7),若不存在s,输出错误信息(8)

2022-11-28 00:00:00 283

鼠标连点器--多数用于钉钉的直播

鼠标连点器是一种可以自动大量点击鼠标左键或右键的小工具。可以自由设置单击鼠标间隔时间及单击方式(左键、左键双击、右键单击等),只需要将鼠标移动到需要连点的地方,然后按相应热键就可以启动连点了,再按下相应热键停止。

2022-06-19

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

TA关注的人

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