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

【今日三题】kotori和气球(排列) / 走迷宫(BFS最短路) / 主持人调度(二)(贪心+优先级队列)

头像
⭐️个人主页:@小羊
⭐️所属专栏:每日两三题
很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~

动图描述

目录

    • kotori和气球(排列)
    • 走迷宫(BFS最短路)
    • 主持人调度(二)(贪心+优先级队列)


kotori和气球(排列)

  • kotori和气球

在这里插入图片描述

我是🤡,这题没做出来。
m个位置放n种气球,第一个位置有n种情况,之后的位置只需要和前一个不是相同种类就行,因此后面都有n-1种情况。

#include <iostream>
using namespace std;const int mod = 109;
int n, m, res;int main()
{cin >> n >> m;res = n;for (int i = 1; i < m; i++){res = res * (n - 1) % mod;}cout << res << endl;return 0;
}

走迷宫(BFS最短路)

  • 走迷宫

在这里插入图片描述

#include <iostream>
#include <vector>
#include <queue>
using namespace std;int dx[4] = {1, -1, 0, 0}, dy[4] = {0, 0, 1, -1};
bool used[1001][1001];
using pii = pair<int, int>;
queue<pii> q;
int n, m, step, flag;
int xs, ys, xt, yt;int main()
{cin >> n >> m;cin >> xs >> ys >> xt >> yt;vector<string> vs(n + 1);for (int i = 1; i <= n; i++){string s;cin >> s;vs[i] = " " + s;}if (vs[xt][yt] == '.') {q.push({xs, ys});used[xs][ys] = true;while (q.size()){step++;int sz = q.size();while (sz--){auto [a, b] = q.front();q.pop();for (int i = 0; i < 4; i++){int x = a + dx[i], y = b + dy[i];if (x == xt && y == yt){flag = 1;break;}if (x > 0 && x <= n && y > 0 && y <= m && !used[x][y] && vs[x][y] == '.'){used[x][y] = true;q.push({x, y});}}if (flag) break;}if (flag) break;}}cout << (step > 0 ? step : -1) << endl;return 0;
}

主持人调度(二)(贪心+优先级队列)

  • 主持人调度(二)

在这里插入图片描述

首先对二维数组按左端点排升序,如果某个区间的左端点 >= 当前区级右端点,则这两个区间就可以由一个主持人主持,否则就需要多加一个主持人。
我们把所有主持人主持的区间右端点用小堆维护起来,遍历到当前区间,用当前区间左端点和维护起来的所有区间右端点中最小的比较,如果比这个最小的还小,则必须要多加一个主持人;否则不需要多加,然后把最小的右端点删除,将当前区间右端点入堆。

class Solution {
public:int minmumNumberOfHost(int n, vector<vector<int> >& startEnd) {priority_queue<int, vector<int>, greater<int>> pq;sort(startEnd.begin(), startEnd.end());pq.push(startEnd[0][1]);for (int i = 1; i < n; i++){if (startEnd[i][0] >= pq.top()) pq.pop();pq.push(startEnd[i][1]);}return pq.size();}
};

本篇文章的分享就到这里了,如果您觉得在本文有所收获,还请留下您的三连支持哦~

头像

相关文章:

  • 开源项目实战学习之YOLO11:ultralytics-cfg-models-fastsam(九)
  • Go并发控制模式:基于Channel的实践与优化
  • ganesha-DBUS
  • 批量删除OpenStack实例
  • 在柯希霍夫积分法偏移成像中,消除数据采集和地下构造(如深浅孔径差异)导致的叠加次数不均匀会引起成像剖面强度差异
  • [特殊字符]适合五四青年节的SVG模版[特殊字符]
  • SpringMVC知识点总结(速查速记)
  • 【容器化】Linux环境Docker在线与离线安装手册
  • vue3 动态修改系统title
  • Nature子刊(IF=122.7)综述:自身免疫性疾病靶点的“进化史”
  • 中央网信办部署开展“清朗·整治AI技术滥用”专项行动
  • DeepSeek V1:初代模型的架构与性能
  • URP - 序列图动画的实现
  • 算法导论第6章思考题
  • Django 自定义celery-beat调度器,查询自定义表的Cron表达式进行任务调度
  • Transformer架构指南:从原理到实战资源全更新
  • AI中常用概念的理解
  • 格雷希尔用于工业气体充装站的CZ系列气罐充装转换连接器,其日常维护有哪些
  • 【学习笔记】Shell编程--Bash变量
  • 开源版禅道本地安装卸载备份迁移小白教程
  • 据报特斯拉寻找新CEO,马斯克财报会议上表态:把更多时间投入特斯拉
  • 马上评|启动最高层级医政调查,维护医学一方净土
  • 五一去哪玩?“时代交响”音乐会解锁艺术假期
  • 国台办:台商台企有信心与国家一起打赢这场关税战
  • 中吉乌铁路重点控制性工程开工建设,包括三座隧道
  • “乐购浦东”消费券明起发放,多个商家同期推出折扣促销活动