摘要:
FF算法,PP算法算是作为引入,未加任何优化 FF算法 FF算法的时间复杂度与流量有关,是可以hack的。在luogu上~~能取得82分的好成绩~~。 #include <iostream> #include <cstdio> #include <cstring> #include <algorit 阅读全文
摘要:
有用的参考资料: hzwer分块九讲 分块九讲提交 分块是一种优美的暴力算法。 其思想为将数组分为若干块,修改、查询时将整块一起处理,而对剩余的元素,即散点进行暴力处理,以优化时间复杂度。 同时,分块的适用性更加广泛,可以解决插入元素,区间众数等线段树所不能解决的操作。 假设数组长度为 $n$,而分 阅读全文
摘要:
##一、ST表 ~~最没用的一种~~,一般只用于静态区间RMQ(无修改,查询区间最大/最小值)。 (gcd 也能做, 只要能重复贡献就行 (也就是重复计算不会影响结果) ) 但是ST表的查询操作复杂度异常优秀,能做到$O(1)$,这是其它数据结构难以做到的。 ST表的思路大致就是用一个二维数组$f[ 阅读全文
摘要:
其实就是一道锻炼码力的简单题…… 看到题目中的$0<x\leqslant 5$也就知道是爆搜了吧( 我们~~仿照写游戏的方法~~多写几个函数,能够有效降低错误率(确信 我们写出大致的搜索流程来: 如果当前步数大于$n$直接返回; 如果当前已经为终态,直接输出答案; 否则枚举每种可能情况继续搜。 ~~ 阅读全文
摘要:
$\text{Description}$ $\text{Given a number }p(p\leqslant10^7).$ $\text{Output }2^{2^{2^{2^{\cdots}}}}\bmod p.$ $\text{Method}$ $\text{Use ex-Euler's T 阅读全文
摘要:
$\text{Description}$ $\text{Given a number }L(L\leqslant 2,000,000,000),\text{find a number }x,\text{ so that }L|8\times(10^x-1)/9.$ $\text{Output the 阅读全文
摘要:
注:卡常、压行时怎么有效怎么来QwQ 基本上不写多余的空格,除了 cin/cout。 快读真香。( 不喜欢用字符数组,使用 string. 此时 cin cout 输入前会加这样三句以优化: ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); 有时会 # 阅读全文
摘要:
理论方面的内容参见数论整理(理论篇) 1. 快速幂$O(\log b)$ 其实这个不应该算数论? //递归实现 long long qpow(long long a,long long b,long long mod) { if(b==0)return 1; long long ans=qpow(a 阅读全文
摘要:
##一、二叉堆基础 ###1. 二叉堆是什么? 二叉堆就是一棵完全二叉树。 什么是完全二叉树?定义d为树的深度,则一棵完全二叉树的前(d-1)层是满的,而第d层的节点从右往左有若干连续缺失。 并且二叉堆有优先级,有的二叉堆每一个父亲都比他的儿子小,称为小根堆;反之称为大根堆。 这样说比较抽象,放一张 阅读全文
摘要:
警告:远古时期文章,内容过于naive,有的还没有严谨证明qaq 问题是这样的:求$0^k+1^k+2^k+\dots +n^k$的通项公式。 首先,这个因为n可能为0,所以通项公式一定是没有常数项的。继续观察可知,通项公式的次数是$k+1$。这样,我们设通项公式为$f(n)=\sum_{i=1}^ 阅读全文