该文被密码保护。 阅读全文
posted @ 2019-02-13 17:24 Yuhuger 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 虽然挺好想,但是很难写。 还是第一次写带标记永久化的区间操作,区间查询线段树。 修改时一直根据实际长度改值,被包含时改标记。 查询时被包含算值,否则一直根据实际长度算标记。 cpp include using namespace std; const int M=1e9+7; const int C 阅读全文
posted @ 2019-02-12 21:30 Yuhuger 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 真是一篇沉重的游记。 就讲考试吧 第一场机试 点开T1,想了10min没有想法。 这是已经有人在开始码了。 点开T2,想了10min没有想法。 点开T3,地主斗,逃了。 继续刚T1,我好像会了吧! 开始码,码完了。 是不是有什么问题啊,为什么过不了样例。 自闭地去了厕所,回来就把代码删了。 不知不觉 阅读全文
posted @ 2019-01-24 14:46 Yuhuger 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 快速沃尔什变换 $\hat{f_{S}} = \sum_{T} ( 1)^{| S \& T |} f_{T}$ 代码 cpp for (int i=0; i 阅读全文
posted @ 2019-01-15 21:26 Yuhuger 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一题多解 这题首先可以DP 直接三个类型暴力转移。 $f[i][j]$表示无限制填$i$行$j$列的方案数。 $f1[i][j]$表示有一列已经有棋子的方案数。 $f2[i][j]$表示有两列有棋子的方案数。 转移一下。复杂度$O(n (m n))$ cpp // luogu judger enab 阅读全文
posted @ 2019-01-05 19:07 Yuhuger 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 并查集好啊! 虽然并查集很好,但是我对它的掌握却十分肤浅。 搬运算导 1.单用路径压缩复杂度$O(n+m (1+log_{2+m/n}n))$ 证明是不可能有的。 2.单用按秩合并并且记忆化复杂度$O(nlogn+m)$ 由于路径压缩也是一种记忆化,所以混合策略也有该上界。 复杂度显然。 3.假设所 阅读全文
posted @ 2019-01-03 20:17 Yuhuger 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 好难写啊! 这题如果保证数据随机,那么可以直接跑一个最小圆覆盖,先二分半径,再贪心覆盖。 但是出题人显然不会这么善良。 于是就可以倍增,$1,2,4,8,16...$,这样尝试长度,找到最大可行二进制长度(即最高位)后,再逐位确定。 复杂度$O(nlog^2(n))$ 但是写完之后又被卡了精度,改随 阅读全文
posted @ 2018-12-30 18:07 Yuhuger 阅读(199) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-12-27 19:01 Yuhuger 阅读(5) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-12-25 21:28 Yuhuger 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 这题首先可以想到按位贪心, 高位尽可能填0。 但是如何判断能不能填0呢? 原序列的上升位在划分后肯定还是上升位。 但是因为划分成了两个序列,可能会有一些新晋上升位。 可以证明: 如果存在一种$X$串,$Y$串上升数相等的方案,那么,必定存在一种$X$中的上升全为原串中的上升,或$Y$中的上升全为原串 阅读全文
posted @ 2018-12-21 15:37 Yuhuger 阅读(461) 评论(0) 推荐(2) 编辑
摘要: loj2838 比太郎的聚会 题意大致就是给一张DAG,每次询问一个点和一个ban掉的点集,问除了这些点,剩下的点到询问点最长路的最大值。 简单维护根号个最远点,每次合并信息。 查询时直接暴力查表,如果表内一个都不行就重新计算一遍所有之前的点到这个点距离的最大值。 块大小调不好就会被卡常。 cpp 阅读全文
posted @ 2018-12-20 14:57 Yuhuger 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 对于插入一个字符串,普通回文自动机复杂度是均摊的。 对于单次插入复杂度有证明的回文自动机插入, 设$\sum$为字符集大小,翁文涛的论文里提到了单次插入$O(\sum)$的记忆化,从理论上来说,可以通过主席树优化到$O(log\sum)$,但是代码量就增加了,而且对于26的字符集,这样写应该会变慢吧 阅读全文
posted @ 2018-12-12 18:57 Yuhuger 阅读(384) 评论(0) 推荐(3) 编辑
摘要: 回文自动机好题啊! 解法一 每$\sqrt n $分一块 每块建回文自动机到字符串末尾。 顺便开三个$\sqrt n n$的数组记下预处理答案,回文自动机头指针,和每个节点第一次出现的右端点 询问的时候回文自动机前端添加,算出答案。 貌似不能写均摊复杂度的回文自动机,只能写单次复杂度有证明的。 设$ 阅读全文
posted @ 2018-12-05 22:11 Yuhuger 阅读(659) 评论(1) 推荐(0) 编辑
摘要: 考试时太弱了不会。 结果被吊起来打。 学习了一下zzd的 "博客" 。 首先$O\left( n^2 \right)$的递推十分简单。 但是不够快, 根据$x^{\overline{n}}=\sum_{k=0}^n \left[ n \atop k \right] x^k$ 可以得出$O\left( 阅读全文
posted @ 2018-11-18 19:10 Yuhuger 阅读(650) 评论(0) 推荐(0) 编辑
摘要: ##整除分块十分naive,但是卡常之后就不清真了。 ##常数优化也是一门技术啊! 如果需要计算$$\sum_^n\lfloor \frac \rfloor$$ 有一个naive的做法就是 for (long long i=1,la; i<=n; i=la+1){ la=n/(n/i); ans+= 阅读全文
posted @ 2018-11-10 18:22 Yuhuger 阅读(462) 评论(0) 推荐(0) 编辑