随笔分类 -  其他 模板

摘要:图片来自:http://www.hankcs.com/program/algorithm/poj-3678-katu-puzzle.html 是蓝书325的2-sat弄下来的模板代码 lrj老师的代码 这个可以用来选择字典序最小的 tarjan的,利用强连通的代码 阅读全文
posted @ 2017-03-18 14:20 知る奇迹に 阅读(116) 评论(0) 推荐(0)
摘要:分块和莫队都是xjb搞的东西,但是分块是用来解决在线的问题的,莫队是用来解决离线的问题的。 当你发现一个算法没法可做并且可以离线的话,你就可以尝试使用莫队算法。 当然,如果存在乱七八糟的更新的东西的话,你就可以用分块去做 分块的学习的链接:戳这里 分块的精髓就是如何分块,其他的查询和询问操作的话每道 阅读全文
posted @ 2017-02-09 20:18 知る奇迹に 阅读(152) 评论(0) 推荐(0)
摘要:资料来自于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 阅读全文
posted @ 2017-02-06 19:31 知る奇迹に 阅读(90) 评论(0) 推荐(0)
摘要:这里仅以hdu 2222的题目的自动机为模板。 该模板来自于http://www.bilibili.com/video/av6295004/index_2.html 阅读全文
posted @ 2017-02-06 17:18 知る奇迹に 阅读(145) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2016-12-12 14:21 知る奇迹に 阅读(110) 评论(0) 推荐(0)
摘要:杰哥的大数模板 阅读全文
posted @ 2016-12-01 17:40 知る奇迹に 阅读(128) 评论(0) 推荐(0)
摘要:①生成整数的对拍文件,每次生成10个数字。共生成十种 且数字范围在100内 //看看会不会爆int!数组会不会少了一维! //取物问题一定要小心先手胜利的条件 #include <bits/stdc++.h> using namespace std; #pragma comment(linker," 阅读全文
posted @ 2016-11-26 14:58 知る奇迹に 阅读(137) 评论(0) 推荐(0)
摘要:两圆面积交 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)); 阅读全文
posted @ 2016-11-21 15:48 知る奇迹に 阅读(114) 评论(0) 推荐(0)
摘要:ISAP Dinic模板 lrj的代码告诉我,不能随便的在Edge里面增加一个cost,因为这样在跑起来的时候会慢100ms(在UVA上就慢了100ms,更何况其他的) Dinit+最小费用流模板(暂时,功能和注释需要不断加强,然后慢慢变得逐渐完整了,既可以求最大流,也可以求最小费用) ISAP + 阅读全文
posted @ 2016-10-03 19:09 知る奇迹に 阅读(264) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2016-09-29 21:10 知る奇迹に 阅读(137) 评论(0) 推荐(0)
摘要: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 ... 阅读全文
posted @ 2016-09-23 13:39 知る奇迹に 阅读(132) 评论(0) 推荐(0)
摘要:点双 边双 阅读全文
posted @ 2016-09-23 13:38 知る奇迹に 阅读(349) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2016-09-23 13:36 知る奇迹に 阅读(301) 评论(0) 推荐(0)
摘要:二维: 定义dp(i, j, k, L)表示以(i,j)为左上角,宽度为(2^k, 2^L)的区间内的某个数值 阅读全文
posted @ 2016-09-23 13:35 知る奇迹に 阅读(124) 评论(0) 推荐(0)
摘要:int scan() { int res=0,ch; while(!((ch= getchar())>='0'&&ch='0'&&ch<='9') res=res*10+(ch-'0'); return res; } 阅读全文
posted @ 2016-09-08 15:28 知る奇迹に 阅读(156) 评论(0) 推荐(0)