- 博客(12)
- 收藏
- 关注
原创 深搜复习-八皇后问题(洛谷P1213)
按照第k行,也是第k个皇后深搜#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>#include<iostream>using namespace std;int n,sum=0;int hb[100]={0},lb[100]={0},lxb[100]={0},rxb[100]={0}; //行标记,列标记,左斜对角线标记,右斜对角线标记
2020-10-28 14:23:35
243
原创 快速幂
#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>#include<queue>using namespace std;int mod;int
2018-11-07 20:51:12
113
原创 矩阵乘法
矩阵乘法 模板 #include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;int mmod=1000000007;str...
2018-11-07 20:49:44
137
原创 组合数+lucas 模板
#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<string>#include<cstring>using namespace std;int jc[1000005];int njc[1000005];...
2018-11-07 20:46:24
143
原创 kmp模板
#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<string>#include<cstring>using namespace std;int nxt[1000005];int main(){ ...
2018-11-07 16:25:20
89
原创 trie树
trie树Abbreviate Description最近情报人员得到了一些经过加密的文章,每个单词都很长。破译人员想到先把单词简化一下,方法是把每个单词尽量取短些的前缀,但所取的前缀不能是其他单词的前缀。这个任务现在就交给你来完成。解释:“字符串s1是s2的前缀”是说把字符串s2的后面去掉某些,...
2018-10-25 21:01:23
231
原创 线性筛
素数筛枚举从2到n的每一个数,然后用它们的最小质因子去筛出后面的合数,所剩余的即为素数 。用最小质因子是为了避免重复筛去合数时间复杂度 O(n)#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<iostream&g...
2018-08-01 11:29:03
149
原创 NOIP 2010 乌龟棋
想到状态数组需要描述当前所有所需方面的状态,通过这些记录下的状态一直向后推,所以就想到用一个四维数组记录当前的状态,每数组的一维代表每一种牌各用几张时获得的价值最多是多少,这样便可以描述当前的状态。转移方程:f[i][j][x][y]=max( f[i-1][j][x][y]+b[lo+1] , f[i][j-1][x][y]+b[lo+1] , f[i][j][x-1][y]+b[lo+1...
2018-07-31 14:38:43
135
原创 LCA——最近公共祖先
最近公共祖先顾名思义,就是在一棵树上,距离的两个点距离最近的公共祖先倍增LCA算法倍增LCA是一个在线算法,基本步骤:1.存图2.我们需要预处理出deep[ x ](表示点的深度),f[ x ][ i ](表示x向上跳步的祖先)3.然后在询问x,y两点间的最近公共祖先时: (1)将层数较深的点用f数组向上跳,通过二进制拆分思想,找到层数较深的点与层数较浅的点层数相同...
2018-07-24 16:38:34
205
原创 最小生成树复习
最小生成树所谓最小生成树就是在一个无向连通图中找到一棵树,保证这棵树的边权和最短Kruskal算法基本步骤:将所有边按边权排序 每一次取当前状态下未加入答案的最小边,判断这条最小边是否能使两个未连通的连通块连通,若能连通,就将这个边加入答案 重复上一步骤,直至边数为n-1条或点数为n个(n为图中顶点数)如图,是一张有五个顶点的无向连通图。如图,取当前边权最小的边E(...
2018-07-23 11:41:24
223
原创 优先队列
优先队列优先队列中的元素会按某种优先级依次出队列,即可实现按此优先级排序,时间复杂度和堆排序差不多 优先队列的头文件 #include<queue> 优先队列的定义式priority_queue<int>q; 默认优先级从到大到小priority_queue<int,vector<int>,greater<int>...
2018-07-19 08:35:54
1542
原创 扩展欧几里得算法
1.裴蜀定理若a,b是整数,设gcd(a,b)=d,则对于任意的x,y,(ax+by)都一定是d的倍数,特别地,一定存在整数x,y使ax+by=d成立扩展欧几里得算法可用来求解(ax+by=d)这样一组线性不定方程的解 2.扩展欧几里得算法的证明设ax1+by1=gcd(a,b),bx2+(a mod b)y2=gcd( b , a mod b )由欧几里得算法可知gcd(...
2018-07-12 20:52:01
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人