该文被密码保护。 阅读全文
摘要:
1 #include<bits/stdc++.h> 2 #define re register 3 #define F(A) for(re int (A)=1;(A)<=8;++(A)) 4 using namespace std; 5 int n,mi[10],sp[10],sa[10],kn[1 阅读全文
摘要:
$meet-in-the-middle$(又称折半搜索、双向搜索)对于$n<=40$的搜索类型题目,一般都可以采用该算法进行优化,很稳很暴力。 $meet-in-the-middle$算法的主要思想是将搜索区域化为两个集合,分别由搜索树的两端向中间扩展,直到搜索树产生交集,此时即可得到我们的合法情况 阅读全文
摘要:
阅读全文
摘要:
莫队是针对区间操作问题的一种算法,利用一种近乎QJ(骗分神技)测试点的剪枝方法,强行使程序的时间复杂度降一个根号。 算法基础: 1、分块:分块是莫队的来源,利用分块思想,可以将询问分块,达到缩短查询区间,降低时间复杂度的目的。 2、结构体关键字排序:莫队的精髓所在,通过对询问区间排序,可以减少指针的 阅读全文
摘要:
树链剖分的概念: 树链剖分(重链剖分),是处理树上极值、权值和问题,支持修改和查询的一种数据结构。 主体思路:1、通过轻重边剖分将树分割成多条链; 2、再利用线段树、主席树等数据结构来维护这些链上的信息。 所以我们可以说树链剖分本质上是一种优化暴力。 树链剖分的要素: 重儿子:父亲节点的所有儿子中子 阅读全文
摘要:
1 // 2 /*快速幂*/ 3 inline int qpow(re int x,re int y,re int res=1){ 4 for(;y;y>>=1,x=x*x%mod) if(y&1) res=res*x%mod; return res; 5 } 6 // 7 /*gcd*/ 8 //gcd 9 inline int gcd(re int x,re int y){return !y? 阅读全文
摘要:
1 /* // 图论模板 // */ 2 //----------------------------------------------------------------------------- 3 /*卡常小技巧*/ 4 #define re register 5 #define max(x,y) ((x)>(y)?(x):(y)) 6 #define min(x... 阅读全文
摘要:
ps:模板可以根据个人习惯风格重构。 阅读全文
摘要:
当你注视着你的分数, 眼眶倏地猛睁。 不会做的题血红一片, 认真做了的题一点墨蓝。 你知道, 你CE了, 你挂了, 你倒数第一了, 你当场去世了。 两小时的努力付诸东流, 线段树的碎片历历在目。 思考,尝试,编写,重构...... 而CE的气息掩盖了它的全部。 C++11的rank函数, 配合着每天 阅读全文