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

网站建设 功能需求时代定制

网站建设 功能需求,时代定制,网站建设人力成本费用,高端品牌网站建设定位目录 前言 一、并查集 1、并查集的合并(带路径压缩) 2、询问是否为同一个集合 3、例题 二、前缀和 1 、前缀和是什么 2、经典题目 三- 字符串处理 1、字符串的插入 2、字符串转化为int类型 3、字符反转 前言 并查集合前缀,字符串…

目录

 前言

一、并查集

1、并查集的合并(带路径压缩)

2、询问是否为同一个集合

3、例题

二、前缀和

1 、前缀和是什么

2、经典题目

三- 字符串处理

1、字符串的插入

2、字符串转化为int类型

3、字符反转


 前言

并查集合前缀,字符串和在往年考试出现频率不算太高,但也会涉及到,考察的时候往往结合一些其他知识带点一起考察,当然也不排除今年蓝桥杯会考察到,学一下也是未自己增加一份保险


一、并查集

并查集,类似于树的组合,俩个数如何以最短的时间复杂度,实现合并,就是把一个树的根连到另一个树上去,时间复杂度近乎为1;

维护n个元素,刚开始每个元素自己一个集合,支持两个操作。

  • 合并两个元素所在的集合
  • 询问两个元素是否在相同的集合内

其他支持:

  • 维护每个元素和同一个集合内的其他元素的关系
  • 每个元素所在的集合的大小

并查集这个算法,他有自己的模板操作

1、并查集的合并(带路径压缩)

int find (int x)
{if(p[x]  != x )   p[x] = find(p[x]);   //父节点等于祖宗节点return p[x];
}

p[find(a)] = find(b);  //使a的祖宗节点的父节点等于b的父节点实现转接

2、询问是否为同一个集合

if(find(a) == find(b)) 

3、例题

代码

#include <bits/stdc++.h>using namespace std;const int N = 100010;
int n,m;
int p[N];
int find (int x)
{if(p[x]  != x )   p[x] = find(p[x]);   //父节点等于祖宗节点return p[x];
}
int main()
{cin>>n>>m;for(int i = 1;i <= n; i ++)  p[i] = i;    //根据题目要求使得每个数各自在一个集合while(m--){char op[2];int a,b; scanf("%s%d%d",op,&a,&b);  //输入字符串,因为scanf常常读入一些空格之类,使用字符串类型比较保险if(op[0] == 'M')   p[find(a)] = find(b);  //使a的祖宗节点的父节点等于b的父节点实现转接else {   if(find(a) == find(b)) puts("Yes");else puts("No");}}return 0;
}

 2020蓝桥杯b组第四题考到DFS和并查集的内容,感兴趣可以尝试做一下真题


二、前缀和

1 、前缀和是什么

一维数组的前缀和很简单可以通过下面的例题来理解

2、经典题目

输入一个长度为 n的整数序列。

接下来再输入 m个询问,每个询问输入一对 l,r。

对于每个询问,输出原序列中从第 l个数到第 r 个数的和。

输入格式

第一行包含两个整数 n 和 m。

第二行包含 n 个整数,表示整数数列。

接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。

输出格式

共 m 行,每行输出一个询问的结果。

输入样例:

5 3
2 1 3 6 4
1 2
1 3
2 4

输出样例:

3
6
10

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int main()
{int n,m;int a[N],s[N] ;cin>>n>>m;for(int i =1;i <= n;i++) cin>>a[i];for(int i =1;i <= n;i++) s[i]= s[i-1] +a[i];while(m--){int l,r;cin>>l>>r;cout<<s[r] - s[l-1]<<endl;}
} 

三- 字符串处理

字符串题目考察频率也还行,学会简单的几个字符串STL的函数,可以帮助我们解决复杂的问题,

下面介绍几个
 

1、字符串的插入

string  s = "abcdef"

s1 =  s.substr (2)  //从下标为2的字符开始截取到结尾,s1 = "cdef";

s2 =  s.substr(2,3)  //从下标为2的2字符截取长度为3的字符串 s2 = "cde";

      

2、字符串转化为int类型

string 类型转化为int 型  stol()

string 类型转化为long long型 stoll()

代码

 string s = "12345";int t = stol(s);printf("%d\n",t);long long m = stoll(s);printf("%lld",m);

3、字符反转

输入一个字符串,想使其反转过来

    string s;
    reverse(s.begin(),s.end());

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

相关文章:

  • 建设部建造师强制注销网站网络运营招聘信息
  • wordpress模版丢失seo蒙牛伊利企业网站专业性诊断
  • 水利建设公共服务平台网站如何找工程项目信息
  • 建设一个公司网站前端网站大全
  • 北京网站优化公司如何自己公司网站维护
  • 手机网站一般多宽企业品牌网站开发制作合同
  • 部队内网网站建设方案设计素材免费下载
  • 电子商务网站的建设与维护海南网站定制
  • php购物网站开发设计嘉兴网站seo外包
  • 网站安全建设方案报告企业管理培训免费课程
  • 如何做网站活动封面教做潮男的网站
  • 网页游戏网站排名前10名网站多语言切换
  • 鹿寨县住房和城乡建设局网站汽车软件开发流程
  • 门户型网站都有哪些适合个人做的网站有哪些东西
  • 网站建设制作怎么弄建设学院网站的通知书
  • 一个专门做预告片的网站夫唯seo视频教程
  • 常平做网站wordpress后台轮播图设置
  • 杭州网站推广与优化app找什么公司
  • 秦皇岛市海港区建设局网站北京软装设计公司前十名
  • 做海南旅游网站的初衷hexo wordpress 主题
  • 公司内部网站建设的意义网站营销队伍
  • 做网站数据库更改wordpress主题
  • 盐城国有资源土地建设交易网站徐州市城乡和城乡建设厅网站
  • 手机网站建设 的作用乐陵关键词seo
  • 网站做微信链接怎么做保健品企业网站
  • 网站建设价格标准信息猪八戒做网站怎么样
  • html网站开发做网站的桔子什么
  • 无锡网站建设外包计算机类哪个专业前景好
  • 广州做网站的网络公司排名wordpress 回复评论
  • 网站建设初验申请表代理服务器上外网