当前位置: 首页 > news >正文

精美企业网站和平东路网站建设

精美企业网站,和平东路网站建设,建设云企业服务平台,陕西做网站电话目录 Trie树 并查集 堆 Trie树 作用:用来高效地存储和查找字符串集合的数据结构 基本形式: 模板代码如下: #include<iostream> using namespace std;const int N 100010;//idx代表当前用到哪个下标 //既是根节点&#xff0c;又是空节点 //cnt存储的是以当前点结尾的…

目录

Trie树

并查集


Trie树

作用:用来高效地存储和查找字符串集合的数据结构

基本形式:

 模板代码如下:

#include<iostream>
using namespace std;const int N = 100010;//idx代表当前用到哪个下标
//既是根节点,又是空节点
//cnt存储的是以当前点结尾的单词有多少
int son[N][26],cnt[N],idx;//插入
void insert(char str[])
{int p = 0;for(int i = 0;str[i];i++){int u = str[i] - 'a';if(!son[p][u]) son[p][u] = ++idx;p = son[p][u];}cnt[p] ++;
}//查询
int query(char str[])
{int p = 0;for(int i  = 0;str[i];i++){int u  = str[i] - 'a';if(!son[p][u]) return 0;p = son[p][u];}return cnt[p];
}

并查集

1、将两个集合合并

2、询问两个元素是否在一个集合当中

基本原理:

用树的形式来维护集合。树根的编号就是整个集合的编号。每个节点存储它的父节点,p[x]表示x的父节点。

#include<iostream>
using namespace std;const int N = 100010;//father数组
int p[N];
int n,m;//返回x的祖宗节点
int find(int x)
{if(p[x] != x) p[x] = find(p[x]);return p[x];
}int main()
{scanf("%d%d",&n,&m);for(int i = 0;i<=n;i++) p[i] = i;while(m--){char op[2];int a,b;scanf("%s%d%d",op,&a,&b);if(op[0] == 'M') p[find(a)] = find(b); //将b的祖宗节点接到a的祖宗节点的下方else{if(find(a) == find(b)) puts("Yes");else{puts("No");}}}return 0;
}

下面操作默认坐标为1开始

  • 插入一个数 heap[++size] = x;up(size)
  • 求集合中最小值 heap[1]
  • 删除最小值 heap[1] = heap[size]; size--;down(1);
  • 删除任意第k个元素 heap[k] = heap[size];size--; down(k);up(k);
  • 修改任意一个元素 heap[k] = x;dwon(k);up(k);

 

#include<iostream>
using namespace std;const int N = 100010;int n,m;
int h[N],size;//down操作
void down(int u)
{int t = u;if(2*u <= size && h[2*u] < h[t]) t = 2*u;if(2*u +1 <= size && h[2*u +1] < h[t]) t = 2*u+1;if(u != t){swap(h[u],h[t]);down(t);}
}//up操作
void up(int u)
{while(u/2 && h[u/2] > h[u]){swap(h[u/2],h[u]);u /=2;}
}int main()
{scanf("%d",&n);for(int i =0;i<=n;i++) scanf("%d",&h[i]);size = n;for(int i = n/2;i;i--) down(i);while(m--){printf("%d",h[1]);//删掉堆顶h[1] = h[size];size --;down(1);}}

http://www.yayakq.cn/news/554209/

相关文章:

  • 公司网站制作仿站wordpress 任务
  • 快速 模板 做网站中国移动门户网站
  • 二手房网站开发背景企业微网站哪家好
  • 自己开网站需要什么qt做网站
  • 中山网站建设平台上海奥美广告有限公司
  • 如何推广网站业务外包seo服务收费标准
  • 贸易公司做网站有优势吗万网商标注册
  • 企业管理软件a6怎么新建账套云南网站优化公司
  • 怎么编辑网站代码长沙网站建设好处
  • 企业网站注册容桂网站建设哪家公司好
  • 企业网站asp模板做进化树的在线网站
  • 网站建设 免费视频怎么查询技术支持公司做的网站
  • 微信公众号 做不了微网站吗网站建设项目需求分析流程图
  • 网站的技术解决方案泰州seo顾问服务
  • 网站怎么做是满屏seo网络营销策略
  • 开一家网站建设公司四川省城乡建设网网站
  • 用腾讯云做会员网站如何制作h5
  • wap网站 链接微信淘宝代运营服务
  • intitle 郑州网站建设怎么做网页长图
  • 将wordpress文件上传国外常用的seo站长工具
  • 光学网站建设唐山网站开发
  • 哈尔滨专业的建站报价淘客做网站怎么备案
  • 温州住房建设网站衡阳seo优化首选
  • 网站开发竞品分析百度帐号
  • 怎么分析一个网站百度一下官方网页版
  • 沙洋网站开发珠海建网站专业公司
  • 怎么管理好自己的网站八年级信息技术怎么制作网站
  • 如何建立自己的企业网站展示型网站搭建
  • 门户网站微信服务号建设方案营销型网站建设网站手机
  • c 网站开发入门视频中国空间站叫什么