自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机就业初调研

首先如果是对科研感兴趣的,一条很常见的路就是留高校,走教授助理—讲师—副教授—教授的职称路,当然还有优青,杰青,青年,长江等等的帽子。然后其他的几个没提到的,只要技术够硬,年薪也能破百万。要是14年进互联网,只要紧跟时代,现在随便年薪破百了,wuu~~为啥我不是那个时候的~~~还有一些游戏设计的岗位也可以去尝试,数值策划,战斗策划,剧情策划啊很多,如果对游戏感兴趣的同学可以去试试的。不过看到当今计算机的就业情况,加上本科学历的贬值,想要放弃到手的保研机会,既有些不合理,也有些心疼,那么保研的路子是确定了。

2024-02-19 12:44:32 511

原创 2023“钉耙编程”中国大学生算法设计超级联赛(2)

Alice 和 Bob玩游戏,给定n和k,初始有n≤kk1k先无法操作者输。SG函数的题,好在还没忘记根据SG的原理可以知道:首先SG00。接下来小于k的,SG1...k1。由于k1无法操作,SGk10。对于k1,有SGxmexi1x−k−1​SGi⊕SGx−k−i])然后打标找规律,会发现符合SGx0的x是一个等差数列,公差为4k2。

2023-07-26 01:17:13 367

原创 2023“钉耙编程”中国大学生算法设计超级联赛(1)

给出长度为n的数组ai1 l r xlrai∣ai−x∣2 l r∑ilr​ai0≤xj​≤xj1​≤107,并且nm≤2×105这题很是一个线段树的题先将绝对值打开,变成了两种情况,aix一种,ai≤x另一种。

2023-07-26 01:14:44 339

原创 求逆元的3种方法(数论)(同余)

1.线性求逆元假设模数为p, p=i⋅k+r,k,r∈Z,0≤r<ip=i\cdot k+r,k,r\in \Z,0\leq r<ip=i⋅k+r,k,r∈Z,0≤r<i两边同时对p取mod得: 0≡i⋅k+r(mod  p)0\equiv i\cdot k+r(\mod p)0≡i⋅k+r(modp)两边同时乘i−1⋅r−1i^{-1}\cdot r^{-1}i−1⋅r−1,把i−1i^{-1}i−1分离出来 得: 0≡k⋅r−1+i−1(mod  p)0\equiv k\cdot

2022-11-02 13:38:22 484

原创 LCT—模板

它的核心操作是Access(x)和Makeroot(x),功能分别是将x与原树的根建立起联系(具体来说是一头一尾);注意其中有一个叫“原树”,一个是“辅助树”。Splay和Rotate操作都是对辅助树而言的。Link-Cut Tree可以十分灵活地处理树,它可以轻松地将树节点Cut或者Link。

2022-11-02 11:23:29 153

原创 三维偏序—板子

逐一枚举右边,比右边小的左边就以权值加入树状数组,最后求个和。第一维先排序,然后二分看待。对于左边排个序,右边排个序。

2022-11-02 11:22:34 119

原创 李超线段树—板子

【代码】李超线段树—板子。

2022-11-02 11:21:27 123

原创 珂朵莉树—简介

区间操作需要把区间拿出来,split(pos)表示把区间分裂成。既然一个区间的点都是一样的,那么就可以直接用一个点来表示。,同时返回后面的迭代器。剩下的工作就是暴力了。

2022-11-02 11:20:45 92

原创 Splay—板子

【代码】Splay—板子。

2022-11-02 11:14:43 76

原创 带修主席树—简介

仔细分析,发现主席树维护的其实是前缀和,前缀和有一个微型数据结构十分的擅长,那就是树状数组。于是不妨考虑将树状数组和主席树结合,那么就可以将刚刚的T改成至多。具体来说,就是将原本平行的主席树,变成了树状数组的结构,这样下来就可以只修改比当前节点要高树状数组节点了。描述的是当前部分后面还有多少的个“链”需要修改,如果对于一棵正常的主席树而言,修改。主席树仅有“版本”之别,却无修改之说。如果强行修改,那么耗费的时间复杂度是。带修主席树本质其实是树套树,是树状数组修饰的主席树。考虑怎样让它的修改次数减少。

