随笔分类 - 算法
最小树形图(朱刘算法)(poj 3164)
摘要:题目链接 ommand NetworkTime Limit: 1000MS Memory L...
阅读全文
划分树 详解(转)
摘要:转自: https://blog.csdn.net/Akatsuki__Itachi/article/details/80030929有这样一类题目,求的是区间内的第k大数。划分树的定义就是对整体的区间进行划分,把相对于原来序列中较小的值放在...
阅读全文
二分and三分
摘要:部分转载自: https://www.cnblogs.com/whywhy/p/4886641.html二分:二分,顾名思义,就是把一个分成两个,呃,先来一个例子,现在有一个递增序列 a(1),a(2) ......a(n),让你查找x在不在这个序列里面,在的话...
阅读全文
离散化(模板)
摘要:离散化是什么:一些数字,他们的范围很大(0-1e9),但是个数不算多(1-1e5),并且这些数本身的数字大小不重要,重要的是这些数字之间的相对大小(比如说某个数字是这些数字中的第几小,而与这个数字本身大小没有关系,要的是相对大小)(6 8 9 4 离散化后即为 2 3...
阅读全文
链式前向星详解(转)
摘要:转自我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了. 用len[i]来记录所有以i为起点的...
阅读全文
LCA最近公共祖先(Tarjan离线算法)详解(转)
摘要:转自https://www.cnblogs.com/ECJTUACM-873284962/p/6613379.html 首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵...
阅读全文
POJ1330-LCA最近公共祖先(Tarjan算法模板代码)
摘要:转自:https://blog.csdn.net/Akatsuki__Itachi/article/details/81279173题目链接 poj1330关于LCA的Tarjan算法详解可看https://blog.csdn.net/Septembre_/ar...
阅读全文
Color the ball (树状数组,改段求点)
摘要:N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a #include#includeusing namespace std;int c[100100];int a[100100];int n;int lowbit(int x){ ...
阅读全文
树状数组(逆序对)(模板)
摘要:举个例子加以说明: 例子来源 假设给定的序列为 4 3 2 1,我们从左往右依次将给定的序列输入,每次输入一个数temp时,就将当前序列中大于temp的元素的个数计算出来,并累加到ans中,最后ans就是这个序列的逆序数个数。 序列的变化(下划线为新增加元...
阅读全文
LIS LCS (最长上升子序列,最长公共子序列)
摘要:LIS 最长上升子序列 #include #include using namespace std;int a[1001],ans[1001],len;int main(){ int n,T; cin>>T; while(T--) { ...
阅读全文
背包详解(0-1背包,完全背包,多重背包)
摘要:0-1背包: 就是给定n个物品(每个物品只有一件),和一个容量为C的背包,每个物品的价值为v,重量为w,每个物品只可以选择放入(1)或不放入(0),让背包中的物品价值最大。 例如:一个背包容量为C=10,有n=5个物品。 用子问题定义状态,即前i件物品恰好放入一个容量为j的背包可以获得的最大价值,则
阅读全文
与7无关的数(前缀和)
摘要:一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数。求所有小于等于N的与7无关的正整数的平方和。例如:N = 8,#include using namespace std;long long ans[1001000]={0}...
阅读全文
最短的包含字符串 (尺取)
摘要:给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度。如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution。Input第1行,1个字符串。字符串的长度 #include #includ...
阅读全文
尺取详解 (Subsequence)
摘要:有这么一类问题,需要在给的一组数据中找到不大于某一个上限的“最优连续子序列”于是就有了这样一种方法,找这个子序列的过程很像毛毛虫爬行方式比较流行的叫法是“尺取法”。Poj3061 给长度为n的数组和一个整数m,求总和不小于m的连续子序列的最小长度输入n = 1...
阅读全文
浙公网安备 33010602011771号