自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双错排问题

如果当前数字没放错(比如 pi=i),就把它和下一个位置 i+1的数字交换。如果最后剩下一个数字恰好和自己位置相等(比如 5 在 5 的位置),就把它和前面任意一个位置交换。next_permutation(a.begin(),a.end())——枚举a的所有排列。假设现在初始状态是 1,2,3,4,5 我们要错排。这样一操作,所有数字都不在自己位置上了。

2026-11-09 20:38:38 157

原创 贝尔数(组合数学)

贝尔数:讲n个不同数划分为任意集合组合的方法数。大数据可用递推公式优化为O(n log(n))求解方法:贝尔三角形 O(n^2)

2026-11-09 18:59:08 163

原创 状态空间最短路径

将两个人的位置做为状态存入节点,进行BFS。

2026-11-08 14:57:59 8

原创 (LCA&&拓扑排序)(树链刨分&&线段树)

【代码】(LCA&&拓扑排序)(树链刨分&&线段树)

2026-11-08 14:57:25 7

原创 树上倍增&&LCA

思路:DFS,回溯时把子树合并到父节点;遇到预先存好的询问,如果另一个点已经访问,当前并查集根就是 LCA。3)给定任意节点i,可以快速查询,从i节点往上走的路径中位于第s层的节点,O(log(n))2)建立每个节点往上跳2^i步能到达的节点编号,ST表,O(n*log(n))两点不断跳链顶,直到同一条链,深度浅的就是 LCA。优势:单次 O(1),查询天花板;给定树上任意两个节点a和b,快速求出a和b的最近公共祖先。1)BFS建立深度表,deep数组,O(n):u 的 2^k 级祖先。

2026-11-07 20:19:52 155

原创 倍增&&ST表

其实就是分成两半合并。

2026-11-07 15:47:31 182

原创 牛客周赛R168

【代码】牛客周赛R168。

2026-11-07 14:25:23 15

原创 牛客周赛R166(max型瓶颈最短路,前后缀DP合并)

优先队列 Dijkstra:按当前瓶颈值从小到大取点;O((n+m)logn)或者二分答案 + BFS/DFS 判断连通性;O((n+m)logV)或者按点权排序后用并查集。

2026-10-23 23:25:51 131

原创 大二第二周作业

