教学
文章平均质量分 81
DevourPower
Devour
展开
-
acm常识入门(给即将进队或者刚刚进队的新生)(仍在更新)
模意义(同余)同余为数论中的重要概念:一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余。记作: a≡b(modm)a≡b(mod m)a≡b(modm)或者说 a%m=ba\%m = ba%m=b 。其中 %就是取模运算符;对模m同余是整数的一个等价关系。同余有很多奇妙的性质和玩法()首先我们约定:大写字母如A≡a(modp)A ≡ a(mod p)A≡a(modp)乘法:若:AB = C , 则ab %p= c%p乘原创 2021-08-04 23:47:19 · 336 阅读 · 0 评论 -
树上启发式合并【含2020CCPC长春F题等稍微变种】
学习了树上启发式合并一段时间了,我来写一个总结吧;树上启发式合并叫做Dsu On Tree被某个毒瘤大佬称为静态链分治;树上启发式合并我也不知道为什么叫启发式。但是在我的理解中树上启发式合并和莫队分块都是一样的暴力的机制。是一种合理分配查询的顺序来节省资源的做法;莫队分块可以在多次询问中合理安排询问的顺序,导致时间变成n*sqrt(n);而树上启发式合并则更加强悍,时间复杂度为nlogn;首先来一手板题:给你一个树,询问每一个结点子树中含有不同颜色的数有多少种;颜色也是与n一个数量级,设都是原创 2021-04-29 13:51:39 · 260 阅读 · 0 评论 -
Dsu on tree树上启发式合并经典例题算法代码剖析
题目链接:E. Lomsat gelral树上启发式合并合并,初见这个名字,我和大部分人一样望文生义觉得应该是子树信息的合并使用了一种“启发式”,相当于区间操作的线段树的Lzay标志一般,仅仅启发而不去真的合并。然后我兴高采烈的学了一下发现其实就是一个暴力。一个优雅的暴力优化。dsu on tree,dsu就是并查集,直译为树上并查集。(某L称该算法为静态链分治。首先我们审视一下题目暴力的写法:对于每个子树开一个桶或者对每个子树都清空一次桶,然后暴力跑得出空间为N2N^2N2 或者时间为N2N^2原创 2020-11-11 11:27:38 · 241 阅读 · 0 评论 -
ACM0基础动态规划启蒙:Dp是个啥
动态规划:DP:Dynamic Programming是算法的设计方法,是一种编程思想,主要用于解决最优解、计数类型的问题。Dp是一种思想!!!是一种没有固定代码的算法。如果不是一定要有严谨的记忆化,状态意义,状态转移方程,步数合并的过程才叫Dp,那么不妨把一些奇奇怪怪的东西也和Dp扯上关系0基础新人的第一个启蒙算法应该大部分都是 Dfs ,好我现在就把这个东西叫做Dp。Question:Dfs为什么叫Dp?Dp需要步数合并对吧,把一些没必要的操作给省略掉或者一些可以合并的操作給合并。举个例子原创 2020-10-19 18:56:58 · 981 阅读 · 0 评论