自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 资源 (1)
  • 收藏
  • 关注

原创 **思维LIS——最小拦截系统**思维LIS——最小拦截系统**思维LIS——最小拦截系统**思维LIS——最小拦截系统**思维LIS——最小拦截系统**思维LIS——最小拦截系统LIS——最小拦截系

**思维LIS——最小拦截系统CodeURLSolveURLDescription拦截系统:发出的拦截炮弹高度非严格递减,第一发:任意高度即可来了一系列炮弹,最少需要多少拦截系统Solution求最长上升子序列,其长度就是最少的拦截系统设置例如:A a b c B d e f C D其中 A B C D为最长上升子序列* 拦截了A之后 B C D至少需要需...

2019-06-08 09:04:23 289

原创 最小值最大化POJ3258

Describe总长度为len小河中有n个石子,可以拿走m个,问你一个一个挨着跳,其中跳跃间距最小是最大是多少?Solution区间[1,len]寻找最大化最小值,判断满足该值为最小值需要删除多少个石子·如果删除石子过多,则选择最小值过大,r = mid - 1·否则,选择最小值符合或较小,l = mid + 1,但是如果l = mid + 1 步入到r后面的区间,那么就是不满...

2019-02-21 18:14:20 373

原创 1099 D. Sum in the tree

Describe输入n个节点输入2 - n点的父节点输入每个节点的路径值:路径表示从当前节点到根节点的节点和偶数层隐藏路径值,不知道各个节点的值,求出各个节点值和的最小值Solution首先贪心想法:最小值,肯定要确保节点值应当靠近根节点,尽可能把当前节点的权值变成0,而让父节点去付出那些路径代价,因为路径是奇有偶没有,所以必须从前向后更新比如 1 -1 2 -1 3对于2...

2019-02-21 18:13:39 226

原创 最短路构造最短路95 C. Volleyball

Describen个点,m条边数据,n条出租车数据,出租车有一个距离上线ti和一个固定花费值ci,问你从s到e的最小出租车花费是多少,不能到达则输出-1Solution建两次图,第一次建造距离图,根据距离图进行n次最短路,确定一个最短路map,然后根据这个最短路地图进行第二次建图,遍历每个点,如果最短距离小于出租车上线则进行建图加边操作,根据第二次建图求最短路,进行输出/判断Cod...

2019-02-21 18:11:37 321

原创 持续化并查集HDU 5923 B - Prediction

Describe输入n,m,给你一个树有n个节点m-1条边,输入m-1个整数,第i个整数为节点i+1的父节点;然后输入m条边,表示一个图,输入q表示有q次询问:每次询问输入k和k个整数,k个整数表示树上节点编号,树上节点编号对应图中边节点编号,集合S由输入的树上节点编号以及所有祖先节点构成,对于每一个询问,输出由集合S引入边集合后,途中有几个联通块https://blog.csdn.net...

2019-02-21 18:10:53 188

原创 离散化+dfs+连通块计数 HDU 5925 Coconuts

Describe多组测试t输入一个map大小X * Y,map中有n个障碍点,输入n个障碍点的坐标,问map有几个连通块Solution如果地图不大完全可以dfs/bfs去做,但是X,Y【1,1e9】就需要进行离散化可见障碍点n很少,最多200个输入完障碍点后,分x,y轴进行离散处理排序后去除一维坐标重合的点,然后进行离散处理,障碍点间(包括障碍点和边界之间)距离大于1...

2019-02-21 18:05:54 245

原创 LCA+模拟 HDU 5927 Auxiliary Set

 Describe多组测试数据给你n个点的树输入n-1条边后,q次询问,每次询问给你一个未知点集,点集外面的点都是已知的重要点,定义两个重要点的LCA也是重要点,问你一共有多少重要点Solution用到了LCA的一个性质:同一个节点的不同子树中的任何节点的LCA为该节点本身。所以我们要记录一个节点的所有儿子节点数目,然后根据未知顶点,依据深度从高到低排序,对于非重要点进行删除,...

2019-02-21 18:04:52 163

原创 POJ 2991 Crane(线段树+计算几何)