2022-11-02 11:13:30 346

原创 可持久化字典树—例题

query的时候依旧是这样的一个思想,所以呢第一个点访问的点(也就是root[id])没有任何的信息,只是做了一个开头的工作。)所以在访问第i个节点时,我们已经处理的内容的内容是i-1这么的,然后现在要处理的是接下来要去哪个地方,往那个地方去会有什么收益。root[id]表示的内容其实是空的,所以一条长为len的字符串(做个假设),会产生len+1个节点。所以for循环到i的时候,是在处理节点i-1的。所以一定要注意到,最后s[i]的情况是需要单独在build的地下处理的。这个算法的思想还是很简单的。

2022-11-02 11:00:34 199

原创 单位根反演—简介

单位根反演总的来说不是一个非常难的姿势,但是确实解决某些问题的必要前提它可以在O(k)的时间内求一个数列(或是生成函数)所有下标是k的倍数的点值和[k∣n]=k1​i=0∑k−1​ωkni​证明:如果k∣nk1​i=0∑k−1​ωkni​=k1​i=0∑k−1​(ωkn​)i=k1​i=0∑k−1​ωk0​=1如果k∤nk1。

2022-11-02 10:57:53 315

原创 笛卡尔树—简介

笛卡尔树是堆与二叉查找树的结合版本。所以他当然是一棵二叉树,然后又具有小根堆的性质。每一个节点有一个键值二元组组成(k,w)构成。如果笛卡尔树的(k,w)是确定的,那么笛卡尔树的结构是惟一的。其实图中的笛卡尔树是一种特殊的情况,因为二元组的键值k恰好对应数组下标,这种特殊的笛卡尔树有一个性质,就是一棵子树内的下标是连续的一个区间(这样才能满足二叉搜索树的性质)。更一般的情况则是任意二元组构建的笛卡尔树。

2022-11-02 10:55:54 338 1

原创 概率DP—二刷

概率DP二刷,摸到了一些概率套路,解决了循环转移的一些基本方法。上有很多题目,我是看着它过的一遍。

2022-11-01 22:29:46 439

原创 欧拉函数性质

【代码】欧拉函数性质。

2022-10-26 21:31:23 112

原创 莫比乌斯函数—入门(待完结)

除到另一边去,变成了。

2022-10-26 21:27:23 264

原创 CF#829 E. Wish I Knew How to Sort(概率DP)

原来是我对f[i]理解存在偏差,应该是第一次抵达i时的期望步数。这样一来,f[0]才是答案表达的意思。f[cnt]自然也是0了,因为一开始就抵达了cnt这种状态。犯了两个错误,一是只算了选择的数字是在s0和s1中,忽视了两个都在s0和两个都在s1中的情况。二是应该在f[i+1]下考虑这个问题,i应该取i+1。f[cnt]的状态下会自己转移到自己,所以出现cnt这个状态的期望步数肯定不是0,为什么开头赋值0了呢?很显然最终前s0个数是0,后s1个是1。对于f[i]的情况,考虑做了有效交换。

2022-10-23 21:26:27 518 1

原创 CF852E Casinos and travel(数学)

非叶节点的+1是解决问题的关键,如果根在x的一端,那么x的+1是会传递过去的;如果根在x的另一端,+1也会传递过去。也就是说+1是传递遍全图的。最后的方案数是要所有加起来的,当时脑子里全想着取了log,所以加法是乘法,应该把所有方案数乘起来,是错误的。给一棵树,从任意起点出发,到路径末端时,经过“魔法点”的个数为偶数的方案数和。叶结点发现他自己的+1能对自己生效,所以多一个1,记叶子有leaf个,非叶子nleaf,问题答案。=x的所有子儿子是偶数/奇数的方案数数。进而又发现f是2的幂次,取log再改写。

2022-10-22 19:28:48 371

原创 CF比赛1610D. Not Quite Lee(Codeforces Global Round 17)(数学)(计数)

