随笔分类 - ACM——模板
摘要:"题目链接" 题意 求有向图的最小生成树,且根不定。 思路 最小树形图即求有向图的最小生成树,用的是朱刘算法。 这里不定根,那么可以建立一个虚根,让虚根和所有点相连,权值为一个很大的数(这里直接设为所有边之和+1)。 如果最后的答案比两倍的sum还大,就说明至少有两个点是通过虚边(从虚点走出去的边)
阅读全文
摘要:"题目链接" 题意 给出一个椭圆,问一个[l, r] 区间(蓝色区域)的面积是多少。 思路 "自适应辛普森积分" 具体一些分析如上。 很方便,套上公式就可以用了。 注意 eps 的取值影响了跑的时间,因为决定了递归的深度。 C++ include using namespace std; typed
阅读全文
摘要:"题目链接" 题意 给出n个数,问这些数的某些数xor后第k小的是谁。 思路 高斯消元求线性基。 "学习地址" 把每个数都拆成二进制,然后进行高斯消元,如果这个数字这一位(列)有1,那么让其他数都去异或它,消掉这一列的1,使得最后得到的矩阵某一行如果那一列有1的话,那么其他行是不会有1的(就是线性基
阅读全文
摘要:"题目链接" 题意 中文题意。 思路 和上一题类似,只不过cal()函数需要发生变化。 题目中要求是3的倍数,那么可以想到 和 是一样的,因此,我们只要在每次计算路径长度的时候,把 放在一个桶里面,然后就可以转化为,一个简单的计数问题了。 对于答案的贡献:就像题目中一共有n^2个点对一样,一开始包括
阅读全文
摘要:关于线性筛的博文:http://www.cnblogs.com/zhuohan123/p/3233011.html 关于欧拉函数的博文:http://www.cnblogs.com/Milkor/p/4471495.html 因为线性筛有大量的取模操作,所以单单使用其筛素数时间可能很慢。但是它有其他
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3879 http://www.lydsy.com/JudgeOnline/problem.php?id=1497 题意:给出n个点m条边,其中每个点有一个权值代表修建这个点需要耗费的钱,然后m条边里面,代表如果两个
阅读全文
摘要:http://acm.uestc.edu.cn/#/problem/show/1324 题意:…… 思路:卿学姐的学习分块例题。 分块是在线处理区间问题的类暴力算法,复杂度O(n*sqrt(n)),把给出的n个点的信息分成sqrt(n)个块,每个块有sqrt(n)个元素,然后去处理操作。 从块的左边
阅读全文
摘要:http://poj.org/problem?id=3264 题意:给出n个数,还有q个询问,询问[l,r]区间里面最大值和最小值的差值。 思路:RMQ模板题,开两个数组维护最大值和最小值就行。
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2888 题意:给出一个n*m的矩阵,还有q个询问,对于每个询问有一对(x1,y1)和(x2,y2),求这个子矩阵中的最大值,和判断四个角有没有等于这个最大值的。 思路:二维RMQ模板题。注意内存卡的挺紧的。
阅读全文
摘要:http://poj.org/problem?id=2104 题意:给出n个数和m个询问求区间第K小。 思路:以前用主席树做过,这次学整体二分来做。整体二分在yr大佬的指点下,终于大概懂了点了。对于二分能够解决的询问,如果有多个,那么如果支持离线处理的话,那么就可以使用整体二分了。 在这题二分可行的
阅读全文
摘要:转自:http://blog.csdn.net/qq_21841245/article/details/43956633
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3295 题意:简单明了。 思路:终于好像有点明白CDQ分治处理三维偏序了。把删除操作看作是插入操作,那么可以按照插入的时间顺序看作是一维x,插入的数在原本序列的下标是一维y,插入的数本身是一维z。那么问
阅读全文
摘要:http://poj.org/problem?id=3436 题意:题意很难懂。给出P N。接下来N行代表N个机器,每一行有2*P+1个数字 第一个数代表容量,第2~P+1个数代表输入,第P+2到2*P+1是代表输出 输入有三种情况,0,1,2.输出有0,1两种情况输入0代表不能有这个接口,1代表必
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 205 8 #define INF 0x3f3f3f3f 9 struct node { 10 int x, y; 11 node () {} 1...
阅读全文
摘要:详解:http://blog.csdn.net/wall_f/article/details/8207595 算法时间复杂度:O(E * V * V)
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4453 题意:很多种操作:1、add x,将从光标起的 k2 个数全部加上 x;2、reverse,将从光标起的 k1 个数全部反转;3、insert x,在光标处的后一位插入值为 x 的数;4、delete,删除
阅读全文
摘要:二分搜索是平时用到很多的东西,但是经常在细节上的地方会出现问题,这里我想说说我的一点理解。 平时最多的情况就是查询一个数出现在有序数组里的位置,那么 在查找 num 的时候,一般需要用到四种情况:1、找得到 num 返回最左边的与其相等的下标.(YES_LEFT)2、找得到 num 返回最右边的与其
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2222 KMP是单模式串匹配的算法,而AC自动机是用于多模式串匹配的算法。主要由Trie和KMP的思想构成。 题意:输入N个模式串,再给出一个文本串,求文本串里出现的模式串数目。
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 using namespace std; 12 #define N 15 13 #define INF 0x3f3f3f3f 14 ...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5901 1e11的数据量,这道题用这个算法花了202ms.
阅读全文