笔试强训Day15 二分 图论

news2024/11/24 9:16:16

平方数

题目链接:平方数 (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;//向上取整
        else
            k ++;
    }
    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] << " ";
    else
        cout << -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.coloradmin.cn/o/1647801.html

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

相关文章

苏州金龙荣获首届无人扫地机器人演示比赛“竞技领跑奖”

4月30日&#xff0c;2024年苏州市首届无人扫地机器人演示比赛在高新区思益街展开比拼。五家企业参赛在道路上实地比拼无人扫地机器人技术&#xff0c;通过清扫垃圾、识别路障等环节展现城市清洁的“未来场景”。经过角逐&#xff0c;苏州金龙的无人驾驶清扫车获得步道演示比赛“…

送给正在入行的小白:最全最有用的网络安全学习路线已经安排上了

在这个圈子技术门类中&#xff0c;工作岗位主要有以下三个方向&#xff1a; 安全研发安全研究&#xff1a;二进制方向安全研究&#xff1a;网络渗透方向 下面逐一说明一下。 第一个方向&#xff1a;安全研发 你可以把网络安全理解成电商行业、教育行业等其他行业一样&#xf…

centos7.9系统rabbitmq3.8.5升级为3.8.35版本

说明 本文仅适用rabbitmq为RPM安装方式。 升级准备 查看环境当前版本&#xff1a; # cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # rabbitmqctl status Status of node rabbitmq01 ... RuntimeOS PID: 19333 OS: Linux Uptime (seconds): 58 Is under …

Ollama +Docker+OpenWebUI

1 Ollama 1.1 下载Ollama https://ollama.com/download 1.2 运行llama3 $ ollama run llama3 pulling manifest pulling 00e1317cbf74... 100% ▕███████████████████████████████████████████████████████████…

Java 运行的底层原理

Java是一种跨平台的编程语言&#xff0c;其底层原理涉及到了多个方面&#xff0c;包括Java虚拟机&#xff08;JVM&#xff09;、字节码、类加载机制、垃圾回收器等。让我们逐一深入了解Java运行的底层原理。 1. Java虚拟机&#xff08;JVM&#xff09; Java虚拟机是Java程序运…

【前端】HTML基础(1)

文章目录 前言一、什么是前端二、HTML基础1、 HTML结构1.1 什么是HTML页面1.2 认识HTML标签1.3 HTML文件基本结构1.3 标签层次结构1.4 创建html文件1.5 快速生成代码框架 三、Emmet快捷键 前言 这篇博客仅仅是对HTML的基本结构进行了一些说明&#xff0c;关于HTML的更多讲解以及…

我国烟雾报警器市场规模逐渐增长 市场集中度相对较低

我国烟雾报警器市场规模逐渐增长 市场集中度相对较低 烟雾报警器又称为烟雾探测器、烟感报警器等&#xff0c;是用于检测室内烟雾浓度、实现火灾防范的一种安全设备。烟雾报警器具有反应速度快、灵敏度高、功耗低等优点。根据工作原理不同&#xff0c;烟雾报警器可分为热敏式、…

使用Vue3开发项目,搭建Vue cli3项目步骤

1.打开cmd &#xff0c;输入 vue create neoai遇到这样的问题 则需要升级一下电脑上 Vue Cli版本哈 升级完成之后 再次输入命令&#xff0c;创建vue3项目 vue create neoai安装完成后&#xff0c;输入 npm run serve 就可以运行项目啦~ 页面运行效果

【网络知识】光猫、路由器 和 交换机 的作用和区别?

数字信号&#xff1a;是指自变量是离散的、因变量也是离散的信号&#xff0c;这种信号的自变量用整数表示&#xff0c;因变量用有限数字中的一个数字来表示。在计算机中&#xff0c;数字信号的大小常用有限位的二进制数表示。 模拟信号&#xff1a;模拟信号是指用连续变化的物…

map、set底层封装模拟实现(红黑树)

