博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ】1455 罗马游戏
阅读量:6912 次
发布时间:2019-06-27

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

【算法】可并堆(左偏树)

#include
#include
using namespace std;const int maxn=1000010;int l[maxn],r[maxn],fa[maxn],d[maxn],a[maxn],n,m;bool die[maxn];//0生1死int find(int x){
return fa[x]==x?x:fa[x]=find(fa[x]);}int merge(int x,int y)//返回x和y合并后子树的根{ if(!x)return y; if(!y)return x;//遇到一边为空节点则把另一边剩余的子树整颗接上去(返回) if(a[x]>a[y])swap(x,y);//将根节点更小的树放在左边 r[x]=merge(r[x],y);//递归合并左树右孩子和右树 if(d[l[x]]
View Code

另有蒟蒻WA的代码,错误已标注。

WA Code >_<

 

转载于:https://www.cnblogs.com/onioncyc/p/6230626.html

你可能感兴趣的文章
Hadoop序列化-------总结
查看>>
YII2 update vendor error
查看>>
从cpp-empty-test说起
查看>>
Redis密码验证情况下创建集群参考资料
查看>>
ssh连接复用
查看>>
我的友情链接
查看>>
原生js弹窗
查看>>
修改Hosts文件
查看>>
Python基本概念
查看>>
网络工程师该何去何从
查看>>
yum源配置 20000多个rpm包
查看>>
Ubuntu 16.04安装pip、pip3、ipython和ipython3
查看>>
error: command 'gcc' failed with exit status 1
查看>>
如何启动oracle数据库服务和监听
查看>>
Lync 客户端功能对比之电话支持
查看>>
C#操作数据库
查看>>
CSS感言1 初级。
查看>>
其实人人都能拍出好照片
查看>>
新手用Linux做代理服务器 三招搞定
查看>>
zookeepr+kafka集群--代码实现(三)
查看>>