数据结构与算法

1792 篇文章
110 人订阅

全部文章

attack

bitset中_Find_first()与_Find_next()函数

输出结果为233 1001,也就是说如果某个元素之后没有元素的话会返回bitset的大小

652
attack

i的二次幂求和

老祖宗告诉我们\(\sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6}\)

773
attack

抽象代数基础

初等代数是古老算术的推广和发展,在初等代数中开始用变量代替具体的数字,它的中心是解方程

641
attack

洛谷P5245 【模板】多项式快速幂(多项式ln 多项式exp)

582
attack

洛谷P4723 【模板】线性递推(多项式取模 线性代数)

662
attack

洛谷P4592 [TJOI2018]异或(可持久化01Trie)

422
attack

51nod"省选"模测 A 树的双直径(树形dp)

裸的up-down dp,维护一下一个点上下的直径就行,一开始还想了个假的思路写了半天。。

672
attack

cf1136E. Nastya Hasn't Written a Legend(二分 线段树)

显然从一个位置开始能影响到的位置是单调的,而且这些位置的每个改变量都是\((a_i + x) + \sum_{t=i}^{j-1} k_t\)

884
attack

给博客园加一个会动的小人-spig.js

顺便吐槽一句,原作者给的api都挂的差不多了,然鹅我是个js菜鸡连get/post都不会,所以凑合着改了一下api,欢迎各位大佬给出更好的解决方案qwq

692
attack

loj#6033. 「雅礼集训 2017 Day2」棋盘游戏(二分图博弈)

对于某个点,若它一定在最大匹配上,那么Bob必胜。因为Bob可以一直沿着匹配边都,Alice只能走非匹配边。到最后一定是Alice不能移动。

1015
attack

loj#6032. 「雅礼集训 2017 Day2」水箱(并查集 贪心 扫描线)

一个连通块的内状态使用两个变量即可维护\(ans\)表示联通块内的最大答案,\(f\)表示联通块内\(k=1\)的数量

492
attack

洛谷P4103 [HEOI2014]大工程(虚树 树形dp)

任意两点的路径和可以考虑每条边两边的贡献,\(d[x]\)表示到该节点的所有节点的路径和,转移的时候考虑一下两棵子树的siz就行(画一下图就很清楚了)

703
attack

UOJ#310. 【UNR #2】黎明前的巧克力(FWT)

593
attack

洛谷P4588 [TJOI2018]数学计算(线段树)

1112
attack

洛谷P4590 [TJOI2018]游园会(状压dp LCS)

\[f[i][j] = max(f[i - 1][j], f[i][j - 1], f[i - 1][j - 1] + (A_i = B_j))\]

742
attack

洛谷P4591 [TJOI2018]碱基序列(hash dp)

962
attack

洛谷P4589 [TJOI2018]智力竞赛(二分答案 二分图匹配)

多读读题就会发现题目要求的就是可相交的最小路径覆盖,那么按照套路先floyd一遍,如果能联通的话就再二分图中加边,然后判一下最大匹配数就行了。刚开始以为因为有的...

782
attack

loj#6031. 「雅礼集训 2017 Day1」字符串(SAM 广义SAM 数据分治)

考虑K比较小的情况,可以直接暴力建SAM, 枚举w的子串算出现次数。询问用个 的vector记录一下每次在vector里二分就好。

661
attack

loj#6030. 「雅礼集训 2017 Day1」矩阵(贪心 构造)

582
attack

loj#6029. 「雅礼集训 2017 Day1」市场(线段树)

除法是不能打标记的,所以只能暴力递归。这里我们加一个剪枝:如果区间内最大最小值的改变量都相同的话,就变成区间减。

503

扫码关注云+社区