iOS
关于 LIS,它没死
关于 LIS,它没死 一篇洛谷日报需要一张头图: 0. 前言 LIS(最长上升子序列)为 DP(动态规划)的经典题型,也经常最为初学者们最先接触的 DP 题目。本文将详细介绍有关 LIS 的内容及拓展。 让我们从这一个简单问题开始: 给定一个长度为 (n) 的序列 (a),请你求出它的最长上升子序列长度。 1. 最初的 DP 我们设 (f_i) 表示序列 (a_{1 sim i}) 的最长上
CF-242-E-线段树
242-E 题目大意 给定一个长为(n)的数组(a),(q)次操作,操作分两种: (1.l,r):输出({sum_{i=l}^{r}a_i})。 (2.l,r,x):把区间([l,r])中的元素都异或上(x)。 Solution 区间信息具有可并性,线段树能够快速得到所求区间的信息。 线段树节点中维护一个数组(bit),(bit[i])表示当前区间([l,r])中有多少个元素第(i)为(1),合
动态规划--摆花(二维dp)
方法:二维动态规划 思路是: 利用一个数组dp[i][j]表示到第i种花第j个位置为止 花种的下标从1开始 dp[0][0]=1 -->到第0种花第0个位置初始化为1 核心代码:
Luogu P1042 [NOIP2003 普及组] 乒乓球
[NOIP2003 普及组] 乒乓球 (link) 题目背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中 (11) 分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白 (11) 分制和 (21) 分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据
Luogu P1563 [NOIP2016 提高组] 玩具谜题
[NOIP2016 提高组] 玩具谜题 (link) 题目背景 NOIP2016 提高组 D1T1 题目描述 小南有一套可爱的玩具小人,它们各有不同的职业。 有一天,这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图: 这时 singer 告诉小南一个谜题:“眼镜藏在我左数第 (3) 个玩具小人的右数第 (1) 个玩具小人的左数第 (2) 个
WSL2+Ubuntu22.04+Vscode 虚拟环境安装
1.WSL2+Ubuntu22.04+Vscode 虚拟环境安装 详细攻略 WIN11 + WSL2+ Ubuntu22.04+CUDA + MINICONDA3+Pytorch安装踩坑总结,手把手教学,看不会你打我 1.1 先决配置 1.2 安装命令 官网 https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands 1.3 设
Luogu P4924 [1007] 魔法少女小Scarlet
[1007] 魔法少女小Scarlet (color{cyan}link) 题目描述 Scarlet 最近学会了一个数组魔法,她会在 (ntimes n) 二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转 (90^circ)。 首先,Scarlet 会把 (1) 到 (n^2) 的正整数按照从左往右,从上至下的顺序填入初始的二维数组中,然后她会施放一些简易的魔法。 Scarlet 既不会什么分块
(坚持每天都写算法)算法复习与学习part1基础算法1.8高精度乘法
这道知识点有点特殊,我当初在学的时候是只学了高精度*高精度,然后其他的我还没有想法,今天就来学学。 有大概6天没有写新博客,主要是实习面试和期末考,实习面试没有过关,姐姐朋友推荐我先去刷一下面试题,叫我重温一下之前的知识,然后去参考一下开源项目,我决定边复习边写博客,就这样吧,缺的这6天,我就复习一下我之前学过的算法题就可以了。 说回正题。 高精度乘法,之前一直没有说过什么是高精度
20C++的运算符重载
C++的运算符重载 编译器在做对象运算的时候,会调用对象的运算符重载函数(优先调用成员方法)。如果找不到合适的成员方法,则在全局作用域寻找合适的运算符重载函数. 单目运算符的重载 operator++()代表前置++ 其重载形式operator++(int)代表后置++ 为了统一所有类型对象的输出,可以采用在其类中重载输入输出运算符的形式
21String类的实现
String类的实现 下述代码中,为了返回两字符串相连的结果,_s和s内部的调用分别做了一次new和delete,同时return时s做了一次拷贝构造,代价较高。 一种更优解法
22String字符串和vector对象的迭代器iterator实现
String字符串对象的迭代器iterator实现 泛型算法参数接收的都是迭代器 泛型算法是一组全局的函数,适用于所有容器 基于第二点,泛型算法有一套方法可以统一地遍历所有容器的元素 vector对象的迭代器iterator实现
WIN32 动态 UAC 提权
UAC(User Account Control) 是 Windows 平台的用户权限控制。它可以让程序使用管理员权限执行某些操作。 静态 UAC 提权 静态 UAC 提权让程序一直运行在管理员权限下,只要在项目设置里把 "UAC Execution Level" 设置为 "requireAdministrator"。这样生成的 exe 文件图标会自动加上一个小盾牌的角标 Overlay。执行 e
动态规划--放置油桶
方法总结: 动态规划 首先开一个数组,dp[i]表示以i个空位的策划方案数 初始化: i<=k+1就是当空位数小于等于最小相隔数加一,也就是第一个位置向右小于等于k,那么最多放一个桶(0个桶或一个桶)-->所以这种情况策划方案数为i+1,即不放桶(1种),放一个桶(i个空位任意一个空位放桶即i种) 当k+1<i<=n: 写动态规划式子 那么dp[i]策划方案数
Linux系统中一些重要的配置文件
1.网卡配置文件 2./etc/hosts 系统文件,用于配置主机名与 IP 地址的映射关系。当系统需要解析主机名时,会首先查找 /etc/hosts 文件,如果在该文件中找到了相应的映射关系,则直接使用对应的 IP 地址进行通信,而不需要进行 DNS 查询。 3./etc/hostname 主机名称配置文件 3.1.修改主机名称的三种方法 1.重启后生效 2.临时修改 3.临时加永久修改
洛谷 P9916 「RiOI-03」Just a Q. (Easy ver.) 题解
前言 Div.2 Rank (13) 获奖了,题目也好评。 解法 题目链接:(color{Purple}texttt{P9916「RiOI-03」Just a Q. (Easy ver.)})。 从 Subtask (3) 出发,考虑构造 (prod(a_i+1)) 这种形式,因为它可以便利地在加入一个新数维护当前乘积的正负性,进而推出该数的正负性;加入一个新数时只需枚举遍历过的每一个子集,对该子
学习笔记——KMP模式匹配
KMP模式匹配 KMP 算法能够在线性时间内判定字符串 (Aleft[1sim Nright]) 是否是字符串 (Bleft[ 1 sim Mright]) 的字串,并求出字符串 (A) 在字符串 (B) 中各次出现的位置。 详细来讲,KMP 算法分为两步。 对字符串 (A) 进行自我匹配求出一个数组 (next),(nextleft[iright]) 表示 (A) 中以 (i) 结尾的非前缀字