自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 BIG DATA —— 大数据时代

英] 维克托 · 迈尔 — 舍恩伯格 肯尼斯 · 库克耶 ◎ 著 盛杨燕 周涛◎译《大数据时代》是国外大数据研究的先河之作,本书作者维克托·迈尔·舍恩伯格被誉为“大数据商业应用第一人”,他在书中前瞻性地指出,大数据带来的信息风暴正在变革我们的生活、工作和思维,大数据开启了一次重大的时代转型,并用三个部分讲述了大数据时代的思维变革、商业变革和管理变革。舍恩伯格最具洞见之处在于,指出大数据时代最大的转变就是,放弃对因果关系的渴求,而取而代之关注相关关系。

2024-02-17 18:27:10 2347

原创 Floyd-Warshall

在有向图中,有时不必关心路径的长度,而只关心每两点间是否有通路,则可以用1和0分别表示“连通”和“不连通”。这样,除了预处理需做少许调整外,主算法中只需把“d[i][j] = min{d[i][j], d[i][k] + d[k][j]}”改成“d[i][j] = d[i][j] || (d[i][k] && d[k][j])”。但是注意Floyd算法,可以适应负权边,但是无法解决负权环,后者必须由BellmanFord算法来解决。要求出每两点之间的最短路。或判断两点之间的连通性(两点之间是否有路径)。

2024-06-16 18:39:46 366

原创 并查集C++

并查集(Union-Find Set)。可以把每个连通分量看成一个集合,该集合包含了连通分量中的所有点。这些点两两连通(连通性),而具体的连通方式无关紧要,就好比集合中的元素没有先后顺序之分(无序性),只有“属于”和“不属于”的区别(确定性)。在图中,每个点恰好属于一个连通分量,对应到集合表示中,每个元素恰好属于一个集合。换句话说,图的所有连通分量可以用若干个不相交集合来表示。并查集的精妙之处在于用树来表示集合。

2024-06-15 13:49:08 973

原创 C++ 矩阵

这3个矩阵分别为A, x和b(注意x和b都是n×1的矩阵,也称列向量),则线性方程组可以简单地写成Ax=b。这样是不是很方便呢?建议读者仔细研究一下这个Ax=b。在算法竞赛中,只要遇到“把一个向量v变成另一个向量v',并且v' 的每一个分量都是v各个分量的线性组合”的情况,就可以考虑用矩阵乘法来描述这个关系。矩阵的乘法比较复杂,当A的列数等于B的行数时,则可以定义乘法C=AB。如果A是m×n矩阵,B是n×p矩阵,那么C是一个m×p矩阵,其中cik满足。这里A就是一个矩阵,1, 2,3,4就是矩阵里的元素。

2024-05-01 19:11:51 2601

原创 DFS时间戳

注意字母旁边的数字就是时间戳, a在先序遍历(遍历顺序 : 左,右,根)是第一个进, 第十六个出。在时间戳里只要一个数比另一个数先进, 后出, 就是另一个数的祖先。这就是树上查询问题 , 是求两个点有什么关系。

2024-04-28 20:44:22 390

原创 C++树状数组 (原理 + 代码 + lowbit解释)

树状数组作为一种高效的数据结构,可以在O(logn)内完成更新和查询操作,因此非常适合加减, 区间和, 查询。给定一个n个元素的数组A1,A2,…,An,你的任务是设计一个数据结构,支持以下两种操作。

2024-03-30 14:35:48 444

原创 C++寒假打卡2.19

最大值 难度系数 ⭐⭐⭐⭐⭐。这种情况下,为了摘到最多数量的桃子,猴子摘桃子的顺序应为2,3,4,2,总桃子数为11。#猴子摘桃 难度系数 ⭐⭐⭐。给定数n,m,输出在n和m中有几个三个位(数据范围是100~801),加起来是8.#分糖果 难度系数 ⭐⭐⭐。有1000,000,000,000,000·····种做法。N等于3时,1~3号小朋友原有糖果数量分别为6,4,2。M=2,字符串为123456,插入2个乘号。两次操作后三个小朋友手中的糖果分别为4,4,4。

2024-02-19 16:05:32 1172

原创 C++题目打卡2.18

我们来看一下你不加第一的堆,肯定就要加第二个,那n个,就有2ⁿ 个对吧(长度为n的位串个数)。这样一串东西,这就是1234的所有排列,当然string 也可以换成vector | int。next_permutation还有一个好处就是,如果有重复的东西不算重复的排列。这里很明显是(200 + 110) - 330的差值最小。我们先想到了一个想法就是输入时哪个堆大,加那个。有人可能不知道这个东西,我们先来试验一下。画的可能不是那么好,但能看懂就行。我们再来看一下满分的代码很简单。看一下这样只能的50分。