文章目录 一、红黑树1.1红黑树的规则&#xff1a;1.2红黑树的插入操作1.2.1不需要旋转&#xff08;如果叔叔存在且为红,这里的C表示孩子&#xff0c;P表示父亲&#xff0c;U表示叔叔&#xff0c;G表示祖父&#xff09;&#xff0c;包含四种情况&#xff0c;无论孩子在哪里&…

复杂事件处理(CEP)引擎白皮书正式发布!

流数据是一种持续实时生成且动态变化的时间序列数据&#xff0c;涵盖了金融交易、物联网&#xff08;IoT&#xff09;传感器采集、物流运营、零售订单等各类持续生成动态数据的场景。 传统的流计算引擎能够高效地处理单一结构的数据流&#xff0c;不能应对需要识别数据流中的事…

VMware虚拟网卡网络适配器出现黄色感叹号

问题发生&#xff1a;VMware在使用Ubuntu的过程中突然卡死&#xff0c;强制关闭开启后就发生了网络无法连接 找到电脑的设备管理发现VMware的适配器出现黄色感叹号 解决方法&#xff1a; 下载软件ccleaner 扫描问题&#xff0c;懒得去找就修复了所有的问题 最后发现适配器…

jenkins+gitlab+ansible-tower实现发布

前提准备&#xff1a; gitlab中上传相应的jenkinsfile文件和源码。 安装和破解ansible-tower。 安装jenkins。 大致流程&#xff1a;从gitlab中拉取文件&#xff0c;存放到windows机器上&#xff0c;使用nuget等进行打包到windows中&#xff0c;使用sshPublisher语句传输到远程…

JVM调参实践总结

JVM调优–理论篇从理论层面介绍了如何对JVM调优。这里再写一篇WIKI&#xff0c;尝试记录下JVM参数使用的最佳实践&#xff0c;注意&#xff0c;这里重点介绍HotSpot VM的调参&#xff0c;其他JVM的调参可以类比&#xff0c;但不可照搬。 Java版本选择 基于Java开发应用时&…

深度学习之基于Matlab特征匹配的手写电话号码、数字识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在信息化日益发展的今天&#xff0c;手写电话号码和数字的识别技术显得尤为重要。这种技术不仅能够提…

mysql 离线安装

package download mysql https://dev.mysql.com/downloads/mysql/ libaio http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm 根据自己服务器选择下载对应的安装包及依赖 删除本机自带mysql相关 # 首先排查服务器自身是否有安装对应m…

实时Linux对EtherCAT工业自动化协议的支持

在自动化技术和工业控制领域&#xff0c;实时通信网络的重要性不断增长。EtherCAT&#xff08;Ethernet for Control Automation Technology&#xff09;作为一种高效的工业以太网通信协议&#xff0c;因其出色的性能和灵活性而广受欢迎。而实时Linux作为影响最为广泛的开源实时…

英码科技推出昇腾系列AI加速卡:专为视频解析与模型推理场景打造,更具成本竞争力!

当前&#xff0c;人工智能的发展已进入加速渗透千行百业的阶段&#xff0c;算力已然成为数字化转型关键的新质生产力。随着国际挑战的加剧&#xff0c;国产算力的发展趋势愈发明显&#xff0c;市场需求也呈现出激增的态势。在这一大背景下&#xff0c;华为昇腾以其强大的技术实…

字节人都用的婚恋交友相亲平台有哪些?聊聊互联网大厂的人是怎么脱单的!

虽然在字节这样的公司上班&#xff0c;也算是人中之人了。但是也耐不住29岁了&#xff0c;快成大龄剩女了。迫于长辈的催婚压力&#xff0c;所以带着任务体验了一遍各大相亲交友平台&#xff0c;以下是我的使用感受。 1、青藤之恋&#xff1a;偏相亲定位&#xff0c;曾经高学历…

使用socat 做端口转发 调试设备

使用 socat 监听设备的端口&#xff0c;转发到PC的 一个sniff 程序上&#xff0c;查看wireshark 或者直接用 scapy 进行分析 有了socat 也可以做 nat 映射