自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 环形区间DP经典写法

【代码】环形区间DP经典写法。

2024-08-29 09:13:27 212

原创 CUDA指南-并行算法设计

并行算法设计是CUDA编程中的一个核心概念,它涉及到如何将问题分解为可以在GPU上并行执行的任务。

2024-08-26 22:43:52 706

原创 CUDA指南-CUDA编程基础

CUDA编程基础是开始利用GPU进行并行计算的起点。

2024-08-23 23:22:28 1217

原创 CUDA指南-CUDA简介与开发环境搭建

CUDA(Compute Unified Device Architecture)是由NVIDIA开发的并行计算平台和编程模型,它允许开发者利用NVIDIA GPU进行高效的通用计算任务。

2024-08-23 23:10:33 2605

原创 C++指南-标准库,数学库,数据结构

C++标准库是C++语言的组成部分,提供了大量的工具和函数,以支持各种编程任务。

2024-08-22 22:12:56 2129

原创 C++ 指南- 异常的处理

自定义异常是通过继承自 std::exception 或其子类来创建的。这允许你添加额外的状态或行为到异常处理中。定义自定义异常类private:public:使用自定义异常try {// 某个条件满足时抛出自定义异常// 处理其他标准异常注意事项异常安全性:确保异常不会破坏程序的状态。使用RAII(资源获取即初始化)模式管理资源。异常传播:通常,异常应该向上传播到能够适当处理它们的地方。避免类型转换:不要在 catch 块中进行类型转换,这可能隐藏错误。

2024-08-22 22:00:22 994

原创 c++ 指南 函数模板和类模板

模板是C++中实现泛型编程的工具,允许编写与数据类型无关的通用代码。

2024-08-21 22:37:43 833

原创 c++指南 继承和多态

继承是面向对象编程的一个重要特性,它允许新创建的类(称为子类或派生类)继承现有类(称为基类或父类)的属性和方法。

2024-08-21 22:23:30 611

原创 c++ 指南 类和对象

类是C++中实现面向对象编程的基础构造,它允许将数据和功能封装在一起。

2024-08-20 22:32:24 353

原创 c++指南 -指针和引用

指针是存储另一个变量的内存地址的变量。指针变量的声明包括指针类型和星号 (*)。

2024-08-20 22:28:07 261

原创 c++ 指南-函数

提供函数的实现。// 函数体。

2024-08-19 22:44:57 360

原创 数组和字符串

一维数组是相同数据类型元素的集合,可以通过索引访问每个元素。

2024-08-19 22:41:30 280

原创 最新版Clion 退出vim编辑模式办法

按笔记本键盘上的0。

2024-08-16 19:10:30 245 1

原创 c++指南-控制结构

控制结构用于控制程序的执行流程。

2024-08-16 12:51:27 180

原创 C++指南-基本语法与运算符

/

2024-08-16 08:10:00 193

原创 C++入门指南-Hello World

C++是一种通用的、过程化的、面向对象的、多范式编程语言,由Bjarne Stroustrup在20世纪70年代末期作为C语言的扩展开发而成。C++最初被称为"C with classes",因为它引入了类的概念,这是面向对象编程的基础。随着时间的发展,C++语言不断扩展和改进,增加了更多的特性和功能。1985年,C++的第一个正式标准发布,被称为ANSI C++。随后,C++语言经历了多个版本的迭代,包括C++98、C++03、C++11、C++14、C++17和最新的C++20。

2024-08-15 10:36:28 473

原创 (文末有模板)背包问题(超级硬核)

有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。f[j]表示背包容量为j时,能装入的最大价值。状态转移方程:对于每个物品i,考虑是否放入背包中。若不放入,则总价值不变;若放入,则总价值为f[j-v[i]] + w[i](在当前容量下,放入物品i后的总价值)。因此,状态转移方程为f[j] = max(f[j], f[j-v[i]] + w[i])。

2024-08-15 10:19:33 2194 2

原创 NIM游戏讲解(超级全面,SG函数代码模板,三种题型)

Nim 游戏n堆物品,每堆有m 个,两个玩家轮流取走任意一堆的任意个物品,但不能不取。取走最后一个物品的人获胜。我们先来看第一道题目题目一:给定n堆石子,两个玩家轮流操作,每次可以从任意一堆石子中拿走任意数量的石子,可以拿完但不能不拿。无法操作者视为失败。问先手是否存在必胜策略。输入格式:第一行包含整数n。第二行包含n个数字,其中第i个数字表示第i堆石子的数量。输出格式:如果先手方必胜,则输出“Yes”。Nim游戏模型,有个结论,设每堆石子个数分别是。NI

2024-08-15 09:34:37 1131

原创 HTML文件转pdf的方法(绝对有手就行)

因为看大部分文章写的都是去找网站,问题是,网站要么收费要么贼慢。Edge浏览器和Chrome浏览器都可以。

2024-08-15 09:27:04 478

原创 求组合数的4类题型(看这一篇就够了)

我们都知道组合数的公式是:看起来直接写程序也是挺简单的。但是我们能想出两个问题,溢出怎么办?速度慢怎么办?

2024-08-13 20:16:19 1570

原创 AcWing 204 表达整数的奇怪方式

是不是感觉很熟悉,合并两个同余方程,居然可以用拓展欧几里得算法来解。,mn,求一个最小的非负整数x,满足∀i∈[1,n],x≡mi(mod ai)。输出最小非负整数x,如果x不存在,则输出-1。如果存在x,则数据保证x一定在64位整数范围内。我们都会解多元一次方程,不断进行方程的合并即可。但是不能只改m,还需要改a,a怎么改呢,我们观察到最后x那一块里面有。那现在我们关心的是,这两个方程合并之后的方程能咋表示呢?那我们能用类似的思路来做这个同余方程嘛。一定是正数,所以我们要求最小的m1,就一定要让之前的。

2024-08-13 19:37:45 452

原创 BUG先除再乘与先乘再除结果不一样

注意,如果你确定你的除法一定能够整除,你可以调换乘除次序来防止乘法的溢出,但是如果不能整除你调换了,那么你会得到一个非常难察觉的bug。

2024-08-13 09:47:26 510

原创 拓展欧几里得算法-数论代码笔记(超级细节)

我们知道欧几里得算法是用来求解最大公约数的,那么拓展欧几里得算法是用来干嘛的呢?先给个题:给定,求一组,使得你可能很好奇这有什么用呢?别急,先听我把这个介绍完,然后我会介绍它的两个应用,分别是解线性方程与解一次同余方程。回到。

2024-08-13 07:00:00 443

原创 快速幂章-数论代码笔记

只写关键点:以5的35次方为例,base = 5, power = 35;power的二进制表示为 100011那么因为所以我们每次移动都用位运算算一位就可以,然后更新ans, 更新base。

2024-08-13 06:30:00 617

原创 欧拉函数章-数论代码笔记(超级细节)

同样的,类似于质数,我们有判断一个数是不是质数,筛一个范围内的质数的方法,我们也有判断一个 数是不是欧拉函数,计算一个范围内的欧拉函数的方法。好了,让我们进入正题。

2024-08-12 16:24:52 498

原创 约数章-数论代码笔记(超级细节)

试除法求所有约数注意边界条件,求约数是从1开始,到x / i,如果是求质数,那就是从2开始,到x / i,如果不理解什么意思可以看看我之前的博客。而且约数是成对出现的,如果i是约数,那么x / i也是约数,在 i!= x / i的条件下可以放入vector中。最后排序纯粹是题目要求。

2024-08-12 11:33:39 442

原创 质数章-数论代码笔记(超级细节)

注意末尾(注:这是因为如果x有一个大于 x / 2的因子,那么一定只有一个)判断下 x > 1(这里写成>1是为了方便,事实上,为了容易理解,我们可以在一开始保存n = x, 经过for循环之后判断 x >= n / 2 就可以。由于我们是从小到大遍历,当遍历到一个数时,如果它没被标记,说明它一定不能被小于它的质数分解,那么它也一定是质数。注意这里为什么不用判断i是不是质数,因为如果x % i == 0,假设这里的i不是质数,那么i一定能表示成 i = a * b的形式,这里的a或b一定有一个小于i的,

2024-08-12 10:16:52 1890

原创 (渣男)匈牙利算法(绝对通俗易懂)

先来先得,能让就让想象一下有一堆男生和一堆女生,每个人都有心动的TA,我们作为一个月老,想让整体最优化,让最多的大汉能找到女朋友。这时我们就可以使用匈牙利算法。

2024-08-11 22:08:53 196

原创 种类并查集(双种类,三种类)

关键点在于merge(合并操作)具体说来,与朴素并查集不同的是,种类并查集merge的时候要去单独处理种类的关系。

2024-08-08 21:15:45 815

原创 高精度乘高精度(朴素)

容易发现朴素算法的复杂度是O(n^2),超大数据不行。

2024-08-06 10:23:11 202

原创 Java进阶指南:GC 算法2.3CMS GC/ G1 GC

本系列主要针对想进一步进阶Java的开发者,本文介绍CMS GC与G1 GC

2023-03-08 15:54:31 433 1

原创 Java进阶指南:GC 算法2.2串行 GC/并行 GC

本系列主要针对想进一步进阶Java的开发者,本文介绍串行GC与并行GC。

2023-03-08 14:37:56 384

原创 Java进阶指南:GC 算法2.1GC的背景与一般原理

本系列主要针对想进一步进阶Java的开发者,本文介绍GC的背景与一般原理。

2023-03-07 21:52:00 245

原创 Java进阶指南:JVM核心知识1.5相关性能分析工具

本系列主要针对想进一步进阶Java的开发者,本文介绍JDK内置工具。

2023-03-07 21:14:47 339

原创 Java进阶指南:JVM核心知识1.4JVM启动参数

本系列主要针对想进一步进阶Java的开发者,本文介绍JVM的启动参数。

2023-02-28 21:43:04 511

原创 Java进阶指南:JVM核心知识1.3内存模型

本系列主要针对想进一步进阶Java的开发者,本文介绍Java的内存模型。

2023-02-28 21:19:54 177

原创 Java进阶指南:JVM核心知识1.2类加载器

本系列主要针对想进一步进阶Java的开发者,本文介绍Java的类加载器,这对于排查找不到jar包的问题是非常有用的

2023-02-26 09:50:33 218 2

原创 Java进阶指南:JVM核心知识1.1字节码基础

本系列主要针对想进一步进阶Java的开发者,本文大致介绍了Java的大概优势,并且介绍了字节码的生成与查看。

2023-02-26 09:22:33 244 1

空空如也

空空如也

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

TA关注的人

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