笔试强训Day15 二分 图论

平方数

题目链接:平方数 (nowcoder.com)

思路:水题直接过。

AC code:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{long long int n; cin >> n;long long int a = sqrtl(n);long long int b = a + 1;if( abs(n - a * a) > abs(n - b * b))cout << b * b;else cout << a * a;return 0;
}

分组

题目链接:E-分组_牛客小白月赛40 (nowcoder.com)

思路:

题目中要求人数最多的小组人尽量少,即可二分每个小组人数。

注意如果小组人数大于 最多人的那个最大值 是不可以的。

多关注下边界条件即可。

AC code:

#include<iostream>
#include<unordered_map>
#include<algorithm>
using namespace std;
unordered_map<int,int> mp;
int n,m;
int cnt;bool check(int x)
{int k = 0;//小组数for(auto it : mp){if(it.second > x)k +=(it.second + x - 1) / x;//向上取整elsek ++;}if(k > m) return 0;return 1;
}int main()
{cin >> n >> m;int maxx = -2e9;for(int i = 0; i < n; i ++){int x; cin >> x;mp[x]++;maxx = max(maxx, mp[x]);}int l = 0, r = 1e5 + 10; // 二分小组人数while(l < r){int mid = l + r >> 1;if(check(mid)) r = mid;else l = mid + 1;}if(r <= maxx)cout << r << endl;else cout << -1 << endl;return 0;
}

AB13 【模板】拓扑排序

题目链接:【模板】拓扑排序_牛客题霸_牛客网 (nowcoder.com)

思路:

模板题 根据入度是否为零 依次入队即可。

AC code:

