随笔分类 -  模板

摘要:1 #include 2 3 using namespace std; 4 5 #define MP make_pair 6 #define PB push_back 7 #define ls first 8 #define rs second 9 typedef long long LL; 10 typedef pair PII; 11 const double eps... 阅读全文
posted @ 2018-04-10 22:08 weeping 阅读(296) 评论(1) 推荐(1) 编辑
摘要:1 #include 2 3 using namespace std; 4 5 #define MP make_pair 6 #define PB push_back 7 typedef long long LL; 8 typedef pair PII; 9 const double eps=1e-8; 10 const double pi=acos(... 阅读全文
posted @ 2017-10-20 12:33 weeping 阅读(345) 评论(1) 推荐(1) 编辑
摘要:1 typedef long long ll; 2 int a[20]; 3 ll dp[20][state];//不同题目状态不同 4 ll dfs(int pos,/*state变量*/,bool lead/*前导零*/,bool limit/*数位上界变量*/)//不是每个题都要判断前导零 5 { 6 //递归边界,既然是按位枚举,最低位是0,那么p... 阅读全文
posted @ 2017-10-15 21:07 weeping 阅读(493) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 struct Point 10 { 11 bool flag; 12 double x; 13 double... 阅读全文
posted @ 2017-10-15 19:59 weeping 阅读(261) 评论(0) 推荐(0) 编辑
摘要:没时间复习这个了,暂时用来当模板,以后再来写下自己的模板 阅读全文
posted @ 2017-10-15 19:53 weeping 阅读(173) 评论(0) 推荐(0) 编辑
摘要:1 struct Point{double x,y;}; 2 struct Circle{Point c;double r;}; 3 double dist(Point a,Point b){ 4 return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); 5 } 6 Circle ... 阅读全文
posted @ 2017-10-15 15:22 weeping 阅读(226) 评论(0) 推荐(0) 编辑
摘要:搬运别人的 https://vjudge.net/problem/SPOJ-CIRUT 阅读全文
posted @ 2017-10-15 14:52 weeping 阅读(274) 评论(0) 推荐(0) 编辑
摘要:地址: 题目: 带可选字符的多字符串匹配 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 763 Accepted Submission(s): 阅读全文
posted @ 2017-09-28 21:20 weeping 阅读(227) 评论(0) 推荐(0) 编辑
摘要:一点疑问: 当创建nq节点时,要不要把nq的cnt标记赋值为1? 讲道理nq节点也是代表一个子串啊,不过网上的模板都没赋值。 2017.9.18 update: 把memset部分重写,改成用节点用到时再初始化,初始化所有节点可能被卡。 fa,len,cnt数组其实不用清空,因为用时都赋值了。 阅读全文
posted @ 2017-09-13 17:21 weeping 阅读(772) 评论(0) 推荐(0) 编辑
摘要:1 struct RMQ 2 { 3 int log2[N],mi[N][25]; 4 void init(int n) 5 { 6 for(int i = 0; i > 1] + 1); 7 for(int j = 1; j < log2[n]; j ++) 8 for(int i = 1; i +... 阅读全文
posted @ 2017-09-11 10:56 weeping 阅读(246) 评论(0) 推荐(0) 编辑
摘要:fastIO读入挂: fread读入挂: 阅读全文
posted @ 2017-08-24 14:57 weeping 阅读(171) 评论(0) 推荐(0) 编辑
摘要:普通版本: 区间更新版本- 启发式合并: 阅读全文
posted @ 2017-08-15 01:50 weeping 阅读(238) 评论(0) 推荐(0) 编辑
摘要:1 int n,dg[K],topo[K]; 2 vectormp[K]; 3 int topo_sort(void) 4 { 5 queueq; 6 for(int i=1;i1) res=0; 12 int x=q.front();q.pop(); 13 topo[cnt++]=x; 14 for(int i=0;i... 阅读全文
posted @ 2017-06-10 14:36 weeping 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 3 using namespace std; 4 5 #define MP make_pair 6 #define PB push_back 7 typedef long long LL; 8 typedef pair PII; 9 const double eps=1e-8; 10 const double pi=acos(-1.0); 11 ... 阅读全文
posted @ 2017-05-25 23:56 weeping 阅读(157) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 #pragma comment(linker,"/STACK:102400000,102400000") 6 using namespace std; 7 8 #define MP make_pair 9 #define PB push_back 10 typedef long... 阅读全文
posted @ 2017-05-18 19:55 weeping 阅读(141) 评论(0) 推荐(0) 编辑
摘要:树链剖分的实质:将一棵树划分成若干条链,用数据结构去维护每条链。 如:把边或点哈希到线段树(或其他数据结构)上进行维护和查询。 这样做的理由:从根到某一点的路径上,不超过logn条轻边和不超过logn条重路径。 下面开始介绍树链剖分的做法: size(u)为以u为根的子树节点个数(包括u),令v为u 阅读全文
posted @ 2017-05-17 20:38 weeping 阅读(260) 评论(0) 推荐(0) 编辑
摘要:伪素数: 如果存在和n互素的正整数a满足a^(n-1)≡1(mod n),则n是基于a的伪素数。 是伪素数但不是素数的个数是非常非常少的,所以如果一个数是伪素数,那么他几乎是素数。 Miller_Rabbin素数测试:随机选k个a进行a^(n-1)≡1(mod n)测试,如果都满足则判断n是素数。 阅读全文
posted @ 2017-05-16 12:45 weeping 阅读(281) 评论(0) 推荐(0) 编辑
摘要:lca倍增模板: 阅读全文
posted @ 2017-05-15 17:22 weeping 阅读(228) 评论(0) 推荐(0) 编辑
摘要:单点更新,区间查询 区间增减,单点查询 区间增减,区间查询 二维树状数组:单点修改,区间查询 二维树状数组:区间修改,单点查询 阅读全文
posted @ 2017-05-11 01:44 weeping 阅读(264) 评论(0) 推荐(0) 编辑
摘要:1.把所需对拍的代码的可执行文件a.exe b.exe放在同一目录下 2.把rand数据的代码的可执行文件c.exe放在该目录下 3.新建一个txt文件,里面添加代码,后把格式改成bat 代码简单介绍: 1):loop类似c语言里面的标志,用于跳转(也就是循环). 2):第三行代码:先生成数据到da 阅读全文
posted @ 2017-04-09 04:17 weeping 阅读(619) 评论(0) 推荐(0) 编辑