cf448D. Multiplication Table【二分】
来源:互联网 发布:八度网络汪冕 编辑:程序博客网 时间:2024/05/16 12:59
Bizon the Champion isn't just charming, he also is very smart.
While some of us were learning the multiplication table, Bizon the Champion had fun in his own manner. Bizon the Champion painted ann × m multiplication table, where the element on the intersection of the i-th row and j-th column equals i·j (the rows and columns of the table are numbered starting from 1). Then he was asked: what number in the table is the k-th largest number? Bizon the Champion always answered correctly and immediately. Can you repeat his success?
Consider the given multiplication table. If you write out all n·m numbers from the table in the non-decreasing order, then the k-th number you write out is called the k-th largest number.
The single line contains integers n, m and k (1 ≤ n, m ≤ 5·105; 1 ≤ k ≤ n·m).
Print the k-th largest number in a n × m multiplication table.
2 2 2
2
2 3 4
3
1 10 5
5
A 2 × 3 multiplication table looks like this:
1 2 32 4 6
确实没想到这题是二分。
二分判断条件对于每一个mid求出每一行比它小的数的个数和k判断
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<list>#include<vector>using namespace std;const int maxn=10010;long long n,m,k;bool judge(long long mid){long long ans=0;for(long long i=1;i<=n;++i){ans=ans+min(m,mid/i);}return ans>=k;}int main(){scanf("%lld%lld%lld",&n,&m,&k);long long l=1,r=n*m,ans;while(l<=r){long long mid=(l+r)>>1;if(judge(mid)){ans=mid;r=mid-1;}else {l=mid+1;}}printf("%lld\n",ans);return 0;}
- cf448D. Multiplication Table【二分】
- CF448D:Multiplication Table(二分)
- cf448D Multiplication Table
- Multiplication Table 【二分】
- Multiplication Table (二分)
- Multiplication Table (二分)
- codeforces448D Multiplication Table(二分答案)
- D. Multiplication Table 二分查找
- CF 256# D. Multiplication Table 二分
- codeforces D. Multiplication Table 二分答案
- 【CodeForces】448D - Multiplication Table(二分)
- Codeforces 448D Multiplication Table(二分)
- CodeForces 448D Multiplication Table (二分 )
- CodeForces 448D Multiplication Table (二分 )
- CodeForces 448D - Multiplication Table(二分)
- Multiplication Table
- Multiplication Table
- Multiplication Table
- windows server 2012设置多个用户远程连接
- JavaScript学习总结(十八)——JavaScript屏蔽Backspace键
- 原生js实时监听input、textarea输入
- JavaScript学习总结(十九)——JavaScript获取浏览器类型与版本
- 动态规划算法
- cf448D. Multiplication Table【二分】
- POJ 3669-Meteor Shower(BFS)
- 编辑距离
- JavaScript学习总结(二十)——Javascript非构造函数的继承
- 华为与乐视商业模式之争?
- 理解梯度下降
- AndroidStudio初体验
- json-path解析json方便可靠
- 史上最全最强SpringMVC详细示例实战教程