2024-02-18 16:00:36 527

原创 谁拿了最多奖学金——NOIP 2005 提高组

如果觉得这个版本太难了,就看一下下面这个↓。这道题用结构体做对吧。

2024-02-16 16:33:42 549

原创 编辑器的新选择(基本不用配置)

不用看网上那些教程Cline几乎不用配置。点击设置直接选择Chinese, C++直接在选择就行了。Cline是一个很好的编辑器,有很多懒人必备的功能。

2024-02-14 12:16:58 1167

原创 类与结构体(6)

我们上一起讲了这一期讲和这个难度很大的。存储类主要规定了函数和变量的范围,在c++中有这些存储类৹ auto(自动判断函数是什么类型)৹ register (常用的变量和inline差不多,但应用于变量)৹ static (函数调用之间保持局部变量的值)就像这样:懂了吗,我们再来看下一个。৹ extern (就是比如众所周知前面的函数不能访问后面的,但加了这个后只要在前面申明有这个东西就可以了)৹ mutable(被mutable修饰的变量,即使在一个const函数,也可以改变)

2024-02-13 13:35:42 894

原创 类与结构体(5)

上期我们提到了这一期讲“类该怎么用?(2)/(3)”。

2024-02-12 10:42:29 570

原创 类与结构体(4)

简明扼要:上一期我们说了,这一期讲类的入门。

2024-02-11 17:44:47 834

原创 类与结构体(3)

大家好,我们又见面了,昨天·过年所以没写,今天我们就来讲重载运算符。

2024-02-10 16:20:55 519 1

原创 类与结构体(2)

大家好,我们有相遇了,这次主要讲结构体函数。关注Ethanwyc601博主,了解更多类与结构体的知识。

2024-02-08 12:20:30 834

原创 类与结构体(1)

通俗易懂的c++结构体

2024-02-07 13:10:34 421 1

原创 C++2024寒假J312实战班2.6

1Playlist#2分数线划定#3Made Up#4图书管理员。

2024-02-06 16:13:38 974 1

原创 C++2024寒假J312实战班2.5

1多项式输出#2龙虎斗#3表达式求值#4解密。

2024-02-05 15:53:53 772 1

原创 c++2024寒假J312实战班2.4

题目列表: 1.Maximum Subarray Sum 2.分解因数 3.公交换乘4.Vacation

2024-02-04 17:26:43 2218 1

原创 C++2024寒假每天打卡2.3

改完了以后,我们就可以先看是否匹配。匹配的有两个,所以输出的第一个就是2,我们再来看第二个,to第一次出现的位置是在下标0,对吧。这里说的不区分大小写,所以可以把大写全换成小写。

2024-02-03 17:32:25 464 1

原创 c++分糖果

分析:为了使奖励尽可能多,理想情况就是使得分完之后的剩余糖果数是n-1,因此需要判断能否达到这个理想情况——当区间[L, R]能够完整覆盖一个长度为n的范围,说明一定存在一个数字k,使得k%n=n-1,因此只需要判断L/n是否与R/n一致;如果不能达到这个理想情况,则拿的越多越好,即答案为可以拿到的糖果上限R%n。这个题典型的逻辑题目,你看数据范围,一循环只能拿90分,要想拿100分,就要逻辑推理。

2024-02-03 11:21:06 594 1

原创 优秀的拆分

2、剩下就是将n拆成2的幂,主要策略是从大到小尝试每一个2的正整数次幂,如果n≥2i ,那么n就可以被拆分为2i和n−2i,然后更新n的值n−2i,继续尝试下一个2的正整数次幂。注意审题这里有一个坑,2的零次方 算优秀吗?当然不算,应为他说的是正整数次幂。1、首先n一定不能是奇数。

2024-02-03 11:14:45 388 1

原创 最长公共子序列

这个题最经典,题目都不用说了。的最长公共子序列可以是。

2024-02-03 11:07:55 382 1

原创 最长递增子序列

这个题目的数据量不大,O(n2)也过得了,但今天主要讲时间复杂度为O(nlogn)的代码。首先我们要设置一个vector L{先赋字符串的第一个值}在循环n-1次,每次判断,a比目前所有LIS结尾都大,直接附上去。否则就把下一个比他大的值,换成它的值,这样保证是递增的。L[i]: 长度为i+1的LIS的最小结尾。结合代码在来理解一下。

2024-02-03 11:06:36 309 1