可以发现,只要出现了一个奇数,这个子序列一定是满足条件的。所有问题可以看拆分成:存在奇数的子序列,纯偶数的子序列。问有多少个子序列,满足这些连续数字和为0。的消除方式只能让偶数个这样的数加起来。是给定的,但开始位置是待定的,记为。减一是除去了一个奇数不选的情况。从等差数列求和来考虑。,也就是偶数项相加,无论。是奇还是偶,和是固定的。给出一个序列的数字,目标是子序列的数和为。

2022-10-21 11:13:19 231

原创 CF1726G A Certain Magical Party(计数类DP)(结论题)

的人之后(这些人随便就行了),每个位置上应该是什么样的人是固定的。所以这题仅仅需要判定0的情况,剩下的交给阶乘解决就OK了。,因为最后一个加分的人一定是0,比它大的有。没想到这题居然有这样的结论!个大于它的人,等价于要求有。是不需要满足上面的要求的。

2022-10-20 22:17:30 113

原创 CF1736E - Swap and Take(DP)(前缀最大优化)

我发现了一个错误的性质,从后面往前移的数,一定会移动回原来的位置,甚至更后。然后很容易写出一个状态转移方程,分两种情况,当前最后这个数往前移动到某个位置之后再回来,其实样例2就给出了一个反例,是可以不用回到原点的,只要后面有人补上来就可以。答案设的f[t][last][m] = 前t个用了m次转移,最后一个数是a[last]。我一开始设的状态f[i][j]=前i个数用了j次转移的最大得分。每轮交换相邻两数,交换后任其一置0,第i轮取第i位的得分,希望总分和最大。如果是将后面a[last]调到i这来,

2022-10-14 10:57:09 346

原创 牛客国庆比赛 K number(顺序思维)(dp)

f[i][0/1/2]表示以i结尾的,模3为0/1/2的子串个数。转移很好写,注意区分“转移”和“新增”。选择一个子串,使其为300的倍数,特别地0,00,000以及不同位置的相同子串,都算。一定要有数学归纳法的思想,这对于解所有编程问题都很重要。的情况是不会被这种方法统计进去的,要特别计算。

2022-10-07 10:16:09 71

原创 牛客比赛4176D distance(适当重构)(BFS)

适时重构就可以了,bfs遍历全图。后来的新点for循环枚举比较

2022-10-07 10:10:18 140

原创 bsgs-记得等比数列 AtCoder arc147_D

分类讨论,考虑清楚所有可能情况,在bsgs中不会出现的。然后剩下就是模板解决的问题了。比如,什么时候解是0,如果除了个0会怎样。A=0和A=1这些边界条件下有什么特殊情况?很快可以推出一个公式,然后等比数列一下,就可以变成只剩下形如拔山盖世的公式。

2022-10-04 15:40:02 145

原创 2022ICPC预选赛 A Yet Another Remainder(数学)(构造)

只需先找到最低位对应的求和位置,然后逐个向左去枚举,每向左一个就是高一个10。p-1行在模p运算下同余,记。所以在p-1行上计算结果。

2022-10-02 15:26:15 173

原创 概率DP—练习

从期望已知的地方开始算起,逐步递推。公式的依据,期望的线性性质E(aX+bY)=aE(X)+bE(Y)。进一步可以推导出这样的结论E(X)=i∑​P(X∣Yi​)⋅E(Yi​)明白了一件事,DP方程的设计代表一种决策的选择。最开始我设计的方程是f[i][j]表示前i个教室,申请了j次的期望,发现不够用,于是新增了一维f[i][j][0/1]表示前i个教室,申请了j次,最后在0(原教室),1(新教室)的期望。

2022-09-29 15:03:26 282

原创 hdu7419 2022杭电杯 Alice and Bob(博弈)(思维)

可以对数进行如下的操作:首先Alice将现有的数分成两个集合,Bob会将其中一个集合的数全部删掉,并且将另一个集合的数全部减掉。这个想想就是很容易做到的,也是可行的。),每次的Bob的删除操作对应的将一部分数删掉;另一部分在原题中是减1的操作,在他这就变成了乘。所以,对于Bob每次将数删去一半,如果Alice能够将数再乘回来,保证数的和仍然是大于等于。个非负整数,Alice的目标是出现为0的数,否则Bob获胜。我的一种贪心想法,从大到小的枚举数,对于一个值为。从正解的角度来看,现在要判断的就是所有数的。

