自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 review(1)基础算法+基础数据结构+基础图论+简单dp

前缀和,快速求出一段区间的和。前缀和计算l-1,差分修改r+1。当遇到一个新元素,二分一下找出结尾小于该数的,,长度最长的序列,然后更新长度+1(和已经求出的长度+1的方案比较)当初看这个的时候感觉好难想啊,,现在看来思路是:找出结尾小于该数长度最长的方案 其实是很自然的。的最长上升子序列所有结尾中,结尾最小min的) 即长度为i的子序列末尾最小元素是什么。注意如果是r=mid-1,,则mid要l+r+1>>1。单调栈:求出第一个小于当前数、大于当前数的数。1.单链表,h,e,ne,idx;

2023-04-05 20:41:39 335 1

原创 fwdiary(11)ACC

浅浅锐评一下,确实有点太简单了,基本无思维量,都是直接码。但是对鼠鼠来说还是有一写细节导致WA了。

2023-04-04 22:15:39 142

原创 fwdiary(10) 复习

如果先分解质因数,发现如果质因数的幂次是倍数关系,就可以合起来。如果合到只剩两个数,设幂次为a,b。那么答案容易想到应该是 正序n-k点前的最长下降子序列+k、逆序k点后的最长下降子序列+k、某点i的正序最长+k+(i+k)的逆序最长。状态转移中,是找到前面小于i号点值的点中,f(j)最大的。Ei=1(爬一次)+pi+1*E0(掉下去了)+(1-pi+1)Ei+1(没掉下去)状态表示f(r)存储的是最大的l,使得l到r内,存在两个满足条件的数。另外,如果有个质因数幂次为1,那么一定不可能,直接结束。

2023-04-02 21:40:14 241

原创 fwdiary(9) 状压dp 搜索

所以建立超级原点n,因此初始时合法状态为,从n点到i点,状态为1

2023-03-30 15:16:17 268

原创 fwdiary(8) 区间dp,树形dp 记忆化搜索

首先遍历节点u的所有节点,枚举在该节点获得多少张票。此时我们应该知道,以子节点为根的子树中,选择k张票的最小代价,将这些看做物品(在子节点为根的子树中选择0到size(j)张票),那么实际上是个01背包问题。假设切割成A,B两部分,一种是把A作为单独切出来的一块,然后继续切割B。因此状态划分枚举在l,r内,如果wk==wr,则把k+1到r的消去,wk接上r之后的co个一起消去。那么再r之后,在l之前同时消去的方案可能记录不到,写不出状态转移方程。那就状态表示,在以u为根的子树中选择,得到。

2023-03-30 00:47:12 133

原创 fwdiary(7) 矩阵乘法,线段树

只需要去第k维状态,又是个矩阵乘法,显然可以用快速幂优化。那么接下来关注的就是第一维怎么求,又想到可能不用机会也可能是答案,因此还要求第0维。第0维就是floyd直接求最短路,第1维求法:枚举在哪条边上使用魔法。已知邻接矩阵n次幂 是经过n条边的最短路。同样运用动态规划思想,如果r小于l,证明是环形,所以l到n增值,再1到r增值。l到n最小值,再和1到r最小值,二者的最小值就是答案。k次机会可以是花费变成相反数,求最短路。接着就可以快速幂咯。

2023-03-29 00:45:37 73

原创 fwdiary(4) dp

就是每一个点,到子树的所有距离中,两个最长的加起来就是树的最长距离。(从一点找出最长距离点,再从该点再找最长距离点,始末两点连线就是树的最长距离)这里没有明确给出谁是谁的根节点,对于这种情况,建立无向图,dfs的时候默认一个点为根,father为-1,并在dfs的时候记录father。因此状态表示为,选择u的并且继续在u的子树中选择的集合。唯一要注意的点,S是非空的,所以必须如果点的权值都小于0,也要选一个。和没有上司的舞会一样,记录该点放不放士兵,根据情况状态转移。eee记录连通块点数最大和。

2023-03-24 10:20:39 46

原创 fwdiary(3) dp

如果选择,就是在i之前的最大连续子段和(大于0)加上a(i)。在遍历过程中用一个变量s不难记录。转移方法:集合划分为选择i与不选择i,如果不选择,以前i项最大为例,f(i)=f(i-1)一开始想的是,必须要以i结尾。那这样最后枚举答案的时候就是n方级别复杂度。则枚举答案时是n级别复杂度。并且也可以状态转移。记录状态转移方案,也就是树的根,然后dfs求解具体方案。注意k的遍历要遍历到l,r,因为可能没有左或者右子树。显然是记录1-i 和i+n的最大连续子段和。注意emm a的定义带来的性质。

2023-03-24 00:26:07 50

原创 fwdiary(2) dp2

