随笔分类 - 其他 模板
摘要:图片来自:http://www.hankcs.com/program/algorithm/poj-3678-katu-puzzle.html 是蓝书325的2-sat弄下来的模板代码 lrj老师的代码 这个可以用来选择字典序最小的 tarjan的,利用强连通的代码
        阅读全文
            
摘要:分块和莫队都是xjb搞的东西,但是分块是用来解决在线的问题的,莫队是用来解决离线的问题的。 当你发现一个算法没法可做并且可以离线的话,你就可以尝试使用莫队算法。 当然,如果存在乱七八糟的更新的东西的话,你就可以用分块去做 分块的学习的链接:戳这里 分块的精髓就是如何分块,其他的查询和询问操作的话每道
        阅读全文
            
摘要:资料来自于http://www.bilibili.com/video/av7230433/ 定义这个字符串为s ①单hash hash[i] = (hash[i - 1] * p + idx(s[i])) % mod ②双hash(更加保险) hash1[i] = (hash1[i - 1] * p
        阅读全文
            
摘要:这里仅以hdu 2222的题目的自动机为模板。 该模板来自于http://www.bilibili.com/video/av6295004/index_2.html
        阅读全文
            
摘要:const LL mod = 1e9 + 7; LL fac[maxn]; LL mypow(LL val, LL n){ LL ans = 1; while (n){ if (n & 1) ans = ans * val % mod; n >>= 1; val = val * val % mod; } retur...
        阅读全文
            
摘要:①生成整数的对拍文件,每次生成10个数字。共生成十种 且数字范围在100内 //看看会不会爆int!数组会不会少了一维! //取物问题一定要小心先手胜利的条件 #include <bits/stdc++.h> using namespace std; #pragma comment(linker,"
        阅读全文
            
摘要:两圆面积交 double calArea(Circle c1, Circle c2) { double d; double s,s1,s2,s3,angle1,angle2,temp; d=sqrt((c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y)); 
        阅读全文
            
摘要:ISAP Dinic模板 lrj的代码告诉我,不能随便的在Edge里面增加一个cost,因为这样在跑起来的时候会慢100ms(在UVA上就慢了100ms,更何况其他的) Dinit+最小费用流模板(暂时,功能和注释需要不断加强,然后慢慢变得逐渐完整了,既可以求最大流,也可以求最小费用) ISAP +
        阅读全文
            
摘要:struct mat{ LL a,b; mat(LL A=0,LL B=0):a(A),b(B){} bool isIdentity()const{ return a==1 && b==0; } mat operator+(const mat &rhs)const{ return mat( (a+r
        阅读全文
            
摘要:struct KM{ bool S[maxn], T[maxn]; int Lx[maxn], Ly[maxn]; int W[maxn][maxn]; int slack[maxn]; int myleft[maxn]; vector G[maxn]; int n; void init(int n){ this ...
        阅读全文
            
摘要:vector G[maxn]; int pre[maxn], low[maxn], c[maxn]; int n, m; stack s; int dfstime, scc_cnt; void dfs(int u, int fa){ pre[u] = low[u] = ++dfstime; int len = G[u].size(); s.push(u); fo...
        阅读全文
            
摘要:二维: 定义dp(i, j, k, L)表示以(i,j)为左上角,宽度为(2^k, 2^L)的区间内的某个数值
        阅读全文
            
摘要:int scan() { int res=0,ch; while(!((ch= getchar())>='0'&&ch='0'&&ch<='9') res=res*10+(ch-'0'); return res; }
        阅读全文
            
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号