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

帮别人做网站哪里可以接单百度网址大全设为主页

帮别人做网站哪里可以接单,百度网址大全设为主页,如何做影视网站,惠州开发做商城网站建设哪家好水质检测 题目描述 小明需要在一条 2 n 2 \times n 2n 的河床上铺设水质检测器。在他铺设之前,河床上已经存在一些检测器。如果两个检测器上下或者左右相邻,那么这两个检测器就是互相连通的。连通具有传递性,即如果 A A A 和 B B B 连通…

水质检测

题目描述

小明需要在一条 2 × n 2 \times n 2×n 的河床上铺设水质检测器。在他铺设之前,河床上已经存在一些检测器。如果两个检测器上下或者左右相邻,那么这两个检测器就是互相连通的。连通具有传递性,即如果 A A A B B B 连通, B B B C C C 连通,那么 A A A C C C 也连通。现在他需要在河床上增加铺设一些检测器使得所有的检测器都互相连通。他想知道最少需要增加铺设多少个检测器?

输入格式

输入共两行,表示一个 2 × n 2 \times n 2×n 的河床。

每行一个长度为 n n n 的字符串,仅包含 #.,其中 # 表示已经存在的检测器,. 表示空白。

输出格式

输出共 1 1 1 行,一个整数表示答案。

输入输出样例 #1
输入 #1
##.....#
#.#.#...
输出 #1
5
说明/提示
样例说明

其中一种方案:

###....#
#.######

增加了 5 个检测器。

评测用例规模与约定

对于 100 % 100\% 100% 的评测用例,保证 n ≤ 1000000 n \leq 1000000 n1000000

P12135 [蓝桥杯 2025 省 B] 水质检测

【思路分析】

状态表示

f[i][j] 代表第 i 行(i 取值为 0 或 1,分别对应第一行和第二行)使得到第 j 个位置的所有检测器连通的最小安装机器数量。

状态计算

状态转移方程

每个位置的状态可以从同一行的上一个位置或者另一行的上一个位置转移过来,因此状态转移方程如下:

  • f[0][j] = Math.min(f[0][j - 1] + a[0][j], f[1][j - 1] + a[1][j] + a[0][j])
  • f[1][j] = Math.min(f[1][j - 1] + a[1][j], f[0][j - 1] + a[1][j] + a[0][j])
import java.io.*;
import java.util.*;
public class Main {// 定义数组的最大长度,考虑到 n 的最大值为 1000000,这里设置为 1000010static final int N = 1000010;// 是否遇见了第一个机器的标志static boolean isFirstMachine;// f 数组用于存储动态规划的状态static int[][] f = new int[2][N];// a 数组用于预处理每个位置是否需要新增检测器,需要为 1,不需要为 0static int[][] a = new int[2][N];// 最后一个机器的位置static int lastMachine = 0;public static void main(String[] args) throws Exception {// 使用 BufferedReader 读取输入,提高读取效率BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String str1 = br.readLine();String str2 = br.readLine();// 获取输入字符串的长度,即河床的列数int n = str1.length();// 预处理所有位置是否需要新增一个机器for(int i = 0; i < n; i++) {// 第一行的第 i 个位置如果是机器,第一行的下一个位置就不需要填充机器if(str1.charAt(i) == '#') {a[0][i + 1] = 0;// 更新最后一个机器的位置lastMachine = i + 1;} else if(str1.charAt(i) == '.') {a[0][i + 1] = 1;}// 第二行的第 i 个位置如果是机器,第二行的下一个位置就不需要填充机器if(str2.charAt(i) == '#') {a[1][i + 1] = 0;// 更新最后一个机器的位置lastMachine = i + 1;} else if(str2.charAt(i) == '.') {a[1][i + 1] = 1;}}// 状态计算for(int i = 1; i <= lastMachine; i++) {// 找到第一个机器的位置if(isFirstMachine == false && (a[0][i] == 0 || a[1][i] == 0)) {isFirstMachine = true;}if(isFirstMachine) {// 状态转移方程,计算第 0 行第 i 个位置的最小安装机器数量f[0][i] = Math.min(f[0][i - 1] + a[0][i], f[1][i - 1] + a[1][i] + a[0][i]);// 状态转移方程,计算第 1 行第 i 个位置的最小安装机器数量f[1][i] = Math.min(f[1][i - 1] + a[1][i], f[0][i - 1] + a[1][i] + a[0][i]);}}// 输出结果,取第 0 行和第 1 行最后一个机器位置的最小安装机器数量System.out.println(Math.min(f[0][lastMachine], f[1][lastMachine]));// 关闭 BufferedReaderbr.close();} 
}
http://www.dtcms.com/wzjs/528638.html

相关文章:

  • 如何创建公司网站简述企业网站如何推广
  • 服装公司做哪个网站网站维护一年一般多少钱?
  • 大型网站怎么做seo官网优化详细方法
  • 拼多多卖网站建设阿亮seo技术顾问
  • 公司网站建设找谁广东seo推广公司
  • 威海网站开发制作网络营销策略名词解释
  • 电商网站建设与管理自考试卷海淀区seo搜索引擎
  • 大型网站制作制作网页需要多少钱
  • 辽宁省电力建设网站有什么平台可以发广告
  • wordpress导入项目武汉seo计费管理
  • 深圳网站建设优化服务百度站长工具链接提交
  • 小企业怎么推广免费seo提交工具
  • 软件开发工程师是什么职业seo搜索引擎是什么
  • 网站首页菜单栏模块怎么做的完整企业网站模板
  • 自己怎么做网站卖车百度搜索量
  • 受欢迎的模板网站建设网站搜索查询
  • 纺织品做外贸一般在哪个网站上长沙seo优化哪家好
  • 开个网站需要什么什么是竞价推广
  • 住房和城乡建设部网站诚信评价百度提交收录
  • 网站使用授权书网站推广app
  • 网站程序调试模式怎么做互联网营销外包推广
  • 普通网站可以做商城百度统计api
  • 低价建设网站优化网站排名解析推广
  • 我的世界做皮肤网站网站seo优化免费
  • 网站建设方案及报价单郑州有没有厉害的seo顾问
  • 欧亚专线福州百度推广排名优化
  • 网站建设吗seo效果分析
  • 网站建设审批表优化大师下载安装app
  • 提高政府的门户网站建设网站关键词优化公司哪家好
  • 西安官网seo方法深圳网站关键词排名优化