news 2026/2/28 15:00:10

小红的矩阵【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小红的矩阵【牛客tracker 每日一题】

小红的矩阵

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

小红有一个n × m n×mn×m大小的矩阵,矩阵第i ii行第j jj列的元素为i × j i×ji×j,小红想知道矩阵中第k kk小的元素是多少。

输入描述:

第一行三个整数n , m , k n,m,kn,m,k
1 ≤ n , m ≤ 1 0 5 , 1 ≤ k ≤ n × m 1≤n,m≤10^5,1≤k≤n×m1n,m105,1kn×m

输出描述:

输出一个整数表示答案。

示例1

输入:

3 3 4

输出:

3

说明:

矩阵为
1 2 3
2 4 6
3 6 9

解题思路

采用二分查找法确定矩阵中第k kk小的元素,初始设置左边界l = 0 l=0l=0、右边界r = k r=kr=k(因矩阵第k kk小元素必然不超过k kk),每次取中间值m i d midmid,统计矩阵中小于等于m i d midmid的元素数量(遍历每行i ii,该行符合条件的列数为m i n ( m , m i d / i ) min(m, mid/i)min(m,mid/i),累加所有行的数量得到s u m sumsum);若s u m ≥ k sum≥ksumk,说明m i d midmid可能是目标值或偏大,调整右边界r = m i d − 1 r=mid-1r=mid1并将m i d midmid记为候选结果,否则调整左边界l = m i d + 1 l=mid+1l=mid+1;该方法通过二分将问题转化为多次统计,每次统计时间复杂度O ( n ) O(n)O(n),二分次数约30 3030次,总复杂度为O ( n l o g k ) O(nlogk)O(nlogk),适配n nnm mm1 e 5 1e51e5的规模,最终候选结果即为矩阵中第k kk小的元素。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=1e5+10;intmain(){ll n,m,k;cin>>n>>m>>k;ll l=0,r=k;ll res=0;while(l<=r){ll mid=(l+r)>>1;ll sum=0;for(ll i=1;i<=n;i++)sum+=min(m,mid/i);if(sum>=k){r=mid-1;res=mid;}elsel=mid+1;}cout<<res<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 10:17:48

5种必知的前端数据加密防护技术:从React安全到浏览器原生方案

在现代前端开发中&#xff0c;数据安全防护已成为开发者必须掌握的硬核技能。随着单页面应用的普及&#xff0c;前端数据加密、React安全防护等技术需求日益凸显。本文将带你深入剖析前端安全威胁&#xff0c;对比不同技术方案&#xff0c;分享实战应用场景&#xff0c;并展望未…

作者头像 李华
网站建设 2026/2/24 11:14:52

面试必问:如何快速定位BUG?BUG定位技巧及N板斧!

01 定位问题的重要性 很多测试人员可能会说&#xff0c;我的职责就是找到bug&#xff0c;至于找原因并修复&#xff0c;那是开发的事情&#xff0c;关我什么事&#xff1f; 好&#xff0c;我的回答是&#xff0c;如果您只想做一个测试人员最基本最本分的事情&#xff0c;那么可…

作者头像 李华
网站建设 2026/2/23 13:26:47

Wan2.2-T2V-A14B如何生成带有烟花绽放效果的节日庆典视频?

如何用 Wan2.2-T2V-A14B 一键生成“烟花绽放”的节日庆典视频&#xff1f;✨&#x1f386; 你有没有遇到过这种情况——马上要发春节宣传视频了&#xff0c;团队还在熬夜剪辑烟花特效、调色、加人声欢呼&#xff0c;结果客户一句“氛围不够喜庆”就得全部重来&#xff1f;&…

作者头像 李华
网站建设 2026/2/19 18:21:59

【MCP PL-600核心技术突破】:3步搞定复杂场景下的多模态感知与响应

第一章&#xff1a;MCP PL-600多模态Agent架构概览MCP PL-600是一种面向复杂任务协同的多模态智能体架构&#xff0c;专为融合文本、图像、语音与结构化数据处理而设计。其核心在于统一感知层与动态决策引擎之间的高效协作&#xff0c;支持跨模态语义对齐与实时响应。架构核心组…

作者头像 李华