zoukankan      html  css  js  c++  java
  • 乘法表

    题目链接: http://exercise.acmcoder.com/online/online_judge_ques?ques_id=3819&konwledgeId=40

    解题思路: 二分答案。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 const int MAXN = 100005;
     5 typedef long long LL;
     6 
     7 int in(LL x, int n,int m)
     8 {
     9     int p=sqrt(x);
    10     for (int i=1;i<=p;++i)
    11     {
    12         if (x%i==0 && ((i<=n && (int)(x/i)<=m) || (i<=m && (int)(x/i)<=n))) return 1;
    13     }
    14     return 0;
    15 }
    16 
    17 LL cal(LL x, int n, int m)
    18 {
    19     LL ans = 0LL;
    20     for (int i = 1;i<=m;++i)
    21         ans += min((LL)n*i,x)/i;
    22     return ans;
    23 }
    24 
    25 LL bisearch(LL l, LL r, LL k, int n, int m)
    26 {
    27     LL mid;
    28     while(l<=r)
    29     {
    30         mid= l + (r-l)/2;
    31         // printf("l=%lld r=%lld mid=%lld
    ", l, r, mid);
    32         if (cal(mid, n, m)>=k) r=mid-1;
    33         else l=mid+1;
    34     }
    35     LL ans=r+1;
    36     while(!in(ans,n,m)) ++ans;
    37     return ans;
    38 }
    39 
    40 
    41 int main()
    42 {
    43 #ifndef ONLINE_JUDGE
    44     freopen("test.txt","r",stdin);
    45 #endif // ONLINE_JUDGE
    46     int n,m;
    47     LL k;
    48     while (cin>>n>>m>>k)
    49     {
    50         if (n<m) swap(n,m);
    51         printf("%lld
    ",bisearch(1,(LL)n*m,k,n,m));
    52     }
    53     return 0;
    54 }
  • 相关阅读:
    NS3笔录
    网络性能指标的几个定义
    获取Emum类型值的数量
    Container类型元素累加
    ax用代码调用静态查询
    FormRun类的方法detach()作用
    Num2Str函数使用介绍
    查询生产单PO的位置
    AX使用临时表作为数据源
    Date2Str函数使用介绍
  • 原文地址:https://www.cnblogs.com/djingjing/p/8901117.html
Copyright © 2011-2022 走看看