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

石家庄专业网站设计做公司网站软件

石家庄专业网站设计,做公司网站软件,电影网站如何做采集,淄博网站建设多少钱题目描述 假设村落以二叉树的形状分布,我们需要选择在哪些村落建设基站。如果某个村落建设了基站,那么它和它相邻的村落(包括本节点、父节点和子节点)也会有信号覆盖。目标是计算出最少需要建设的基站数。 输入描述 输入为一个…

题目描述

假设村落以二叉树的形状分布,我们需要选择在哪些村落建设基站。如果某个村落建设了基站,那么它和它相邻的村落(包括本节点、父节点和子节点)也会有信号覆盖。目标是计算出最少需要建设的基站数。

输入描述

输入为一个完全二叉树的数组形式表示,从左到右、从上到下遍历。每个元素为 10,其中:

  • 1 表示节点存在。
  • 0 表示节点不存在。

节点数范围为 (1 < 节点数 < 8191)。

输出描述

输出为最少需要建设的基站数。

用例输入

输入:

1 1 1 1 0 1 1

输出:

2

说明:最少需要 2 个基站才能覆盖所有村落。

输入:

1 1 0 1 0 0 0

输出:

1

说明:只需要 1 个基站就能覆盖所有村落。

解题思路

  1. 构建二叉树

    • 使用数组表示的完全二叉树,通过递归构建二叉树结构。
    • 如果当前节点不存在(值为 0),则返回 nullptr
  2. 动态规划(DFS)

    • 使用深度优先搜索(DFS)遍历二叉树,为每个节点计算三种状态:
      1. 在当前节点安装基站:子节点可以处于任何状态,因为当前节点的基站已经覆盖了本节点。
      2. 不在当前节点安装基站,依赖父节点的基站覆盖:子节点必须自己安装基站或依赖其子节点的基站覆盖。因为本节点不安装基站。
      3. 不在当前节点安装基站,依赖子节点的基站覆盖:至少有一个子节点必须安装基站,另一个子节点只能自己安装或者依赖他的子节点。
    • 对于每个节点,计算这三种状态的最小基站数,并返回结果。
  3. 结果计算

    • 根节点的最小基站数为在当前节点安装基站或依赖子节点安装基站的最小值。

代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <map>
#include <algorithm>
#include <string>
#include <vector>
#include <unordered_map>
#include <unordered_set>
#include <queue>
#include <set>
#include <list>
#include <sstream>
#include <bitset>
#include <stack>
#include <climits>
#include <iomanip>
#include <cstdint>
using namespace std;vector<int> tree; // 存储输入的二叉树数组struct node {int index; // 节点索引node* left; // 左子节点node* right; // 右子节点
};// 构建二叉树
node* build(int root) {if (root >= tree.size() || tree[root] == 0) return nullptr; // 如果节点不存在,返回nullptrnode* l = build(2 * root + 1); // 构建左子树node* r = build(2 * root + 2); // 构建右子树node* cur = new node; // 创建当前节点cur->index = root;cur->left = l;cur->right = r;return cur;
}// 深度优先搜索,计算每个节点的三种状态
vector<int> dfs(node* root) {if (root == nullptr) {return { INT_MAX / 2, 0, 0 }; // 非法节点,默认被覆盖}vector<int> l_dp = dfs(root->left); // 左子树的三种状态vector<int> r_dp = dfs(root->right); // 右子树的三种状态// 状态1:在当前节点安装基站// 子节点可以处于任何状态,因为当前节点的基站已经覆盖了它们int dp0 = *min_element(l_dp.begin(), l_dp.end()) + *min_element(r_dp.begin(), r_dp.end()) + 1;// 状态2:不在当前节点安装基站,依赖父节点的基站覆盖// 子节点必须自己安装基站或依赖其子节点的基站覆盖int dp1 = l_dp[2] + r_dp[2];// 状态3:不在当前节点安装基站,依赖子节点的基站覆盖// 至少有一个子节点必须安装基站int dp2 = min(l_dp[0] + min(r_dp[0], r_dp[2]),r_dp[0] + min(l_dp[0], l_dp[2]));return { dp0, dp1, dp2 };
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);string input;getline(cin, input); // 读取输入istringstream is(input);int num;while (is >> num) {tree.push_back(num); // 存储二叉树数组}node* root = build(0); // 构建二叉树vector<int> res = dfs(root); // 计算最小基站数cout << min(res[0], res[2]); // 输出结果return 0;
}

文章转载自:

http://ebOluiqJ.gbrps.cn
http://MhNdZd9A.gbrps.cn
http://XUKtx6F1.gbrps.cn
http://vx8SMuXB.gbrps.cn
http://ww9nwC1Q.gbrps.cn
http://I6oLJDdm.gbrps.cn
http://coUfm4ts.gbrps.cn
http://fA4Jm84s.gbrps.cn
http://koUGiMXO.gbrps.cn
http://2rE5HmJd.gbrps.cn
http://XbQpPLBS.gbrps.cn
http://ETvEMZS7.gbrps.cn
http://9jEvVmGq.gbrps.cn
http://EhK4U2c7.gbrps.cn
http://qxrLZvUc.gbrps.cn
http://IG1c7FxG.gbrps.cn
http://bvt3wh0T.gbrps.cn
http://CJQrN1hl.gbrps.cn
http://Mw8WIWPk.gbrps.cn
http://QW9SbKYk.gbrps.cn
http://qMDsDdHq.gbrps.cn
http://8BCvRtCB.gbrps.cn
http://XUjLd4Aw.gbrps.cn
http://4bNbfYm7.gbrps.cn
http://htRRsC8E.gbrps.cn
http://aMGA0rM9.gbrps.cn
http://EhO9cqN2.gbrps.cn
http://upOI8OA0.gbrps.cn
http://zW4xBTMt.gbrps.cn
http://AIr3HSL0.gbrps.cn
http://www.dtcms.com/wzjs/714052.html

相关文章:

  • 南京的网站建设公司医生在线免费咨询
  • 惠东网站开发网站后台模板 html
  • 绍兴网站优化美食网站开发环境
  • 如何让网站被百度收入定制网络线
  • 网站上怎么做产品介绍在线crm客户关系管理
  • 做模板网站价格做网站客户
  • 网站建设营销攻略wordpress建站方法
  • 建设部网站规范下载什么网站可以做线上小游戏
  • php网站开发环境说明外贸手机网站模板
  • 做网站需要会什么条件wordpress添加联系qq
  • 网站开发问卷调查题网站后台权限管理
  • 如何对网站管理ASP网站开发技术期末考试
  • 酒类网站如何做深圳做分销网站设计
  • 关于绿色环保网站的建设历程慢慢来 网站建设
  • 返利网站方案如何建立一个免费网站
  • 网站建设维护的职位响水专业做网站的公司
  • 潘家园网站建设黄冈做网站的公司
  • seo排名技术软件整站seo定制
  • 网站建设品牌公司排名机械加工网销平台
  • 网站建设要那些东西做网站需要自己上传产品吗
  • 门户网站制度建设网页游戏网站链接
  • 网站备案升级wordpress幻灯
  • 网站 建设 内容 安排o2o电子商务平台有哪些
  • 品牌设计公司网站wordpress 关闭缩略图
  • 上海设计招聘网站广州 网站 建设 制作
  • 国外打开网站会不会乱码.wordpress安装
  • 东莞飞天网站设计公司wordpress高级文章编辑器
  • 云南网站建设快速排名免费空间搭建免费小说网站
  • 网站上二维码怎么做的买东西的网站都有哪些
  • wordpress 网站访问认证页面seo软文推广工具