随笔分类 - 算法
摘要:先贴代码 以后解释 处理2^n (n比较大) 1 #include<bits/stdc++.h> 2 char s[1000005]; 3 char st[1000005]; 4 long long qpow(long long a,long long b,long long mod) 5 { 6
阅读全文
摘要:二分是个很实用的算法,每次运算区间均缩小一半,因此时间复杂度是logN 下面给出简约版二分算法: 其中判断的结果产生的效果为:找到一个大于x的第一个位置(返回right);找到一个小于等于x的第一个位置(返回left); 问题1: 为什么不写成 left=mid+1和right=mid-1 ? 因为
阅读全文
摘要:题目: 求某一区间的最大值。 f[a][b]中a代表的是当前的位置,b代表的是以a为起点往后移动的区间长度2^b。 其实tip1与tip2是利用以小的区间的最大值来逐步往上推更大的区间的最值。具体怎么推呢就需要利用到倍增思想(其实跟二分很相似)。 我们来模拟一下吧! f[1][1]=max(f[1]
阅读全文
摘要:Targan算法是用来处理强连通问题(a->b且b->a) Targan算法里面需要定义两个数组dfn与low并通过栈来实现. 1,dfn[x]: x是第几个入栈的。2,low[x]: 节点x能够回溯到的最早位于栈中的节点。判断结束的条件就是当满足low[x]==dfn[x];可以理解为low[x]
阅读全文

浙公网安备 33010602011771号