2022-09-12 15:55:57 242

原创 hdu7141 2022杭电杯1 Ball(排序)(bitset)

我们可以考虑先对所有的边进行一次排序,从小到大的枚举两两距离,这样枚举上去,就能保证之前的边是比现在小的,之后的是比现在大的。很自然想,那能不能枚举距离为质数的两点,然后看看以这条边为中位数的方案数有多少个(记两点的距离为。个点,定义两点间的距离为曼哈顿距离,求这样的三点的方案数,满足三点两两距离(有。是刚刚说的bitset。进一步,那么就要求出某个点连接这两个点,它们的距离一个比。的距离枚举过了(就是说对于以后点而言是较小的),那么让。显然是可做但是不行的一种方法。个数)中的中位数为质数。

2022-09-12 15:39:01 76

原创 2022CCPC预选赛J Roulette

初始前d的钱,然后概率p能赌赢,赢或者输由交互决定。这题什么都不卡,所以最低赌注是。,这样可以省去写高精度的问题。实际上可以赌得豪一点,直接。

2022-09-12 15:25:12 353

原创 2022CCPC预选赛C Guess(博弈)

再有如果,A头顶是2,B头顶是4。A说“不知道”,那B头上一定不是奇数,现在就是有4是可能的了。③轮到A,A接受到B的“不知道”信息后,便可以知道B看到自己头上不是一个奇数(如果A头上是奇数,那B是可以知道自己是多少的),那在。(B知道自己要么1要么4),而第一轮时A说“不知道”(说明B不是一个奇数),B就足够猜出自己是。A看到B头顶是4,它便可以知道自己是。首先,如果某个人是奇数,那么另一个人一定可以推出自己的数字,就是那个人的两倍。,那B在第一轮就应该知道自己是多少了,然而他并不知道,所以只能是情况。

2022-09-12 15:24:12 727

原创 hdu7141 Ball(排序)(bitset)

我们可以考虑先对所有的边进行一次排序,从小到大的枚举两两距离,这样枚举上去,就能保证之前的边是比现在小的,之后的是比现在大的。很自然想,那能不能枚举距离为质数的两点,然后看看以这条边为中位数的方案数有多少个(记两点的距离为。个点,定义两点间的距离为曼哈顿距离,求这样的三点的方案数,满足三点两两距离(有。是刚刚说的bitset。进一步,那么就要求出某个点连接这两个点,它们的距离一个比。的距离枚举过了(就是说对于以后点而言是较小的),那么让。显然是可做但是不行的一种方法。个数)中的中位数为质数。...

2022-07-27 20:34:18 126

原创 hdu7156 Snatch Groceries(阅读题)

这种题目建议先聚焦关键词,比如说在题目描述的最后面。排序直接判断上一个end和这一个start即可。当时读题没搞懂~~最关键的地方反而忽略了。区间不能重叠,从前往后数,停在重叠前。只要读好题目就可以做了。......

2022-07-22 11:03:05 185

原创 hdu1752 Copy(bitset)

试了试区间高手“线段树”,发现它无能为力。它可以实现区间减法,但是没办法快速找到大于。同时还注意到,只是求异或和,所以两次的异或等于啥也没干。如果真是这样做,那么就得要实现一个数据结构,能够实现大于。一开始没注意到数据范围,想了很久都没有一个好思路。还是刚刚的做法,对应到现在的bitset表示上。,那就直接把现在这个位置上的数拿出来就好。一种暴力的方法,从后往前枚举询问。相应的逆向操作回来,那么就需要将。可以注意到,“倒推”是一种好方法。位的bitset来表示,记为。以后的数是不需要考虑的。...

2022-07-22 11:01:30 237

原创 OpenCV初学总结

今天初学OpenCV,目前还没学到图像识别的地方,只是停留在对图片的处理上。下面就让我来总结一下,学了一个下午的收获有哪些吧。函数使用查表图像.shape:这是一个列表,返回至多3个数,(h,w,颜色通道数)类型转换:im = cv2.cvtColor(图片,cv2.COLOR_类型2类型(类型名大写,RGB/BGR/HSV))使图片按变换矩阵变:im = warpAffine(图像,变换矩阵,(w,h)(原图形的参数))旋转系数矩阵:im = cv2.getRotationMatrix

2022-04-30 20:15:05 2414

原创 Codeforces Round #781 CF1665 CDE

1665A - GCD vs LCM1665B - Array Cloning Technique1665C - Tree Infection(贪心)(模拟)最小次数,使所有点感染。每一秒钟,1)可以感染一个新的节点,2)兄弟群(拥有同一个父亲的点)会新增一位被感染(-> 注意这里,即使这个兄弟群中主动感染了2个以上,一秒也只能多一个新感染的)首先统计兄弟群,兄弟群大小为sum[i],i为他们共同的父亲。接下来就是这串数字进行处理。我想的是先去感染大的兄弟群,让感染人在内部扩散。但是我忽

