zhangpz_
码龄1年
关注
提问 私信
  • 博客:16,437
    16,437
    总访问量
  • 26
    原创
  • 47,170
    排名
  • 213
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2023-10-02
博客简介:

Doctor_Anonymous的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    170
    当月
    10
个人成就
  • 获得308次点赞
  • 内容获得11次评论
  • 获得291次收藏
创作历程
  • 26篇
    2024年
成就勋章
兴趣领域 设置
  • 数据结构与算法
    算法数据结构
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

算法——数学知识(质数,约数,欧拉函数,快速幂)

对于每一对约数,我们只需检验其中的一个。我们每次检查每对中较小的一个。在埃氏筛法中,合数可能被多次筛去。我们想要一个合数被筛掉一次,那么每次筛就要用最小质因数筛。由算数基本定理可知,大于1的正整数都可以被写成若干个质数相乘。有多少个素数,显然我们不能满意对所有小于等于。对于每一个合数,我们都用质数把它筛掉。时,由于我们是从小到大枚举的质数,所以。时,由于我们是从小到大枚举的质数,所以。另外,对于 C++17,我们可以使用。的质因数最多只有一个。我们每次使用最小质因数筛掉合数。由于因数是成对分布的,所以。
原创
发布博客 1 小时前 ·
228 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

算法竞赛进阶指南——递归与递推

当向上回溯时,观察上图,我们发现在合并成区间[3, 8]的过程中,左边是有序的,右边是有序的。所以一个数在左半边,另一个数在右半边的逆序对的数量(如果可以形成),就是左半边区间从8开始到尽头的数量。对于一个数列,我们将它一分为二。这就像把一个问题拆成了两个同类的子问题,即左半边的序列的排序问题和右半边序列的排序问题。一个数列逆序对的数量等于左半边逆序对的数量加右半边逆序对的数量加一个数在左半边另一数在右半边逆序对的数量。其次,显然,左右两边是否排序不影响一个数在左半边,另一个数在右半边的逆序对的数量。
原创
发布博客 2024.12.01 ·
572 阅读 ·
18 点赞 ·
0 评论 ·
9 收藏

算法竞赛进阶指南——位运算

该编码按位取反后得到的编码~C表示的数值是。
原创
发布博客 2024.11.30 ·
1010 阅读 ·
7 点赞 ·
0 评论 ·
10 收藏

c ++零基础可视化——字符串

c ++零基础可视化——字符串string定义:string str1 = "012345"; // 012345string str2 = str1; // 012345string str3(6, '#'); // ######string str4("012345");
原创
发布博客 2024.11.28 ·
416 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

算法——滑动窗口

【代码】算法——滑动窗口。
原创
发布博客 2024.11.25 ·
198 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

c ++零基础可视化——高级输入输出

c ++零基础可视化——高级输入输出
原创
发布博客 2024.11.25 ·
87 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

c ++零基础可视化——vector

的人,先选出来的排在前面,后选出的排在后面。对题面的理解:每次选出的人都应该在第一个人的索引上加上k的倍数。启发:模拟题,题目不难,显然上面的代码精简。但我的方法很冗长复杂,究其原因还是没有熟练掌握vector的精髓之处。我与其对比,纵观我的代码,我总是想要存储数据,但这完全不必要。每次排出新的队伍,就保存在newNums中,再将新队伍newNums赋值给nums,最后将newNums清空。重新定义vector的大小。若比原先大,则用0填充新增的元素;本题面加深了我的理解力。这导致我的方法不够好。
原创
发布博客 2024.11.20 ·
750 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

c ++零基础可视化——数组

关于对加法的理解,一个人的编号加上2就是前进两个人。将 type T 的元素作为第一个参数,将 range 中的元素作为第二个参数的二进制运算,并返回一个可分配给 type T 的值。它包含 first 和 last 之间的所有元素,包括 first 指向的元素,但不包括 last 指向的元素。它包含 first 和 last 之间的所有元素,包括 first 指向的元素,但不包括 last 指向的元素。对数组的理解:和上面的方法相同,采用递推的方法求解阶乘并将其存储在数组中。序列中的初始和最终位置。
原创
发布博客 2024.11.17 ·
852 阅读 ·
31 点赞 ·
1 评论 ·
27 收藏

最短路板子及其应用

​ 我们注意到,每次找到不在集合中的点的时间复杂度最高。故我们才用小根堆,其可以有效解决这个问题。
原创
发布博客 2024.06.01 ·
387 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

拓扑排序板子及其应用

int n, m;#define N100010n和m分别表示图中的节点数和边数。N是预定义的常量,表示节点的最大数量。e 和 ne 是数组,用于存储图的边信息。e[i] 表示边的目标节点,ne[i] 存储与当前节点相连的下一条边的索引。h数组用于存储每个节点的边的开始部分,即每个节点的邻接表的头部。idx 是用于填充 e和 ne 数组的当前索引。d数组用于存储每个节点的入度。queue 用于实现拓扑排序的队列,head 和 tail 分别是队列的头部和尾部索引。
原创
发布博客 2024.05.12 ·
376 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

FloodFill算法及其应用

给定一个地形图,浅色表示洼地,深色表示高地。向这个图中的一个格子注水,随后询问这个格子的四个方向上的格子,显然,只有浅色的格子才可以被洪水覆盖,高低不会被覆盖。这个算法可以在线性复杂度内找到某个点所在的连通块。
原创
发布博客 2024.05.11 ·
1613 阅读 ·
47 点赞 ·
1 评论 ·
29 收藏

