博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1470 LCA+RMQ
阅读量:5100 次
发布时间:2019-06-13

本文共 749 字,大约阅读时间需要 2 分钟。

主要是注意输入,我用的是RMQ算法求LCA,在询问特多时比tarjan的时间要少。

#include
#include
#include
#include
using namespace std;const int N=1008;int vis[N],val[N],p[N];int first[N*2],node[N*2],dep[N*2],dp[N*2][25];int mi[25];//移位运算vector
map[N];//邻接表int lc[N],in[N];void dfs(int &index,int u,int d){ index++;//时间搓,全部遍历一次并记录所有节点的父亲,为查找公共祖先做准备 node[index]=u; dep[index]=d; vis[u]=1; first[u]=index; for(int i=0;i
y)//可用swap,但是我以前用了超时,所以再也不敢用了。 { k=rmq(y,x); return node[k]; } else { k=rmq(x,y); return node[k]; }}int main(){ int i,j,n,m,a,b; for(i=0;i<20;i++) mi[i]=1<

 

转载于:https://www.cnblogs.com/BruceNoOne/p/3215280.html

你可能感兴趣的文章
小记:xml画一个爱心。
查看>>
转载:$对象细节详情
查看>>
MySQL表的四种分区类型
查看>>
分页存储过程
查看>>
使用File类递归列出E盘下全部文件
查看>>
总结30个CSS选择器
查看>>
React-Native 学习笔记-Android开发平台-开发环境搭建
查看>>
ios程序编译链接参数 all_load 的 ld duplicate symbol _main 的 bug及修复
查看>>
Spring Boot常用的注解以及含义<持续更新>
查看>>
bzoj 2508: 简单题【拉格朗日乘数法】
查看>>
单元测试图解(二)
查看>>
Git分支操作
查看>>
Java根据html模板创建 html文件
查看>>
7.26
查看>>
dll--二进制层面的复用
查看>>
linux 压缩/解压缩/打包命令
查看>>
守护进程
查看>>
CLR 关于强命名程序集 .
查看>>
[BZOJ 3489] A simple rmq problem 【可持久化树套树】
查看>>
1013 Battle Over Cities [并查集]
查看>>