#include<iostream>
#include<cstring>
using namespace std;const int N = 100010;int h[N], e[N], ne[N], idx;int q[N], d[N]; // d[N] 入度int n, m;void add(int a, int b) {e[idx] = b;ne[idx] = h[a];h[a] = idx ++;
}
void topsort() {int hh = 0, tt = -1;for (int i = 1; i <= n; i++)if (d[i] == 0) q[++tt] = i;while (hh <= tt) {int a = q[hh++];for (int i = h[a]; i != -1; i = ne[i]) {int j = e[i];d[j]-- ;if (!d[j]) q[++tt] = j;}}if (tt == n - 1)for (int i = 0; i < n; i++) cout << q[i] << " ";elsecout << -1;}
int main() {memset(h, -1, sizeof(h));cin >> n >> m;for (int i = 1; i <= m; i++) {int a, b;cin >> a >> b;add(a, b);d[b]++;}topsort();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/9636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欢乐钓鱼大师游戏攻略,自动钓鱼!

在《欢乐钓鱼大师》的游戏中&#xff0c;每个玩家都沉浸在湖水的世界里&#xff0c;手持钓竿&#xff0c;期待着每次的收获。这不仅是一场简单的游戏&#xff0c;更是一次对技巧和耐心的考验。在这个充满乐趣和挑战的世界中&#xff0c;掌握正确的钓鱼技巧和选择合适的装备至关…

电子版图书制作,一键转换可仿真翻页的画册

在数字化浪潮的冲击下&#xff0c;传统纸质图书逐渐被电子版图书取而代之。电子版图书以其便携、环保、更新快速等特点&#xff0c;吸引了越来越多的读者。制作一款既具备电子图书的便捷性&#xff0c;又能仿真翻页的画册&#xff0c;成为当下图书出版行业的新趋势 1.要制作电子…

【QT教程】QT6模型-视图编程 QT模型视图编程

QT6模型-视图编程 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…

数据结构与算法学习笔记九-二叉树的链式存储表示法和实现(C语言)

目录 前言 1.二叉树的链式存储 2.二叉链表的表示和实现 1.定义 2.创建 4.中序遍历二叉树 5.后序遍历二叉树 6.后序遍历二叉树 7.完整代码 前言 这篇博客主要介绍二叉树的链式存储结构。 1.二叉树的链式存储 上篇文章中介绍了二叉树的顺序存储结构&#xff0c;在最坏的…

ORACLE RAC ASM磁盘组OFFLINE后的处理步骤

近期某客户的备机数据库集群ASM磁盘出现问题&#xff0c;数据库系统异常关闭。对问题进行排查&#xff0c;可以发现问题是存储磁盘出现了IO问题后OFFLINE&#xff0c;从而导致磁盘组也OFFLINE。由于系统是备机&#xff0c;发现时已经过去了较长时间&#xff0c;多余NORMAL冗余&…

【核武器】2024 年美国核武器-20240507

2024年5月7日,《原子科学家公报》发布了最新版的2024美国核武器手册 Hans M. Kristensen, Matt Korda, Eliana Johns, and Mackenzie Knight, United States nuclear weapons, 2024, Bulletin of the Atomic Scientists, 80:3, 182-208, DOI: https://doi.org/10.1080/00963…

有Python 2和3,但只给Python 2安装模块

系统中同时安装了Python 2和Python 3&#xff0c;并且你想要为Python 2的pip安装pytz&#xff0c;你需要确保使用Python 2的pip版本来执行安装命令。通常&#xff0c;Python 2的pip可以通过pip2命令来调用。以下是详细步骤&#xff1a; 首先&#xff0c;你需要确认系统中安装了…

Pandas数据取值与选择

文章目录 第1关&#xff1a;Series数据选择第2关&#xff1a;DataFrame数据选择方法 第1关&#xff1a;Series数据选择 编程要求 本关的编程任务是补全右侧上部代码编辑区内的相应代码&#xff0c;要求实现如下功能&#xff1a; 添加一行数据&#xff0c;时间戳2019-01-29值为…

【问题分析】锁屏界面调起google语音助手后壁纸不可见【Android 14】

1 问题描述 为系统和锁屏分别设置两张不同的壁纸&#xff0c;然后在锁屏界面长按Power调起google语音助手后&#xff0c;有时候会出现壁纸不可见的情况&#xff0c;如以下截图所示&#xff1a; 有的时候又是正常的&#xff0c;但显示的也是系统壁纸&#xff0c;并非是锁屏壁纸…

Android system property运作流程源码分析

一.序 前文分析了build.prop这个系统属性文件的生成&#xff0c;每个属性都有一个名称和值&#xff0c;他们都是字符串格式。属性被大量使用在Android系统中&#xff0c;用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性&#x…

初装byzer notebook,启动错误

原因是jdk版本不对 (base) gw00241401gw00241401-pc:/data/tools/byzer-notebook$ sudo update-alternatives --config java There are 4 choices for the alternative java (providing /usr/bin/java). Selection Path Priori…

傻傻分不清楚:JDK/JRE/JVM的区别和联系

在Java开发的世界里&#xff0c;JDK、JRE和JVM是三个经常听到的术语。 对于初学者来说&#xff0c;它们的概念和区别可能会让人感到困惑。 这篇文章详细解释下三个组件的含义、它们之间的区别和联系。 一&#xff0c;JDK&#xff1a;Java Development Kit JDK是Java开发工具…

vi 和 vim的基本使用

vi 和 vim的基本使用 1. vi 和 vim介绍 vi 和 vim 都是Unix和类Unix系统中的文本编辑器。vi 是一个非常早期的屏幕编辑器&#xff0c;而 vim&#xff08;通常被认为是“VI iMproved”的缩写&#xff09;是一个基于 vi 但提供了更多改进和额外功能的文本编辑器。 vi vi 是一…

MOS管栅极驱动自举电路设计

自举式驱动电路工作原理 自举式电路在高电压栅极驱动电路中是很有用的,其工作原理如下: 当 VS 降低到 IC 电源电压 VDD以下(至少要比VDD低一个二极管压降) 或下拉至地时 (低端开关导通,高端开关关断),电源 VDD 通过自举电阻RBOOT,和自举二极管DBOOT,对自举电容CBOOT…

一套pacs医学影像存档与通讯系统源码 PACS系统的起源、趋势、工作流程

PACS系统的起源 医学影像信息系统最初是从处理放射科的数字图像发展起来的。医学影像信息系统的前身是医学影像存档与通信系统&#xff08;PACS&#xff0c;Picture Archiving & Communication System&#xff09;&#xff0c;最先推动PACS发展的动力来自于传统的相机厂家…

【已解决】QT C++中QLineEdit不可粘贴输入

本博文源于生产实际&#xff0c;主要解决LineEdit不可粘贴输入的情况。下面将进行具体分析 问题来源 输入框只能一个个输入&#xff0c;不可复制粘贴。 分析 给QLineEdit装一个监听事件&#xff0c;监听它的事件即可。 问题解决步骤 问题一共分为三步&#xff1a; 书写监…

C++反汇编——多态,面试题01

文章目录 1.C的三大特性1.1封装1.2继承1.3多态1.3.1 虚函数1.3.2 多态代码反汇编分析。反汇编分析1——基类指针指向子类对象&#xff0c;构造过程。反汇编分析2——基类指针指向子类对象&#xff0c;调用虚函数getPrice()过程。反汇编分析3——基类对象&#xff0c;调用虚函数…

electron-vite工具打包后通过内置配置文件动态修改接口地址实现方法

系列文章目录 electronvitevue3 快速入门教程 文章目录 系列文章目录前言一、实现过程二、代码演示1.resources/env.json2.App.vue3.main/index.js4.request.js5.安装后修改 前言 使用electron-vite 工具开发项目打包完后每次要改接口地址都要重新打包&#xff0c;对于多环境…

思维导图如何用AI生成?借助这几款工具

思维导图如何用AI生成&#xff1f;在数字化时代&#xff0c;思维导图作为一种高效的信息组织与展示工具&#xff0c;被广泛应用于学习、工作和项目管理中。随着人工智能技术的飞速发展&#xff0c;AI生成思维导图已成为现实&#xff0c;极大地提升了创建思维导图的效率和创意。…

翻译《The Old New Thing》 - Restating the obvious about the WM_COMMAND message

Restating the obvious about the WM_COMMAND message - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20060302-10/?p32093 Raymond Chen 2006年03月02日 关于 WM_COMMAND 消息的显而易见的知识点补充 简要 本文详细解释了 WM_COMMAND 消息…