题解是构造,我这个不咋一样,((和))位置固定,我们()只能交替放,看看会不会发生前缀)和大于前缀(。先枚举m长度,后枚举每个元素是否可用。

2026-09-24 17:32:02 21

原创 牛客周赛R161

0的处理需要注意一下。

2026-09-15 19:37:27 26

原创 最短路。。。

是用来求任意两个结点之间的最短路的.复杂度比较高,但是常数小,容易实现(只有三个for).适用于任何图,不管有向无向,边权正负,但是最短路必须存在.(不能有个负环)

2026-09-04 20:39:18 234

原创 牛客周赛R159

存入unordered_map,枚举每一种情况,通过ump查找。一直除以2,记录第一个和最后一个1,和1的个数。前缀和数组,二分查找所在区间。树上差分、欧拉序、树状数组。通过ump模拟整个过程。

2026-09-03 12:21:39 51

原创 2026牛客暑假多校训练营3

把标记位置放入差分数组,标记数目就是当前位置(i,j)到原点矩形内所有差分数组之和。求不规则多边形面积:将点标注连续序号,按序号两两叉乘,相加。主包一开始用斜率做的,浮点错误了,化简成乘法其实一样。一个大佬队的代码妙不可言。必胜态:至少有一条路径可走到终结点或必败态。向量叉乘,正为legt,负为right。状压DP,矩阵快速幂,同类合并降复杂度。我们是先遍历找终结点,再多源BFS。必败态:所有路径都只能走到必胜态。几何问题一般就是向量和三角函数。终结点:游戏结束的位置。

2026-08-19 17:48:10 204

原创 素数。。。

【代码】素数。。。

2026-08-19 17:46:49 30

原创 2026牛客暑假多校训练营2

边数<=点数-1时,没有环,答案最大,大于时,多一条边答案就少1。这线性基有点意思,第一次见。先说推导:分成两组,异或结果为x和y,ans=x+y,S=所有元素异或值,S是定值,我们只要结论:T=x&y 里能是 1 的 bit,。求maxT就是求wi最大子集异或值。

2026-07-26 17:52:16 245

原创 2026牛客暑假多校训练营1

2.因为加入节点值越来越大,我们往前推就行,要吃掉当前节点值,就先吃完连通块其他值(因为都比他小)得达到当前节点值大小,如果不到就查看增加值,如果增加值比以前的大就更新。这次比赛我主要在写这个了,最后还是没写出来,总结一下问题:1.博弈部分想不出来。把点分成两部分,一个部分的元素到另一部分任意元素距离范围都在要求内即可,不难但是没见过,积累经验吧。2.选择后手可以最大化的牌迫使对手选择第二选择。后手选择:1.先手1时直接选择最优选择。胜负:1.比较两者最大值2.比较先手选择后手最优选择与后手第二选择的值。

2026-07-22 02:08:14 208

原创 区间DP。

区间DP就是dp数组维护区间范围内的要求值,大区间值与小区间有关,最后输出答案区间的值最经典基础的区间DP下面有些名都是我自己瞎起的。

2026-07-20 20:56:29 157

原创 第六届上海理工大学ACM程序设计全国挑战赛

比赛很不错,都不是很难,主要靠思维吧,学东西多了,喜欢把问题复杂化了,反而看不懂题目的本质桶排序简单查询,二分和哈希表都行思路:查找一个序列中元素配对元素在另一个序列中的位置,记录下来,元素之间的顺序不能改变(不能直接找有多少个配对元素,新序列必须一一配对),问题就转化成了以坐标为元素的最大上升子序列问题。

2026-07-20 01:41:23 249

原创 树状数组。

优点:修改和查询树状数组的前缀和复杂度为O(logn)注意点:树状数组对下标有要求,必须从1开始(1-base)

2026-07-10 17:59:55 37 2

原创 矩阵连乘。

1确定递推公式和我们要求什么2将我们要求的东西用前项表示出来,用到的元素就是。通项公式,log10+1。对值取模(1en)即可。3元素之间的递推关系组成。比较麻烦,思路清晰的。

2026-07-08 14:22:07 194

原创 校赛六月月赛

做的真是一坨,每次月赛感觉做的都不好,出去玩了两天头玩晕了,固定算法做的不熟练,多练练基础吧。最难崩一题,函数名都写的BFS,还是写成了DFS,真是脑子宕机了。这段代码我改了一上午就完事RE,得出结论:林大OJ不能用IOS。哥德巴赫猜想:所有大于4的偶数都可以拆成2个质数之和。剩下我们需要讨论奇数,奇数满足条件一定是2+质数。不想说怎么了,wa了无数遍发现忘排序了。打表找规律,感觉规律并不好找。这个也不难,全分2,3。

2026-06-17 12:08:05 34

原创 第二十一届黑龙江省ccpc省赛

大一蒟蒻第一次打,感觉运气还不错,自己A了5题,团队6题,幸运拿末银,学校一队ac了9题,继续加油吧题解ppt不知道能不能发,有需要的私信吧题目可以去PTA做。

2026-06-12 21:08:46 196

原创 牛客R147

差分数论+DP。

2026-06-12 00:45:00 157

原创 牛客练习赛R154

这几周打周赛一直上分,感觉自己行了,树也学一些了,第一次打练习赛,给自己打回原形了,真菜啊。第一次的思路对了,但是1没特判,也不该用素数筛直接做,范围不够。刚知道一题不出不参与rating,就出了一题掉大分。wa了好多次,成功把分wa没了。官方题解没看懂什么意思。

2026-06-06 19:40:31 16

原创 牛客R146

官方题解(枚举方法第一次见,一个数组用来进行枚举)简单的DP,当时没做出来,多练练DP吧。分两类:底边平行于x轴和平行于y轴。看了两位大佬的滚动数组不错。

2026-06-02 20:48:31 38

原创 树形DP。

一般都是递归进行例题通常,树形 DP 状态一般都为当前节点的最优解.先 DFS 遍历子树的所有最优解,然后向上传递给子树的父节点来转移,最终根节点的值即为所求的最优解.。

2026-05-30 21:20:59 232

原创 高精度。。。

大位数运算问题,

2026-05-29 21:30:18 33

原创 牛客139

【代码】牛客139。

2026-05-28 23:07:54 15

原创 牛客R142(F树形DP)

ABCD比较简单,不写了。只要有单个突出就无解。

2026-05-27 10:23:56 17

原创 牛客R144(F树形DP没写)

知识点:两个数异或和为n,则两个数对n取模相等。简单找规律(没想到m>n+1要特判)就ac一个,全都错一个点无语了。没啥好说的,n=3写错个数。树的dfs,挺有意思的。

2026-05-27 10:23:13 16

原创 牛客R145

这题想难了,其实并查集,枚举两种颜色的边能否将图连起来就好。直接找太麻烦,不如找不好串。

2026-05-25 16:11:53 12

原创 牛客周赛R143

两位大佬两种风格,思路基本一样贪心+滑动窗口+小根堆。

2026-05-25 15:33:09 35

原创 14讲——最短路问题

(0)设置辅助数组Dist,其中每个分量Dist[k]表示:当前所求得的从源点到期于各个顶点k的最短路径。(1)在所有从原点出发的边中去一条权值最小的边,即为第一条最短路。按照最短路径的长度递增的次序,依次求得原点到其余各点的最短路径。(3)选出下一条最短路径,重复以上操作,直到找到所有最短路。(2)修改其他各顶点的Dist[k]的值。Dijkstra算法。图的存储(邻接矩阵)神奇的思路:设置一个。

2026-04-13 16:37:55 25

原创 第3讲——并查集

方法:将深度小的树合并到深度大的树;找某个元素属于哪个集合;每个集合用一颗有根树表示。(2)kruskal算法。用最小元素标记所在集合。(1)prime算法。

2026-04-13 13:20:50 47

原创 vector

2、删除区间内所有元素 erase(first,last),两个迭代器间所有元素。1、删除单个元素 erase(it);

2026-03-29 14:38:30 25

原创 queue/priority_queue

只能队尾插入,队首删除,不能随机访问。

2026-03-27 21:20:54 27

原创 set集合

去重,排序。

2026-03-27 21:13:24 28

原创 牛客周赛 R136

第一次打牛客周赛,感觉难度还好,没cf难,ac4个,剩两个数据结构还没学,学到了很多。

2026-03-26 20:41:44 43

原创 数据结构大纲

只有前后关系。

2026-03-24 23:08:42 220

原创 string

find() 用于查找子串 / 字符的位置,返回首次匹配的索引;找不到返回 string::npos(一个特殊值,表示不存在)。可以用[]或at()访问单个字符,两者的区别是:at()会做越界检查,抛出异常;[]不检查,越界会崩溃。比较(按 ASCII 码顺序),也可以用。省略,截取到字符串末尾。

2026-03-23 20:41:44 62

空空如也

空空如也

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

TA关注的人

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