题目

CF448D Multiplication Table

思路

二分答案。这个矩阵的每一排都是递增的,所以二分\(ans\),去计算有多少个数等于\(ans\),有多少个数小于\(ans\),如果小于\(ans\)的数不多于\(k-1\)个并且小于等于\(ans\)的数不少于\(k\)个,那么当前\(ans\)就是答案。

Q:如何计算小于\(ans\)的数的个数?

A:

\[\sum_{i=1}^{n}min(\lfloor \frac{ans-1}{i} \rfloor,m)
\]

Q:如何计算等于\(ans\)的数的个数?

A:当\(i|ans\)并且\(ans/i\)小于\(m\)时个数加一。

\(Code\)

#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cstdio>
#define ll long long
using namespace std;
ll n,m,k;
inline void read(ll &T){
ll x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
}
inline void write(ll x){
if(x<0) putchar('-'),write(-x);
else{
if(x/10) write(x/10);
putchar(x%10+'0');
}
} int main(){
read(n),read(m),read(k);
ll l=1,r=n*m;
while(l<=r){
ll mid=(l+r)>>1,sum=0,tmp=0;
for(int i=1;i<=n;++i){
sum+=min((mid-1)/i,m);
if(mid%i==0&&mid/i<=m) tmp++;
}
if(sum<=k-1&&sum+tmp>=k){
write(mid);
return 0;
}
if(sum+tmp<=k-1) l=mid+1;
else r=mid-1;
}
return 0;
}

洛谷 CF448D Multiplication Table的更多相关文章

  1. cf448D Multiplication Table

    D. Multiplication Table time limit per test 1 second memory limit per test 256 megabytes input stand ...

  2. cf448D Multiplication Table 二分

    题目:http://codeforces.com/problemset/problem/448/D 题意:给出n,m,k,即在一个n*m的二维数组中找第k大的数,第i行第j列的数的值为i*j. 思路: ...

  3. 洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table

    题目传送门:洛谷P5089. 题意简述: 一张 \(n \times m\) 的表格,有一些格子有标记,另外一些格子没有标记. 如果 \((r_1,c_1),(r_1,c_2),(r_2,c_1)\) ...

  4. 洛谷 [USACO17OPEN]Bovine Genomics G奶牛基因组(金) ———— 1道骗人的二分+trie树(其实是差分算法)

    题目 :Bovine Genomics G奶牛基因组 传送门: 洛谷P3667 题目描述 Farmer John owns NN cows with spots and NN cows without ...

  5. 洛谷 P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…(树规)

    题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of cours ...

  6. uva A Spy in the Metro(洛谷 P2583 地铁间谍)

    A Spy in the Metro Secret agent Maria was sent to Algorithms City to carry out an especially dangero ...

  7. 纪中23日c组T2 2159. 【2017.7.11普及】max 洛谷P1249 最大乘积

    纪中2159. max 洛谷P1249 最大乘积 说明:这两题基本完全相同,故放在一起写题解 纪中2159. max (File IO): input:max.in output:max.out 时间 ...

  8. 洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib 使用四种算法

    洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib 水题一道…… 题目描述 农民约翰的母牛总是产生最好的肋骨.你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们. ...

  9. [洛谷日报#204] StackEdit——Markdown 编辑器的功能介绍

    本文同时发表于洛谷日报,您也可以通过洛谷博客进行查看. 1.介绍与开始使用 1.1 这是什么? StackEdit是基于PageDown.Stack Overflow和其他堆栈交换站点使用的Markd ...

随机推荐

  1. Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度

    原文:Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度 嫌项目编译太慢?不一定是 Visual Studio 的问题,有可能 ...

  2. C# 计时程序运行时间

    第一种   System.DateTime public static void SubTest() { DateTime beforeDT = System.DateTime.Now; , , , ...

  3. CSP J/S 2019受虐记

    一枚蒟蒻的游记~ 提高组DAY1 不是说每场考试都有一道签到题吗 那我tm读了三遍题硬是没找到一道水题是怎么回事(是我太弱了吗) 没办法,硬着头皮做T1 暴力写法...期望得分30pts 于是...在 ...

  4. 纯css更改图片颜色的技巧

    tips: JPG.PNG.GIF 都可以,但是有一个前提要求,就是黑色纯色,背景白色 .pic1 {     background-image: url($img), linear-gradient ...

  5. Tensorflow替换静态图中的OP

    import tensorflow as tf import collections from tensorflow.core.framework import tensor_shape_pb2 # ...

  6. MapReduce1.x与MapReduce2.x差异

    一.MapReduce1.x简介 1.图解 2.JobTracker 主节点,单点,负责调度所有的作用和监控整个集群的资源负载. 3.TaskTracker 从节点,自身节点资源管理和JobTrack ...

  7. scrapy 爬虫中间件-offsite和refer中间件

    环境使用anaconda 创建的pyithon3.6环境 mac下 source activate python36 mac@macdeMacBook-Pro:~$ source activate p ...

  8. 【DATAGUARD】物理dg的switchover切换(五)

    [DATAGUARD]物理dg的switchover切换(五) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

  9. Python3链接Oracle

    1. 说明 本篇主要参见与cx_Oracle安装 全部操作均在root用户下完成 2. 下载Oracle Instant Client客户端 依据系统,在Oracle Instant Client下载 ...

  10. Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

    Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...