t
a
g
:
tag :
tag: 思维
并查集
传送门 : 不能直接传送的可能没有报名该场周赛
题意 : 给定一个字符数组包含表示向左向右走
询问有多少个
i
i
i满足,可以根据走出边界
思路 : 看完这题一眼就并查集了。我们发现不管怎么样最后的点都会经过两边。因此我们将走向两边的点分为两个集合
同时判断两边是否合法,判断当前集合是否满足即可
因为一眼题了,对于这个题也没细想。看了题解之后发现。我们并不需要分集合,因为向左边的路只能是n;
init();
cin>>(s+1);
if(s[1] == '') flag[n] = 1;
Fup(i,1,n){
if(s[i] == ''){
int fa = find(L[i]);
int fb = find(L[i+1]);
L[fa] = fb;
}
}
int cnt = 0 ;
Fup(i,1,n){
int fi = find(L[i]);
if(flag[fi]){
++cnt;
}
}
cout
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?