刷新
【题单】一个动态更新的洛谷综合题单

博主头像 洛谷试炼场的题目确实很具有代表性,但是近几年以来,又有许多经典题目出现在 OI 界中,这个大题单就是作为洛谷试炼场的扩展和补充。 目录新版本食用指南更新日志题单Part 0 试机题Part 1 入门阶段Part 2 基础算法Part 3 搜索Part 4 动态规划Part 4.1-4.4 动态规划P ...

CF 1927

博主头像 G link 定义\({{dp_i}_j}_k\)为考虑完第i个点,最左边没有染色的点为\(j\),最右边没有染色的点为\(k\)的最小数量。 考虑转移(用自己更新别人) 如果不用\(i\),直接转移到\({{dp_{i+1}}_j}_k\)。 如果向左喷,\(k\)为\(max({i+1,k})\ ...

树链剖分小结

博主头像 树链剖分,计算机术语,指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、BST、SPLAY、线段树等)来维护每一条链。 ——百度百科 重链剖分 概念 1 重儿子 一个父节点的所有儿子中,子树节点最大(\(siz\) 最大)的节点。 ...

Visual Studio部署matplotlib绘图库的C++版本

博主头像 本文介绍在Visual Studio软件中配置、编译C++环境下matplotlibcpp库的详细方法。 matplotlibcpp库是一个C++环境下的绘图工具,其通过调用Python接口,实现在C++代码中通过matplotlib库的命令绘制各类图像。由于其需要调用Python接口,因此在配置m ...

Codeforces Round 923 (Div. 3) 比赛记录

博主头像 Codeforces Round 923 (Div. 3) 这是我第二次参加 cf阴间场。 10 minutes ago: 这次报名人数超过 4 万,一开始网站就崩溃了,比赛延迟了 10 分钟。。开局不顺。 2 minutes later: cf成功地又炸了。过了 2 分钟,终于进去了。 A题: 题 ...

C++类开发第二篇(浅析构造函数和析构函数)

博主头像 class_2 构造函数 构造函数是一种特殊的成员函数,用于创建和初始化类的对象。它的名称与类的名称相同,没有返回值,也不需要显式调用。在C++中,每个类都必须至少有一个构造函数。 当我们创建一个类的对象时,编译器会自动调用构造函数来初始化该对象的成员变量。构造函数可以执行一些操作,如初始化成员变量 ...

2024.02 别急记录

博主头像 1. WC/CTSC2024 - 水镜 [省选/NOI-] 设 \(2L=T\),我们可以发现相邻两项之间的大小关系有四种: \(h_i<h_{i+1}\); \(h_i<T-h_{i+1}\) 即 \(h_i+h_{i+1}<T\); \(T-h_i<T-h_{i+1}\) 即 \(h_i>h_{ ...

c++的类开发第一篇

博主头像 class_1 什么是接口? 类就是一种公共接口,公众(public)是使用类的程序,交互系统由类对象组成,而接口由编写类的人提供的方法组成。接口让程序员能够编写与类对象交互的代码,从而让程序能够使用类对象。例如,要计算 string 对象中包含多少个字符,您无需打开对象,而只需使用string类提 ...

内联函数的出现

博主头像 inline_func 在c++中,预定义宏的概念是用内联函数来实现的,而内联函数本身也是一个真正的函数。内联函数具有普通函数的所有行为。唯一不同之处在于它在编译时会被直接插入到调用它的地方,而不是像普通函数那样在运行时被调用。这样,内联函数可以避免函数调用的开销,提高代码执行效率,所以不需要函数调 ...

创建大量栅格文件并分别写入像元数据:C++ GDAL代码实现

博主头像 本文介绍基于C++语言GDAL库,批量创建大量栅格遥感影像文件,并将数据批量写入其中的方法。 首先,我们来明确一下本文所需实现的需求。已知我们对大量遥感影像进行了批量读取与数据处理操作——具体过程可以参考文章C++ GDAL提取多时相遥感影像中像素随时间变化的数值数组;而随后,就需要对我们处理后的栅 ...

花店橱窗(线性DP)

博主头像 线性DP——花店橱窗 谨以此题解献给线性dp最后一道题 题目大致 Description xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他 ...

C++ GDAL提取多时相遥感影像中像素随时间变化的数值数组

博主头像 本文介绍基于C++语言GDAL库,批量读取大量栅格遥感影像文件,并生成各像元数值的时间序列数组的方法。 首先,我们来明确一下本文所需实现的需求。现在有一个文件夹,其中包含了很多不同格式的文件,如下图所示。 其中,我们首先需要遍历这一文件夹,遴选出其中所有类型为.bmp格式的栅格遥感影像文件(一共有6 ...

C++遴选出特定类型的文件或文件名符合要求的文件

博主头像 本文介绍基于C++语言,遍历文件夹中的全部文件,并从中获取指定类型的文件的方法。 首先,我们来明确一下本文所需实现的需求。现在有一个文件夹,其中包含了很多文件,如下图所示;我们如果想获取其中所有类型为.bmp格式的文件的名称,如果文件数量比较多的话,手动筛选就会很麻烦。而借助C++代码就可以简单地实 ...

ubuntu20嵌入式开发环境搭建

博主头像 vmware 安装ubuntu20 安装步骤:省略。 网上有很多教程,不做笔记了。 值得注意的一点:安装时建议选择中文安装,会默认带有中文输入法。 安装 Vmware Tools 安装Vmware Tools后,可以实现主机跟虚拟机之间的文件拷贝,文本内容的复制粘贴等操作。使用起来更方便。 依次使用 ...

如何在Visual Studio新C++项目中调用之前配置过的库?

博主头像 本文介绍在Visual Studio软件中调用C++各种配置、编译完毕的第三方库的方法。 在撰写C++代码时,如果需要用到他人撰写的第三方库(例如地理数据处理库GDAL、矩阵运算库Armadillo等),并不能像Python等语言那样,安装好库后直接在不同代码文件中使用;而是需要每一次新建一个代码文 ...

Visual Studio部署C++矩阵库Armadillo的方法

博主头像 本文介绍在Visual Studio软件中配置C++环境下线性代数运算库Armadillo的方法。 首先,我们需要在Armadillo库官网下载其源代码,直接点击下图所示红色框内部分即可。 点击上图所示位置后,将弹出一个新的下载界面;Armadillo库的源代码将随后自动下载。 接下来,我们在Vis ...

C++ Qt开发:运用QJSON模块解析数据

博主头像 Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QJson`组件的实现对JSON文本的灵活解析功能。JSON(JavaScript Object Not... ...

数据结构——队列链式存储实现

博主头像 队列链式存储主要有两个方面需要注意,一个是定义时应该定义两种结构体,一个是具体节点,一个是队列本身。具体节点用于存储具体数据data和指向下一个节点的指针 * next。而队列本身的结构体只会储存两个具体节点的指针,一个指向队头,一个指向队尾。 第二个需要注意的是,出队操作,对于只剩下一个元素的队列 ...

<1···202122···33>