2022-04-09 21:48:21 1250 3

原创 Codeforces Round #775 CF1649 ABCD

1649A - Game(英语题)不能走0,最小跳跃长度题目描述很微妙,注意只能跳一次!我开始以为是遇到连续000才跳,后来感谢EM-LGH大神,才让我悟到了正确题意。1649B - Game of Ball Passing(贪心)传球游戏,最小轮数很容易想到贪心,从最多的人开始,传给现在最多那个人。这个贪心转化为代码实现,就是找到最大的那个人的球数mx,统计其他人的球数sum,答案是max⁡(mx−sum,1)\max(mx-sum,1)max(mx−sum,1)1649C - We

2022-03-15 08:49:03 1092

原创 Educational Codeforces Round 123 CF1644ABCDE

1644A - Doors and Keys回忆性题意:看样例就能想起题目了。 ~~开始偷懒了,嘻嘻~~4rgbBRGRgbrBGbBrRgGrgRGBb 谁做水知道,水题不BB。关键是读题要快一点。我题刚读明白,别人就已经A了1644B - Anti-Fibonacci Permutation(构造)44 1 3 21 2 4 33 4 1 22 4 1 3pi−2+pi−1≠pip_{i−2}+p_{i−1}≠p_ipi−2​+pi−1​​=pi​我是因为发现了,如果

2022-02-27 23:58:44 283

原创 一起打CF吗?

你也在打CF吗?怎样,和我一起吧!每一场比赛我的比赛心路历程和题目解析都会在这里和你见面。如果你也在打CF,不妨点个关注,我们一起来吧~~~目前还只是一个1370分的小菜鸡~~~恳请各路大佬多多批评指正,不吝赐教。我也希望我的所思所想对你能有一丢丢的帮助。或者是你很想每一场CF都打,但是担心自己会在某个不经意的时间偷懒,也欢迎互相监督!...

2022-02-25 22:02:14 185 1

原创 Codeforces Round #772 (Div. 2) CF1635ABCDEF

1635A - Min Or Sum回忆性题意:改变两个数,但 或 不能变,求整个数组最小和。挺好想的,只要抓住或运算有一位就够了,并且答案的构造非常可行,就可以解决了。答案证明给出了一个式子a1∣a2∣...∣an≤a1+a2+...+ana_1|a_2|...|a_n\leq a_1+a_2+...+a_na1​∣a2​∣...∣an​≤a1​+a2​+...+an​挺对的。1635B - Avoid Local Maximums回忆性题意:通过最少次数调整,使得local maximum不复

2022-02-25 18:28:48 286

原创 究极最大流算法(ISAP)(HLPP)

有2个ISAP(Improved Shortest Augumenting Path),和最高标号预流推进(HLPP)。Dinic 和 ISAP 都是O(n2m)O(n^2m)O(n2m),实际表现后者更优HLPP可以做到O(n2m)O(n^2\sqrt{m})O(n2m​)可以看这篇博客两者的目的都是为了减少分层图的重复建设。有一个优化叫**“gap优化”**。HLPP的gap优化和ISAP的形式不太一样。如果我们发现在给一个点抬高1的高度的时候,这个点原来的高度已经没有点了,那么我们直接把大

2022-02-18 11:47:22 853

空空如也

空空如也

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

TA关注的人

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