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

小红的矩阵【牛客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;}
http://www.rkmt.cn/news/83808.html

相关文章:

  • 寫代碼總是最簡單的
  • 系统编程之进程
  • 利用 PHPStudy(Mac 版)部署 Nuxt3 node-server 模式项目完整教程
  • 负载均衡-LVS 全解析
  • DAY23常见聚类算法
  • 晶体塑性有限元显示动力学cpfem_vumat子程序(界面调用程序)
  • Wan2.2-T2V-A14B生成动画短片全流程实录
  • Vite 如何优化项目的图片体积
  • Java Web 养老院管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • 如有可能,你應該和本就幸福的人結婚
  • 前端岗来了个男生,没两天就被劝退了
  • Spring Boot + Kafka 实战:从入门到避坑,小白也能轻松上手!
  • 活在時光裏的父母
  • 【专家亲授】C++26与传统头文件协同工作:企业级编译架构设计
  • 人工智能之数学基础 线性代数:第一章 向量与矩阵
  • 53
  • 再谈ST表
  • 基于像素流的多游戏引擎实时云渲染系统设计与实现
  • 重塑Java工程效能:全流程智能开发平台实践解析
  • 实现kvstore的持久化功能:全量持久化和增量持久化
  • 摄影师必备Lightroom修图软件最新版下载与安装指南
  • unity运行后笔记本风扇声音太大的解决办法
  • 故障处理:Oracle ADG 主库想备库传输日志的归档路径禁用的报错
  • 5种必知的前端数据加密防护技术:从React安全到浏览器原生方案
  • Windows11安装docker
  • Cameralink采集软件-Espeedgrab软件应用【2.存储图片和视频】
  • AcWing 846:树的重心 ← 类似“东方博宜OJ 2190:树的重心”代码
  • 容器化部署在软件许可优化中的应用:跨部门资源共享实践
  • 2025年可观测平台选型指南:头部厂商综合测评与推荐
  • docker启动mysql及部分命令回顾