线段树合并nlogn.
转载 2017-02-01 16:32:00
88阅读
2评论
分块傻逼题。 memset很慢的。。。而且其实也没有用。。。。
转载 2016-07-18 20:45:00
95阅读
2评论
kruskal重构树。
转载 2016-09-18 14:27:00
116阅读
2评论
两题本质是一样,只不过3585要离散化这种不修改,不强制的问题,显然先考虑离线算法这道题的思路和bzoj1878非常像考虑到如果只是求每个前缀的mex,我们是很容易扫一遍就得出来的我们设为这个位置的mex考虑从左往右依次删除当前数会对后面产生什么影响我们设删除数a[i],a[i]下一个相同数的位置为next[a[i]]显然对于[i+1,next[a[i]]-1]这些位置的mex可能有影响(如过没有
转载 2014-12-08 13:14:00
85阅读
2评论
最小割的经典模型,体现出最小割的基本定义,把两个集合划分的最小代价 把一开始同意的人连源点,不同意的连汇点,有关系的人之间连边,流量都为1 不难发现,割两点(人)间的边就相当于朋友之间发生冲突 割到连源汇点的边就相当于与原来意愿不同 所以解决问题的方案等于图中的一个割 则最少冲突数=最小割=最大流 1 type node=record 2        point,flow,next:
转载 2014-04-14 15:51:00
96阅读
2评论
线段树的裸题; 但是操作很奇怪,开方是不能lazy tag的 看来只能暴力修改了 但注意,开放开到1的时候就不用开,立一个flag就可以了 这可以大大的优化; 其实我是来复习线段树的 1 var tree:array[0..400010] of int64; 2     lazy:array[0..400010] of boolean; 3     a:array[0..100010]
转载 2014-05-02 23:43:00
111阅读
2评论
BZOJ4712 洪水 BZOJ4712 洪水 1 题外话 鸽了好久 2 sol 首先考虑没有修改的情况,题目变成一个简单的dp 设\(f_i\) 表示从\(i\) 出发走不到所有其叶子节点的最小代价 则\(f_i=min(V_i,\sum_{t}f_t)\) 其中\(V_i\) 为删去\(i\) ...
转载 2021-07-15 15:26:00
75阅读
2评论
两题是类似的,这里说一下bzoj1853 首先我们求出所有的幸运号码,注意如果存在x是y的倍数则x不算在内,避免之后重复计算 下面我们就要统计幸运号码的倍数了,这显然是要用到容斥原理的 但是幸运号码很多,如果直接暴力找几个幸运号码的公倍数做容斥原理弄会TLE的; 因此我们想到在搜索中剪枝,如果几个幸运号码的公倍数已经大于r, 那么我们一定不会再用这几个幸运号码和别的幸运号码求公倍数了 为了体现这个
转载 2014-10-07 21:34:00
118阅读
2评论
BZOJ4128 Matrix BZOJ4128 Matrix 1 题外话 调了半天竟是因为比较函数打错 2 sol 矩阵离散对数 令\(x=A\lceil \sqrt{p} \rceil -B\) ,其中\(0\leqslant A,B \leq \lceil \sqrt{p} \rceil\) ...
转载 2021-07-16 19:57:00
117阅读
2评论
一、内容七夕节因牛郎织女的传说而被扣上了「情人节」的帽子。于是TYVJ今年举办了一次线下七夕祭。Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩。TYVJ七夕祭和11区的夏祭的形式很像。矩形的祭典会场由N排M列共计N×M个摊点组成。虽然摊点种类繁多,不过cl只对其中的一部分摊点感兴趣,比如章鱼烧、苹果糖、棉花糖、射的屋……什么的。Van...
原创 2022-02-03 10:45:18
55阅读
Description  麻将是中国传统的娱乐工具之一。麻将牌的牌可以分为字牌(共有东、南、西、北、中、发、白七种)和序数 牌(分为条子、饼子、万子三种花色,每种花色各有一到九的九种牌),每种牌各四张。在麻将中,通常情况下一 组和了的牌(即完成的牌)由十四张牌组成。十四张牌中的两张组成对子(即完全相同的两张牌),剩余的十二张 组成三张一组的四组,每一组须为顺子(即同花色且序数相连的序数牌,例
原创 2022-04-19 16:15:39
53阅读
思路:水题, 将所有点按x轴对称反转,就变成了两堆点的坐标和的差。。
转载 2018-06-16 20:36:00
33阅读
2评论
思路:很容易就能想到统计没两对点之间的未匹配点的个数。 在想怎么用数据结构维护这个东西, 没有想到用树状数组能很巧妙地维护出来, 就写了个莫队。。。 莫队:暴力维护就好了。 树状数组: 对于第一次遇到的数a[ i ], 我们往 i 位置加1, 对于第二次遇到的数,我们往 pre[ a[ i ] ]
转载 2018-06-15 15:28:00
24阅读
2评论
dfs + 剪枝, 用最大最小值剪。
转载 2018-06-12 19:49:00
38阅读
2评论
思路:因为被占奇数次的点只有一个, 那么我们可以将数轴分成两部分,奇数次点之前的前缀和为偶数,之后的前缀和为奇数, 然后就可以二分了。
转载 2018-06-06 14:04:00
42阅读
2评论
想了一个小时。。 思路:dp[ i ] 表示第一台机器用了 i 分钟 第二台机器所用的最少分钟数,然后转移一下就好啦。
转载 2018-06-03 19:50:00
41阅读
2评论
思路:随便猜一猜填的数字是不下降的,反证很好证明,然后就没了。。
转载 2018-10-08 21:35:00
36阅读
2评论
莫比乌斯反演 答案求$\sum_{i=1}^{n}{\sigma(i^{2})}$ 转化一下 设$f(i)=\sum_{d|i}{\mu(d)^{2}}$ 答案等于 $\sum_{i=1}^{n}\sum_{d|i}{f(d)}$ 为什么呢,这么思考一下,我们求的是每个$i^{2}$的约数个数,枚举
转载 2019-08-25 08:38:00
40阅读
2评论
思路: 水题 竟然不会做 尴尬 比b大的数=1 比b小的数=-1 找到b 统计一下左边比b大x的数有多少 扫右边的时候就查左边的表 就可以了
转载 2017-04-01 08:25:00
12阅读
2评论
思路: 维护两个指针pointer_1和pointer_2 代表用算法一走到的位置 和算法2走到的位置 若 算法一<算法2 数组后面就插入算法一的解 pointer_1++ (记得判重) (这题卡不住heap什么鬼)
转载 2017-04-01 07:51:00
43阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5