随笔分类 -  模板

摘要:1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 5 #define ll long long 6 7 using namespace std; 8 9 ll c[100005]; 10 ll addv[320]; 11 ll sum[320]; 12 int n,m,g,p=1,ks=1; //g每块大小 p临时指针 ks块数 阅读全文
posted @ 2019-08-11 21:24 Running-Coder 阅读(227) 评论(0) 推荐(0)
摘要:高精实乃万恶之源 算法部分: 一、压位: 1.目的: 压位的目的在于优化时间、空间。 空间上,例如一个四位数1111,不压位则需要用4个变量存储每一位,而压位(比如压4位)后,就只需要用1个变量(比如int)了。 时间上,例如计算1111*1111,不压位则按位相乘共需计算4*4=16次,而压位(比 阅读全文
posted @ 2019-07-28 21:51 Running-Coder 阅读(827) 评论(3) 推荐(0)
摘要:1 #include<cstdio> 2 3 using namespace std; 4 5 int max(int x,int y){ 6 if(x>y)return x;else return y; 7 } 8 9 int find(int); 10 11 int n,m,f,x,y,a,b; 阅读全文
posted @ 2019-07-10 16:41 Running-Coder 阅读(288) 评论(0) 推荐(0)
摘要:边界情况害人不浅 阅读全文
posted @ 2019-07-08 17:00 Running-Coder 阅读(382) 评论(0) 推荐(1)
摘要:1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<cmath> 5 #include<ctime> 6 #include<cstdlib> 7 8 #include<string> 9 #include<st 阅读全文
posted @ 2017-12-03 12:59 Running-Coder 阅读(226) 评论(0) 推荐(0)
摘要:这东西。。。算是半囫囵吞枣的理解了。。。总之板子背过就好了嘛QwQ~ 阅读全文
posted @ 2017-12-03 12:25 Running-Coder 阅读(151) 评论(0) 推荐(0)
摘要:1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<cmath> 5 #include<ctime> 6 #include<cstdlib> 7 8 #include<string> 9 #include<st 阅读全文
posted @ 2017-11-19 21:12 Running-Coder 阅读(173) 评论(0) 推荐(0)
摘要:时隔一个月后,终于攻克了二分求K大的难题。。。特此纪念 2017.10.3 好好的树套树模板题怎么没有一份线段树套平衡树的“标准”题解呢。。。虽然这方法比较low,但我还是来贴一发。。。 据说这题常数巨大,若干份线段树套BST的代码都被卡常了 萌新我看到这吓人的通过率不由瑟瑟发抖 于是使出浑身解数, 阅读全文
posted @ 2017-10-03 20:46 Running-Coder 阅读(595) 评论(0) 推荐(0)
摘要:树剖是干什么的? 考虑这样的情况:有一棵树,现在要对其进行路径(两节点间)操作、子树操作,例如将路径上(子树上)的所有节点全部加上一个值、求和等等。 直接暴力操作固然是可行的,但时间肯定是个问题。 这时我们想,如果能用数据结构维护树上节点就好了,但是树的“张牙舞爪”的样子,使得这个操作难以完成。 于 阅读全文
posted @ 2017-10-01 21:40 Running-Coder 阅读(221) 评论(0) 推荐(0)
摘要:一年前听说的这东西。。。现在终于会了。。。 阅读全文
posted @ 2017-09-21 20:33 Running-Coder 阅读(231) 评论(0) 推荐(0)
摘要:【一年之后重新学习】系列第二弹。。。 Kruskal: 并查集: 阅读全文
posted @ 2017-09-13 20:50 Running-Coder 阅读(211) 评论(0) 推荐(0)
摘要:一年之后又重新学习此算法。。。233。。。 阅读全文
posted @ 2017-09-13 20:41 Running-Coder 阅读(208) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 16 using namespace std; 17 18 inli... 阅读全文
posted @ 2017-08-27 21:10 Running-Coder 阅读(215) 评论(0) 推荐(0)
摘要:PS:某大佬讲,当心情特别好or特别不好的时候,可以来攻略这个题。。。果然萌新足足被这题恶心了半个月。。。 进入正题: 这道题题意如此之裸-Splayの究极进化,那么就没有什么好讲的,直接说搞法好了。。。 为了代码写起来方便,萌新封装得可能有些过,若不合诸位大佬的口味还请见谅~ 节点node结构体定 阅读全文
posted @ 2017-08-12 22:40 Running-Coder 阅读(276) 评论(0) 推荐(0)
摘要:指针大法好 无父指针Splay大法好 大佬们的“改变旋转方向”萌新表示不懂,于是就自己乱搞出了下面的搞法。。。 代码如下,萌新写的丑,诸位大佬见谅QwQ~ 阅读全文
posted @ 2017-07-22 17:58 Running-Coder 阅读(252) 评论(0) 推荐(0)
摘要:结构体node定义:呐...因为不是Treap,所以就不必定义优先级yx了; 这次为了代码简短,总算是把判断子树方向函数(cmp)和节点信息维护函数(maintain)封在了结构体里。 旋转函数rotate:与Treap相比,没有任何变化,就是写得简短了一些。 插入函数insert:Treap时需要 阅读全文
posted @ 2017-07-20 22:59 Running-Coder 阅读(544) 评论(0) 推荐(0)
摘要:输入格式: 1.输入两个整数n,m,表示矩阵的长和宽; 2.输入n行m列个整数,为矩阵的每个元素; 3.输入一个整数T,表示操作次数; 4.输入T行: 格式1:1 x y k,表示将坐标为(x,y)的点加上k; 格式2:2 x1 y1 x2 y2,表示求左上角坐标为(x1,y1),右下角坐标为(x2 阅读全文
posted @ 2017-07-18 17:44 Running-Coder 阅读(216) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 #include 9 #include 10 #include 11 #include 12 #include 13 14 using namespace std; 15 16 void add(int,int); 17 int pr... 阅读全文
posted @ 2017-06-22 22:29 Running-Coder 阅读(161) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 using namespace std; 14 struct node{ ... 阅读全文
posted @ 2017-06-21 22:47 Running-Coder 阅读(265) 评论(0) 推荐(0)
摘要:此题相对于模板一,加了个区间乘,于是在模板一的基础上需要多开个数组(记录乘法懒标记)、多写个函数(区间乘),还有要把懒标记下放函数做些修改。 变量定义: sum[]:线段树节点对应区间的元素总和; addv[]:线段树节点对应区间的所有元素待加的值(懒标记),初值全部设为0; mulv[]:线段树节 阅读全文
posted @ 2017-05-24 22:58 Running-Coder 阅读(223) 评论(0) 推荐(0)