走两条路,走一条最大的再走一条次最大的显然不是合起来最大的,那么只能考虑同时走,同时走就需要记录两条路线的坐标,那么有4维。求目标方案:base+v,base-v开始搜,如果搜到其中一个不为0,则证明找到答案,取此时base+v,base-v中d+p最大的状态。状态表示:分得0个,则等于所有人减1个饼干,直到最少的饼干数是1.所以方案数可以等价于i个人分得j-i个饼干的方案数。没有先修课,则父节点为0,因此0是根节点,最终答案要把0选上,所以实际上是m+1个结点。设i行为a,i-1行为b,i-2行为c。

2023-03-23 00:49:16 145

原创 fwdiary(1)dp

因此,我们考虑最后一个同学摆放在哪一排,因此状态表示为每排摆放了a b c d e个人的方案。暴力想法,经典状态表示 f(i)表示完成前i个请求的最小花费,通过指派一名服务员则可转移到下一个状态。菜狗没思路,于是考虑经典表示,完成前i个数的构造,(由于bi取值会对后面造成影响,且n最大只有2000,因此需要加一维),并且bi=j时,S的最小值。看了题解,思路没错,但是少一个引理:在满足S最小化的前提下,一定有一种构造方案,使得b中的数值在a中都出现过。,再者遍历b数组前面b比k小的数,

2023-03-21 00:55:35 87

原创 (2)bomblab

在发现phase4内还存在一个字符串比对过程,比对成功就能跳到能secret_phase的地址。secret_phase本意是个二叉树递归,但是老师好像该难度了,直接一开始让递归终止就解决了。5.观察程序,发现会根据我们输入的字符串的每个字符,先转变成一个整数,然后根据这个整数取出某个地方的值,然后6个值加起来等于给定值。思路:观察程序,实际上给定了第一个数,后面的数由前一个数在循环中按照某种关系递推得到。3.switch 按照输入的第一个数,函数会跳到某个位置,只有一个位置合法。

2023-03-19 21:24:47 45

原创 (1)!+-<<>>|&^

...

2023-02-24 13:11:15 819 1

原创 图论(8)LCA

lca

2023-02-05 21:44:00 320

原创 图论(7)负环和差分约束

负环

2023-01-29 22:02:31 561

原创 图论(6)最小生成树扩展

最小生成树

2023-01-28 23:41:05 345

原创 图论(5)最小生成树简单应用

最小生成树简单应用

2023-01-28 00:58:12 481

原创 图论(4)Floyd算法

floyd

2023-01-27 22:02:09 1616

原创 数据结构(5) treap

Treap

2023-01-18 22:40:58 1274

原创 数据结构(4)线段树、延迟标记、扫描线

线段树懒标记 扫描线

2023-01-17 15:37:38 432

原创 数据结构(3)线段树基础

线段树

2023-01-16 16:18:56 615

原创 数据结构(2)树状数组

树状数组

2023-01-12 12:15:47 469

原创 数据结构(1)并查集

并查集

2023-01-11 00:19:13 131

原创 图论(3)单源最短路拓展

最短路简单应用

2023-01-03 15:44:06 383

原创 图论(2)单源最短路的综合应用

最短路应用

2022-12-29 10:05:30 253

原创 python数据分析(1)numpy基础

numpy入门

2022-12-28 00:31:01 656

原创 图论(1):单源最短路的建图方式

最短路

2022-12-27 21:33:11 690

原创 python基础(33):hashlib

python基础

2022-12-25 17:32:01 109

原创 python基础(32)内建模块:base64 struct

python基础

2022-12-25 16:58:48 96

原创 python基础(29):正则表达式

python基础

2022-12-25 12:52:12 73

原创 python基础(28):分布式进程

python 基础

2022-12-25 11:06:06 123

原创 python基础(27)多线程

python基础

2022-12-25 10:26:44 711

原创 python基础(26):进程和线程

python基础

2022-12-24 21:05:03 86

原创 搜索(5):迭代加深、双向dfs ,IDA*

迭代加深,双向dfs IDA*

2022-12-24 17:30:38 648

原创 python基础(25):StringIO和BytesIO 序列化

python基础

2022-12-24 12:11:47 1050

原创 python基础(24)IO编程

python基础

2022-12-24 11:00:31 593

原创 python基础(23):文档测试

python基础

2022-12-24 10:32:51 99

原创 python基础(22)调试 测试

python基础

2022-12-24 09:22:54 96

原创 python基础(21):错误处理

python基础

2022-12-23 23:36:52 129

原创 python基础(20):枚举类

python基础

2022-12-23 22:59:41 243

原创 python基础(19):多重继承

python基础

2022-12-23 22:34:41 202

空空如也

空空如也

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

TA关注的人

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