10 2021 档案

摘要:链表 实现链表的方式 struct Node { int val; Node *next; };// 不讲——竞赛不常用 每次创建一个新的链表的时候,就会调用一次new函数来创建新的节点(动态创建链表),这个操作是非常慢的 单链表:算法题中单链表用的最多的是邻接表(n个链表)。应用:存储树和图 双链 阅读全文
posted @ 2021-10-31 20:45 时间最考验人 阅读(235) 评论(0) 推荐(0) 编辑
摘要:模板设计模式 1.模板模式简介 模板模式(Template ):模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意 阅读全文
posted @ 2021-10-30 10:43 时间最考验人 阅读(811) 评论(11) 推荐(2) 编辑
摘要:Java策略模式 1.策略模式简介 策略模式:策略模式是一种行为型模式,它将对象和行为分开,将行为定义为 一个行为接口 和 具体行为的实现。策略模式最大的特点是行为的变化,行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得算法可独立于使用它的用户而变化 2.模式结构 策略模式包含 阅读全文
posted @ 2021-10-27 22:22 时间最考验人 阅读(181) 评论(0) 推荐(1) 编辑
摘要:位运算 & 与 | 或 ~ 非 ^ 异或 >> 右移 << 左移 常用操作: (1) 求x的第k位数字 x >> k & 1 (2) lowbit(x) = x & -x,返回x的最后一位1 求整数的二进制数表示中的第k位是几? n = 15 =(1111)2 :从0位开始的(右到左) 先把第k位移 阅读全文
posted @ 2021-10-24 15:21 时间最考验人 阅读(178) 评论(2) 推荐(0) 编辑
摘要:前缀和 一维前缀和 普通求和 通常我们对一维数组求和采用的是从头到尾遍历的方式,时间复杂度是O(n),但当计算很庞大的数据量时就很可能会超时! int sum = 0; for(int i = 0; i < nums.size(); i++) sum += nums[i] 一维前缀求和 初始化前缀和 阅读全文
posted @ 2021-10-23 13:14 时间最考验人 阅读(990) 评论(3) 推荐(4) 编辑
摘要:包 【包的三大作用】 区分相同名字的类 当类很多时,可以很好管理类【API文档】 控制访问的范围 【包基本语法】 package com.yyy; 说明: package关键字,表示打包 com.yyy ,表示包名 【包的本质(原理)】 包的本质实际是创建不同的文件夹/目录来保存类文件 【包的应用场 阅读全文
posted @ 2021-10-19 21:56 时间最考验人 阅读(107) 评论(0) 推荐(0) 编辑
摘要:高精度加法 大整数存储:为了方便进位,数的最高位存在数组的末端(push_back()),数组下标从0开始存储的是该数从个位到最高位。 运算:模拟人工加法的过程,对应数相加(结果取模),逢十进一(Ai + Bi + 进位)。巧妙:用t来记录Ai + Bi + 进位的总和 #include<iostr 阅读全文
posted @ 2021-10-17 23:32 时间最考验人 阅读(176) 评论(0) 推荐(0) 编辑
摘要:位运算 & 与 | 或 ~ 非 ^ 异或 >> 右移 << 左移 常用操作: (1) 求x的第k位数字 x >> k & 1 (2) lowbit(x) = x & -x,返回x的最后一位1 常用库函数 (1) reverse 翻转 翻转一个vector: reverse(a.begin(), a. 阅读全文
posted @ 2021-10-14 20:39 时间最考验人 阅读(64) 评论(0) 推荐(0) 编辑
摘要:二进制 二进制逢二进一,每位的取值只能是0或1 原码、反码、补码 注:计算机里都是以补码的形式存储数据的! 原码:最高位为符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制(以一个字节(8位)为例) ​ 5 -5 原码:0000 0101 1000 0101 反码:正数的反码就是原码,负 阅读全文
posted @ 2021-10-14 20:17 时间最考验人 阅读(508) 评论(0) 推荐(0) 编辑
摘要:类与对象 引入 单独变量解决:不利于数据的管理(把一只猫的信息拆解了,当信息量庞大时更加的麻烦) //第一只猫信息 string cat1Name = "小白" int cat1Age = 3; string cat1Color = "白色" //第二只猫信息 string cat1Name = " 阅读全文
posted @ 2021-10-14 19:46 时间最考验人 阅读(56) 评论(0) 推荐(0) 编辑
摘要:暴力枚举 本学期学校开设了C++程序竞赛的课程,每周虽然只有一节课,但老师讲的是真的精彩,建模到映射等等思维的飞跃,还有各种excel、word解题大法,让我叹为观止!总结一些例题,希望能对自己以及想要参加蓝桥杯的你提供些许帮助!(例题、解题方法等往后会不断的更新总结!) 蛮力法:尝试每一种可能 【 阅读全文
posted @ 2021-10-13 11:03 时间最考验人 阅读(1697) 评论(2) 推荐(2) 编辑

点击右上角即可分享
微信分享提示