原创 c++寒假J312实战班错题集1.31

1.Longest Ordered Subsequence(最长递增子序列)2.ISBN号码3.开心的金明。

2024-02-03 11:02:20 318

原创 XOR World

因此现在很容易计算出f(0, x);根据题目提供的异或和的计算方法,可以推导出 f(a, b) = f(0, a-1) xor f(0, b) 【若0~a-1中有偶数个1,0~b有偶数个1,那么a~b中一定有偶数个1,同理可证明其他情况】是10^8,是他的10000倍,所以循环一次,理论上要10000s,更不要说内存了。分析步骤虽然很简单,但枚举情况并不容易,所以学会找规律才是关键。这是一个经典的分析题目,这字次主要讲:二进制的分析。

2024-02-02 21:54:00 396

原创 [AHOI2005]约数研究

我们先来看一下思路:对于1≤i≤n来说,i的倍数有n/i个,i作为约数出现了n/i次。我们来看一下样例 3 就是 3 / 1 = 3,3 / 2 = 1,3 / 3 = 1。今天之所以将约数研究,因为我觉得这个题的求解思路很特别。1在3中是不是有3个倍数,2有1个,3有1个。

2024-02-02 18:06:37 378

原创 汉诺塔问题

第三次移动,把B柱子上的n-1个柱子借助柱子A移动到柱子C上。输入 输出。第二次移动,直接把A柱子上的最后一个移动到C柱子上;第一次移动,把A柱子上的前n-1个移动到B柱子上;所以首先我们要输出(1<<n)-1,然后递归求解。汉诺塔问题是典型的递归问题。

2024-02-02 17:30:22 382

原创 c++寒假班错题分析 (2.2)

这次就不弄错题列表了这次分析的有拓展一下先看一下吧(这段有点难,做好心理准备):这个题意思没什么问题吧,就是给你一堆数据,按他的要求排序后输出。这个题目有很多种解法。1.可以结构体外面写一个cmp函数。大家应该都会。2.也可以在sort函数中写一个比较规则。也不难,就不讲了。主要讲的是使用opertor(重载运算符)。简单给大家介绍一下,如果还不懂可以去OI WIKI。书归正传,operator就是把函数换成自己的规则,比如的,把<,换成>也可以。注意:operator是个函数。

2024-02-02 16:43:47 562

原创 C++寒假班错题集(1.30)

1.优秀的拆分2.小苹果3.分糖果。

2024-02-02 10:44:52 456

原创 C++ 寒假班错题整理 day1(1.27)

这里输入的是 G 数组,C 是负责加附近 8 个点有几个是地雷,C 数组 * 号也加了,所以 20 行要。周围 8 个点每个都加了一个一(1,0)(1,1)(1,2)(2,0)(2,2)// 自己不用加。= s[k], 还有 s[j] + s[k] == s[i]。,则将 C[A[i]+A[j]] 设置为 1,表示找到了一个和为 A。周围 8 个点每个都加了一个一(0,1)(1,0)(1,1)所以(1,0)(1,1)加了两遍,是 2。代码:遍历数组 A 中的每一个元素 A。样例中 1+2=3,1+3=4。

2024-02-01 19:38:24 322

原创 C++寒假班错题集(1.29)

从这里面,我们接可以延伸出他们的代码写法,首先创建一个数组表示是来是去,例如一个顾客从3点来6点走,我们可以表示为3 1,6 -1,3点顾客数+1,6点又走了一个顾客,所以顾客数-1。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。那么最坏情况下a=1,b=10^9 时间复杂度是ʘ(n·(b-a)),那就约是10^9 * 2 * 10^5,那一定时间超,统计的内存也超。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。我们来看一下这里的解题思路。

2024-02-01 19:09:31 587

原创 c++寒假班错题集(1.28)

这里逻辑很简单,a <= 3表示是起步价 else 表示一公里2元,不足一公里按一公里算,sum>=x表示赚的钱够了。其中 x/y<ax/ay ↔️ x*ay<ax*y是运用了不等式的性质(交叉相乘积相等)这里首先是奇质数所以循环应该从3开始,在循环时i+=2避免2的所有倍数,增加效率,最。在六以上的书都能拆成两个质数的和(因为是奇质数所以这两个质数!该你两个数A,B你要尽量简化A,B是他们比L小,但和A,B的误差最小。这个代码很简单,我是条件写错了。这是第一次只有14分的代码。

2024-02-01 12:41:28 449

c++错题整理:珠心算,扫雷行动

c++错题整理:珠心算,扫雷行动

2024-01-31

空空如也

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

TA关注的人

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