zoukankan      html  css  js  c++  java
  • 第十一届蓝桥杯b组省赛 C.合并检测(内附详细的样例)

    解析:

    挺容易理解错的一道题。。。k并不是总人数,只是分组人数。

    括号内的一定要看。。

    举个例子吧。假设一共100个人。百分之一,那么100个人中只有一个人感染。

    1:100%k==0

    k=10。

    那么我们需要取10次(100/10)。最坏情况,是在最后一组找到了感染者,那么前9次,用了9个试剂盒,无阳性,第十次,先用1个试剂盒,发现阳性,接下来对10个人都进行一次,又用了10个试剂盒,一共是9+1+10==20。即(100/k+k)。

    2:100%k!=0

    k=49

    可以分成2,49,49三组。最坏情况,是在49 那一组发现了感染者。所以对前两组,用了2个试剂盒,无阳性。第三组,1个试剂盒,发现阳性,全测,49个

    一共是:2+1+49==52。推出公式:(100/k+k+1)

    此题答案为10

    代码:

    #include<bits/stdc++.h>
    #include<cmath>
    #include<map>
    #define pb push_back
    using namespace std;
    typedef long long ll;
    const int maxn=2e5+10;
    int mp[40][40];
    int f[40][40];
    int n,m;
    int main()
    {
        int minn=999999;
        int ans;
        for(int i=1;i<=100;i++)
        {
            int md;
            if(100%i!=0)
            {
                md=100/i+i+1;    
            }
            else{
                md=100/i+i;
            }
            if(md<minn)
            {
                minn=md;
                ans=i;
            }
        }
        cout<<ans<<endl;
    }
  • 相关阅读:
    浅谈树的重心
    倍增的奇妙用处
    KMP——从入门到不会打题
    万能的进制哈希
    浅谈扫描线算法的应用
    无需Flash录视频——HTML5中级进阶
    一个模仿微信群聊的H5页面
    关于建议
    前端技术学习线路
    Kurento安装与入门02——运行示例前的准备
  • 原文地址:https://www.cnblogs.com/liyexin/p/13810872.html
Copyright © 2011-2022 走看看