并查集的作用、原理、实现及应用

每个集合用一棵树来表示,树根的编号就是整个集合的编号。每个节点存储它的父节点,p[x]表示x的父节点。如何求x的集合编号:while (p[x]!= x) x = p[x] 优化:路径压缩。如何合并两个集合:px是x的集合编号,py是y的集合编号。p[px] = py。如何判断树根:if (p[x] == x) 除了根节点之外p[x]都不等于x。
原创
发布博客 2024.05.05 ·
221 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

二分(整数二分,浮点数二分)

当我们将区间[l, r]划分成[l, mid - 1]和[mid, r]时,其更新操作是r = mid - 1或者l = mid;,此时为了防止死循环,计算mid时需要加1。当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。
原创
发布博客 2024.05.05 ·
311 阅读 ·
9 点赞 ·
0 评论 ·
2 收藏

容斥原理及其应用

如果被计数的事物有A、B两类,则A类和B类元素的总和=A类元素个数+B类元素个数—既是A类又是B类的元素个数。即$$$$如果被计数的事物有A、B、C三类,那么,A类和B类和C类元素个数总和= A类元素个数+ B类元素个数+C类元素个数—既是A类又是B类的元素个数—既是A类又是C类的元素个数—既是B类又是C类的元素个数+既是A类又是B类而且是C类的元素个数。​ 即∣A∪B∪C∣∣A∣∣B∣∣C∣−∣A∩B∣−∣A∩C∣−∣。
原创
发布博客 2024.04.28 ·
657 阅读 ·
15 点赞 ·
0 评论 ·
14 收藏

数组模拟链表,链式前向星及其应用

define N100010//根据上图可以更好理解//head表示头节点的下标 e[i]表示节点i的值是多少 ne[i]表示节点下一个节点的下标//idx表示当前可以用的点的下标#define N100010邻接表有n个链表(n为图的节点数量)。其余初始化与链表的初始化类似。h[]存储每个顶点链表的头部索引。e[]存储边的目标顶点。ne[]存储同一链表中下一个元素的索引。idx是当前可用的数组索引。
原创
发布博客 2024.04.26 ·
1760 阅读 ·
32 点赞 ·
4 评论 ·
42 收藏

92. 递归实现指数型枚举 - AcWing题库

从 1∼n这 n 个整数中随机选取任意多个,输出所有可能的选择方案。
原创
发布博客 2024.04.21 ·
674 阅读 ·
21 点赞 ·
1 评论 ·
11 收藏

二叉树的前序遍历,中序遍历,后序遍历和层序遍历

【前序遍历】如果二叉树为空,则直接返回。否则,先访问根结点,再递归前序遍历左子树,再递归前序遍历右子树。【中序遍历】如果二叉树为空,则直接返回。否则,先递归中序遍历左子树,再访问根结点,再递归中序遍历右子树。层序遍历所要解决的问题很好理解,就是按二叉树从上到下,从左到右依次打印每个节点中存储的数据。(即逐层地,从左到右访问所有节点)。给定一个二叉树的根节点。给你一棵二叉树的根节点。
原创
发布博客 2024.04.19 ·
732 阅读 ·
5 点赞 ·
0 评论 ·
14 收藏

[NOIP2008 提高组] 笨小猴

但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!是一个质数,那么笨小猴就认为这是个 Lucky Word,这样的单词很可能就是正确的答案。共两行,第一行是一个字符串,假设输入的的单词是 Lucky Word,那么输出。是单词中出现次数最少的字母的出现次数,如果。是单词中出现次数最多的字母的出现次数,次,出现次数最少的字母出现了。次,出现次数最少的字母出现了。noip2008 提高第一题。【输入输出样例 1 解释】【输入输出样例 2 解释】(本处原题面错误已经修正)
原创
发布博客 2024.04.12 ·
616 阅读 ·
13 点赞 ·
1 评论 ·
20 收藏

洛谷 T3 句子反转题解

要求将这些单词倒序输出。而且对于每个单词,如果是小写词,应当转为大写;如果是大写词,应当转为小写;如果是自然数,应该倒转输出。给定一行句子,每个词之间用空格隔开,要么是全小写英文单词,要么是全大写英文单词,要么是自然数。的数据,句子中包含的单词数量不超过。仅一行,表示程序对句子的处理结果。仅一行,即需要反转的句子。,每个单词长度不超过。
原创
发布博客 2024.04.08 ·
514 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

顺序表实现栈

对于顺序表,在 C语言 中表现为数组,在进行栈的定义之前,我们需要考虑以下几个点:1)栈数据的存储方式,以及栈数据的数据类型;2)栈的大小;3)栈顶指针;我们可以定义一个栈的结构体,C语言实现如下所示:int// (1)100005// (2)// (4)int top;// (5)(1) 用DataType这个宏定义来统一代表栈中数据的类型,这里将它定义为整型,根据需要可以定义成其它类型,例如浮点型、字符型、结构体 等等;(2)maxn代表我们定义的栈的最大元素个数;
原创
发布博客 2024.04.07 ·
1585 阅读 ·
40 点赞 ·
0 评论 ·
37 收藏
加载更多