自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (3)
  • 收藏
  • 关注

原创 分块(期间修改查询,最值)

实现分块就是将数据分成一个个区间(一般为sqrt(n),此时复杂度为n*sqrt(n))那么再复杂些,我们可以将mark标记玩出更多花(把他视为lazy标记一样?处理整块(打标记,类似于线段树的lazy?很容易求出,区间和除以区间长度即可。我们可以利用区间和维护一个平方和。两端点都在一个块内(暴力处理)两端点都在一个块内(暴力查询)为A的平均数A bar)两边的散块(暴力处理)两边的散块(暴力查询)

2023-10-17 00:09:06 84

原创 树状数组(区间操作,区间查询;单点操作,区间查询;单点查询,区间操作)

(写这篇笔记主要是因为我好像总是把这三个操作搞混...)最后,区间操作,区间修改(例如。

2023-10-14 20:51:39 69 1

原创 启发式搜索(迭代加深搜索,IDA*)

而这个可以与迭代加深搜索结合,我们预计一个状态到目标需要步数(最好情况)如果现有步数+预计步数>受深度限制也要return。这道题还要一个技巧,因为只有可以空,那么转换一下,不移动马,移动这个空(相当于移马)粗暴的理解就是给一个dfs模板加上一个深度限制,超过深度限制就return。并且我们可以发现,每个状态是有优劣的,优指此状态到目标需要步数小,劣反之。那么这道题的最大深度就为15,即。

2023-10-01 13:24:01 168

原创 容斥原理.

减2个交 加3个交 (减4个交)...一般来说用韦恩图能够较好的理解容斥原理。是因为中间灰色这块多减了一次。(截自OI-WIKI)

2023-09-05 20:56:31 48 1

原创 斜率优化DP

所以我们要求的就是b,也就是截距,这样我们可以用斜率维护一个凸包,每次把队头(也可以是栈,或者是二分)取出来计算答案(根据最开始的解析式),更新队尾(根据斜率)维护凸包。首先可以推出:f[i]=min(f[j]+(sun[i]-sum[j]-j+i-L-1)^2 (sum为输入的前缀和)对于一个有i,j,ij项的转移式,我们不能用单调队列去优化。因为我们要求dp[i]最小,所以我们需要求一个斜率最小的线。x代表有i且有j的项中含j的项。k代表有i且有j的项中含i的项。设A[i]=sum[i]+i。

2023-08-29 22:37:21 37 1

原创 异或哈希.

现在这颗苹果树就不像是一棵树了,成了一张 n 个点 n+m-1 条边的无向连通图,小Q是小 B 的好朋友,他觉得这棵树依然很脆弱,他告诉小 B,自己只要破坏两条边,一条是原树中的边,一条是小 B 新加的边,就能使苹果树不连通。对于这道题,可以把新加的边给一个随机权值(这条边两个点的随机值一样,并且不用真正的连边add),因为之前的树一切就断,一个子树可以被切下,且仅当只有一条(或没有)新加的边连到其他子树,答案加一,当没有新加的边连到其他子树答案就加m。输出一行一个整数,表示有多少种不同的方案。

2023-08-27 14:57:38 255

原创 数论:整除分块

对于n/i=n/j(向下取整)成立的最大的满足i<=j<=n的j为n/(n/i)(向下取整)所以对于这一区间的值的和我们可以用等差数列解决(很多题都是求和)

2023-08-26 22:02:49 33

原创 DP:数位DP

但我们发现对于位数比较多的数,这样的过程中有许多重复的部分。例如,从 7000 数到 7999、从 8000 数到 8999、和从 9000 数到 9999 的过程非常相似,它们都是后三位从 000 变到 999,不一样的地方只有千位这一位,所以我们可以把这些过程归并起来,将这些过程中产生的计数答案也都存在一个通用的数组里。数位DP题目基本都是小改板子,基本上改个判断之类的就可以了,有的可能DP加一个维度(比如进制。要求统计满足一定条件的数的数量(即,最终目的为计数);),很少有特别难的题。

2023-08-26 21:49:18 78

原创 字符串哈希

上面代码写的是一个比较两个s字串(s[x-1到x-1+c]和s[y-1到y-1+c])实际上只是用前缀和的思想优化之前的代码,p就是B,h就是res(很像,不是吗)把字符串映射到整数的函数 这个就是Hash 函数。

2023-08-16 16:29:01 36 1

原创 扫描线.周长

扫过的高度 * 2(纵边总有对应边)横边=|上次截的-这次截的|所以周长并中的线段树还要维护。被截得的线段条数,纵边=求周长与求面积差不多。其他地方与周长并一样。

2023-08-15 15:52:02 117

原创 扫描线.面积

其中13 15 8 9 5均被覆盖所以他们长度计算便是x[r+1]-x[l],其他线段就直接子树相加即可。我们可以把每一段线存入一颗线段树里,计算面积就乘line[i+1].h-line[i].h。l,r为左右端点,h为纵坐标,mark是一个1/-1的标记便于之后判断是否重叠被覆盖。把一个不规则图形分成多个四边形(不同颜色)然后底乘高。对于一个不规则图形我们可以用割补法计算它的面积。我们可以用一个结构体把每条红线(扫描线)存下来。再把每个端点的横坐标存下来(略)

2023-08-15 12:06:40 54

异或哈希,题目,大数据

题目数据

2023-08-27

opengl实例化与拾取

opengl实例化与拾取

2023-06-04

骨骼动画头文件.zip

骨骼动画头文件

2023-06-04

鱼书《深度学习入门基于python的理论与实现》代码

鱼书《深度学习入门基于python的理论与实现》代码

2023-05-06

《Directx12编程指南》源码

《Directx12编程指南》源码

2023-05-03

Opengl,Assimp载入模型

Opengl,Assimp载入模型

2023-05-03

ConsoleApplication3.zip

ConsoleApplication3.zip

2023-04-29

Learnopengl代码

封装部分learnopengl源码,注释较多

2023-04-29

空空如也

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

TA关注的人

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