Description有一台起重机。我们把起重机看作由N条线段依次首尾相接而成。第i条线段的长度是Li。最开始,所有的线段都笔直连接,指向上方。现有C条操纵起重机的指令。指令i给出两个整数Si和Ai,效果是使线段Si和Si+1之间的角度变成Ao度。其中角度指的是从线段Si开始沿逆时针方向旋转到Si+1所经过的角度。最开始所有角度都是180度。按顺序执行这C条指令。在每条指令执行之后,输出起重机...

2018-08-08 19:11:27 257

原创 POJ2828线段树单点更新——逆序更新

Description输入n个有序对< pi, vi >,pi表示在第pi个位置后面插入一个值为vi的人,并且pi是不降的。输出最终得到的v的序列Input多组用例,每组用例第一行为有序对组数n,之后n行每行两个整数表示一个有序对,以n=0结束输入Output对于每组用例,输出最后得到的序列Sample Input40 771 511 332 6940 20523...

2018-08-08 14:46:27 192

原创 RMQ算法区间最值

问题类型:是多次询问一个大区间里子区间的最值问题dp + 位运算的思想处理rmax[i][j]表示从i开始到i + 2^j - 1的区间里的最大值dp[i][j] ==== (i,i + 2^j - 1)分为dp[i][j-1] === (i,i + 2^(j-1) - 1)dp[i + 1 << (j-1))][j-1] === (i + 2^(j-1),i + 2...

2018-08-06 20:25:18 178

原创 距离LCA离线算法Tarjan + dfs + 并查集

距离B - Distance in the Tree还是普通的LCA但是要求的是两个节点之间的距离,学到了一些一开始我想用带权并查集进行优化,但是LCA合并的过程晚于离线计算的过程,所以路径长度会有所偏差所以失败告终网上查询之后懂得要提前进行一下预处理,在输入完全部的边之后,也就是数形成之后,计算dis——》也就是每个点到树根的长度之后进行询问查询时:u,v 和 rt 这样uv...

2018-08-06 18:52:10 279

原创 LCA tarjan+并查集POJ1470

LCA tarjan+并查集POJ1470https://www.cnblogs.com/JVxie/p/4854719.html不错的一篇博客啊,让我觉得LCA这么高大上的算法不是很难啊,嘻嘻嘻这是个离线算法,现在的粗略理解是输入完毕询问完毕后进行解决的算法用了并查集1···选取根节点2···逐个dfs访问所选节点所有的子节点v  3···1··对于子节点的dfs访问...

2018-08-05 21:18:40 234

原创 tarjan算法总结

部分内容引自https://www.cnblogs.com/stxy-ferryman/p/7779347.html该篇代码仅仅是对思路的一个展现,并没有去题目中验证,可能会有些许误差Tarjan算法不是一个算法而是一类算法1.求取强连通分量  强连通分量————有向图的强连通子图  tarjan算法基于dfs,利用栈的思想,把下面所有的点都遍历完毕后,所能链接的最小祖先节点(...

2018-08-03 16:19:40 241

原创 tarjan算法的补充POJ2533tarjan求度

做题时又遇到了疑惑,说明一开始就没有完全理解基于dfs的tarjan,搜索时会有四种边树枝边:DFS 时经过的边,即 DFS 搜索树上的边前向边:与 DFS 方向一致,从某个结点指向其某个子孙的边后向边:与 DFS 方向相反,从某个结点指向其某个祖先的边横叉边:从某个结点指向搜索树中另一子树中的某结点的边Low(u)为 u 或 u 的子树( 经过最多一条后向边或栈中横叉边) ...

2018-08-03 10:02:02 171

原创 poj2186tarjan算法缩点求出度

poj2186tarjan算法缩点求出度自己打一遍第一题,入门啦,入门啦题目还算简单,多头牛,给你仰慕关系(可传递),问你最后有没有牛被所有的牛仰慕根据关系可以建图,利用tarjan算法缩点处理后,得到有向无环图,缩成的点都是相互仰慕的,所以根据传递性也就是可以看成一个点了,然后染色分块,计算每一块的出度。如果出度为0有且仅有一个,那么输出该块内所有的点,都符合要求如果有多个直...

2018-08-02 16:29:57 238

原创 POJ3177tarjan缩点_构建双连通图

POJ3177tarjan缩点_构建双连通图根据题意利用tarjan算法进行缩点处理后变成连通无环图,也可以说是一颗树,而且边是双向的所以,如果把这个图变成双连通,那就要对所有度为1的点进行加边处理所以步骤如下1·tarjan缩点处理 void tarjan(int u,int pre){ low[u] = dfn[u] = ++idx; for(int v...

2018-08-02 14:29:28 220

原创 poj 1523Tarjan算法的含义——求取割点可以分出的连通分量的个数

poj 1523Tarjan算法的含义——求取割点可以分出的连通分量的个数题目大意:如题目所示给你一些关系图——连通图,想要问你有没有个节点,损坏后,可以生成几个互相独立的网络(也就是连通分量),所以我们利用tarjan算法,求取一个联通分量的点,记录次数,因为访问几次,就代表这个点的不同方向上的联通分量的个数,记录下来,最后输出即可至于根节点的选取,选谁都没什么问题的,我默认选的节点...

2018-08-02 10:48:09 214

原创 tarjan算法--求解无向图的割点和桥

      1.桥:是存在于无向图中的这样的一条边,如果去掉这一条边,那么整张无向图会分为两部分,这样的一条边称为桥    也就是说  无向连通图中,如果删除某边后,图变成不连通,则称该边为桥2.割点:无向连通图中,如果删除某点后,图变成不连通,则称该点为割点。 求取割点:  1》当前节点为树根的时候,条件是“要有多余一棵子树”(如果这有一颗子树,...

2018-08-01 19:58:37 613

原创 spfa负环判断类型题(2类)

正常spfa中加入time数组,循环判断一个点是否入队并更新了n次以上注意是 > n!!其余的没有什么问题扩展的还有,寻找所有负环上的点,这个可以在spfa中time 发现负环的时候,对那个点进行dfs操作,找到所有的负环上的点即可void dfs(int u){ cir[u] = 1; for(int i = id[u];~i;i = edge[i].pre)...

2018-08-01 09:02:09 174

原创 codeforce 489d bfs分层处理

这个题确实没想到用bfs进行分层处理,后来看到了大佬的题解之后才想到了这一点bfs dfs早就学了,可是还是不大会应用到这上面可以分为三层,起始点,中间点,尾点,需要的数据是中间点到尾点的访问次数,这样就能得出形成的三角形了因为是单向所以也不必考虑重复的问题#include <iostream>#include <cstring>#include &l...

2018-07-31 16:17:57 222

原创 SPFA_queue_链式前向星最短路 & HDU2433

题目大意:看完之后,觉得不肯能让我暴力,比较好想的就是初始化——每个点都求个最短路spfa,sum数组记录每个点到各个点的最短路之和,ans作为总和,之后一一删除边u-v,求关于u的最短路,如果dis[v]是无穷大——》输出INF,否则连通——》求出sum【u】——用一个新的变量num1记录不可覆盖,求出sumv==num2,输出+》ans - sum[u] - sum[v] + num1 + n...

2018-07-30 20:27:02 256

原创 最小生成树——prim最小堆(优先队列)优化算法

基本prim最小生成树1·任意定点构树————标记数组标记入树2·初始化更新维护dis数组3·选出dis中最近的点j加入树中,并以j为起点松弛4.重复第3步选出n-1个点堆优化prim最小生成树 准备:dis数组,p优先队列,vis数组记录每个定点在最小堆中的位置1.初始化优先队列,以定义的起点为起点的所有的边入队2.弹出一条边,判断vis,如果边的终点访问了换边,直至...

2018-07-29 20:34:28 3352

原创 POJ2779 线性DP 或 杨氏三角 和 钩子公式

POJ2779 线性DP 或 杨氏三角 和 钩子公式本来就想回顾一下基础的线性DP谁知道今早碰到的都是这种大难题,QQQQ,不会这个也没有去理解线性DP的解法,了解了杨氏三角和钩子公式,做出了POJ2779杨氏矩阵和勾长公式杨氏矩阵又叫杨氏图表,它是这样一个矩阵,满足条件: (1)如果格子(i,j)没有元素,则它右边和上边的相邻格子也一定没有元素。(2)如果格子(i,...

2018-07-29 18:37:40 384

原创 HDU3480_区间DP平行四边形优化

HDU3480_区间DP平行四边形优化做到现在能一眼看出来是区间DP的问题了也能够知道dp[i][j]表示前  i  个节点被分为  j  个区间所取得的最优值的情况cost[i][j]表示从i到j元素区间中的值,这里可以直接排序后简单求出——也就是我们的代价函数这样其实就能够做出来了,但是空间复杂度是n3入门的题能过,普通点的都会考察你一下斜率DP的优化和四边形不等式的优化。目前...

2018-07-27 20:24:09 383 1

原创 HDU 2829 区间DP & 前缀和优化 & 四边形不等式优化

HDU 2829 区间DP & 前缀和优化 & 四边形不等式优化n个节点n-1条线性边,炸掉M条边也就是分为m+1个区间 问你各个区间的总策略值最少的炸法 就题目本身而言,中规中矩的区间DP问题 dp[i][j]表示前i个节点,分为j个区间的最优策略值 cost[i][j]为从i到j节点的策略值 所以dp[i][j] = min(dp[k-1][j-1] + cost[k]...

2018-07-27 20:19:57 184

原创 最大m段子段和

hdu1024 最大m子序列和给定你一个序列,让你求取m个子段(不想交的子段)并求取这m个子段和的最大值从二维开始来看dp[i][j]表示取第j个数作为第i个子段的元素所得到的前i个子段和的最大值,那么第j个元素必取1.第j个元素是第i个子段的开头——dp[i][j] = max(dp[i-1][k]) + a[j] k = [1,j-1] ——最大值肯定是前i-1个子段的最大值加上当...

2018-07-27 19:56:31 575

原创 HDU2159_二维完全背包问题

HDU2159_二维完全背包问题输入有:经验,忍耐度,怪物种数,限制杀怪数 每一种怪物对应获得的经验值和消耗的耐久值输出:剩下的最大忍耐度限制:忍耐度,杀怪个数在这里把忍耐度看成背包的容量,杀怪个数限制作为第二维dp[i][j]表示在背包容量为i的时候,放了j件物品所产生的价值接下来就是循环问题先遍历每一个物品(怪物)  i  然后遍历体积(耐久值)正序遍历——完全...

2018-07-27 19:33:32 383 1

原创 m个物品放n个盒子,盒子物品都相同,问你放的方法总数是多少

m个物品放n个盒子,盒子物品都相同,问你放的方法总数是多少看着像个排列组合,算着算着就发现我排列组合都忘得差不多啦,哎,什么时候能打败遗忘呢然后想用dp做,但是转移的方面没有想好看了看题解感觉这个思路太符合逻辑了递归和非递归的都差不多,非递归的初值要赋好,递归的呢只要赋值好所有可能的结束条件就好了对于i个放j个中如果j比i大是不是就会有j-i个盘子是空的,那么和把 i 放 i个...

2018-07-26 10:24:27 1573

原创 POJ3666 线性dp_离散化_贪心

POJ3666 线性dp_离散化_贪心就DP而言这个题不算难,但是难就难在贪心,还有离散化的思想上题目大意:n个土堆,问你最少移动多少单位的图,可以使得这n个土堆变成单调的dp[i][j]表示前i个土堆高变为j时最优值dp[i][j] = abs(j - a[i]) + min(dp[i-1][k])到这里就有问题了,k遍历起来有多大,是吧,没法想‘?所以搜了题解才知道:贪...

2018-07-25 09:09:51 301

原创 区间DP石子合并问题 & 四边形不等式优化

入门区间DP,第一个问题就是线性的规模小的石子合并问题dp数组的含义是第i堆到第j堆进行合并的最优值就是说dp[i][j]可以由dp[i][k]和dp[k+1][j]转移过来状态转移方程 dp[i][j] = min(dp[i][j],dp[i][k] + dp[k+1][j] + sum[i][j]) 对于第i堆到第j堆合并的花费 他的子问题是第i个的合并顺序op1:k实际上控制...

2018-07-24 14:25:42 255

原创 二分图学习——基础dfs判断二分图

#include <iostream>#include <cstdio>#include <string.h>#include <vector>#define inf 0xfffffffusing namespace std;const int maxn = 1e5 + 1e2;const int maxp = 1e3 + 1e2...

2018-04-21 20:14:24 420 1

原创 对阶梯博弈的一点想法

基础的阶梯博弈还是比较好理解的阶梯博弈,其实指代的是一类只能从后向前逐层(反过来也差不多)传递石子的游戏的模型,同样的,这类问题也可以转化成NIM取石子问题求解即对应先手必胜态。不考虑编号后的奇数堆(可以假设奇数堆上没有石子可以移动),对于所有偶数堆,率先移动的一方肯定会失败,这是显然的,因为目标堆是第0堆(重点态(比败态)),而移动2k堆只能到2k-1堆,即奇数堆,另一方再次移动又会回到偶数...

2018-04-02 20:35:12 338

原创 Miller_raibin算法随机化检测素数 & Pollar_rho 算法分解大数

首先基础是Miller_raibin随机化检测素数,顾名思义,随机化也就是有几率不对,但是很低,适用于大数快速检测,因为大数已经超出了我们打表的范围了对于这个算法基础是费马小定理 和二次探测定理1. Fermat定理:若n是奇素数,a是任意正整数(1≤ a≤ n−1),则 a^(n-1) ≡ 1 mod n。2. 推演自Fermat定理(具体过程我没看懂,Orz), 如果n是一个奇素数,将n−...

2018-03-29 19:36:05 414

原创 【并查集的另一个思考方向】POJ1456

POJ1456这个题一看好像就是用贪心做啊,一个结构体,拍一下序,vis数组一遍遍扫荡,最后输出值,没错,贪心的确能做出来,而这类题目也能应用并查集,实现得思想也是贪心#include <iostream>#include <string.h>#include <cstdio>#include <algorithm>using names...

2018-03-22 21:16:37 224

原创 【种类并查集——带权并查集】POJ1182;HDU3038

POJ1182HDU3038这两个题比较像(一类题目),属于带权(种类)并查集poj1182描绘得三种动物种类的关系,按照他一开始给你的关系,优化你的种类关系网络,最后看看再优化的过程中有几处矛盾 #include <iostream>#include <string.h>#include <cstdio>using namespace std;co...

2018-03-21 21:17:06 242

原创 【并查集之判断连通无环图】

HDU-1272 | HDU-1325 小希的迷宫 | Is it a tree ?http://acm.hdu.edu.cn/showproblem.php?pid=1272http://acm.hdu.edu.cn/showproblem.php?pid=1325判断一张图是否是一颗树(连通,无环)的两个关键点:不存在环路(对于有向图,不存在环路也就意味着不存在强连通子图)满足边数加一等于...

2018-03-20 21:09:05 690

原创 并查集回顾

今天做了一些欧拉函数和并查集得题目,总感觉这两天很没有状态啊,效率非常低下,希望早点恢复吧~~毕竟选拔赛马上就要到了因为状态原因,没有耐下心来去啃一道难题,也没有去学习新的知识点,复习了一下并查集POJ1611我一开使嘛,用很常规的思路去做,每一个组得老大为最后一个给出的人,然后我尝试再find函数进行时,减少结点得长度(分级)就是让这条线上的都直接连在老大后面,左后判断每一个结点是不是0得老...

2018-03-18 20:55:06 194

原创 【模拟学习】 HDU3347 保持思路,肯定AC

#include <iostream>#include <string.h>#include <cstdio>#include <map>#include <string>using namespace std;int getnum(string a){ int ret = 0; int fuflag =...

2018-03-17 21:08:58 248

原创 【最大流之Dinic算法】POJ1273 【 & 当前弧优化 & 】

总评一句:Dinic算法的基本思想比较好理解,就是它的当前弧优化的思想,网上的资料也不多,所以对于当前弧的优化,我还是费了很大的功夫的,现在也一知半解,索性就写一篇博客,来发现自己哪里的算法思想还没理解透彻,并解决他https://www.cnblogs.com/SYCstudio/p/7260613.html这篇博客对于Dinic的算法思想介绍的非常详细,一些专有名词什么的也是很专业网络流:...

2018-03-16 18:47:00 527

原创 【最大流之ek算法】HDU1532 求最大流

本来是继续加强最短路的训练,但是遇到了一个最短路 + 最大流的问题,最大流什么鬼,昨天+今天学习了一下,应该对ek算法有所了解,凭借学习后的印象,自己完成并ac了这个最大流的模板题题目大意:都是图论,只是这个图给你的关系是网络关系,就是从s到t的路上,你运送的东西的量必须满足所有路径的限制,而题目给出的就是限制,我们用一个二维数组c存储i到j这一条边的总限制,注意的是,初始化c数组为0,然后增...

2018-03-15 17:08:09 290

最大流DInic算法(链式前向星)

给师弟师妹们讲网络流Dinic算法与可行流用到的讲义,感觉还是不错,分享一下~

2019-04-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除