`
Simone_chou
  • 浏览: 192768 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Elimination(数学)

    博客分类:
  • CF
 
阅读更多
A. Elimination
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

The finalists of the "Russian Code Cup" competition in 2214 will be the participants who win in one of the elimination rounds.

The elimination rounds are divided into main and additional. Each of the main elimination rounds consists of c problems, the winners of the round are the first n people in the rating list. Each of the additional elimination rounds consists of d problems. The winner of the additional round is one person. Besides, k winners of the past finals are invited to the finals without elimination.

As a result of all elimination rounds at least n·m people should go to the finals. You need to organize elimination rounds in such a way, that at least n·m people go to the finals, and the total amount of used problems in all rounds is as small as possible.

Input

The first line contains two integers c and d (1 ≤ c, d ≤ 100) — the number of problems in the main and additional rounds, correspondingly. The second line contains two integers n and m (1 ≤ n, m ≤ 100). Finally, the third line contains an integer k (1 ≤ k ≤ 100) — the number of the pre-chosen winners.

Output

In the first line, print a single integer — the minimum number of problems the jury needs to prepare.

Sample test(s)
input
1 10
7 2
1
output
2
input
2 2
2 1
2
output
0

 

       题意:

       选择赛制挑选人进 Final,有两种赛制。第一种是共有 c 个题目可以一次性挑选出前面的 n 人,第二种是共有 d 个题目每次可以挑选出 1 人,Final 需要有 n * m 的人参赛,其中有 k 个人是不需要通过选拔就能参加 Final 的。问如何选择赛制使出的题目数最少。

 

       思路:

       数学。若 n * m - k <= 0 则说明不需要选择题目,输出0。否则,则需要另外挑选 n * m - k 人。那么选择赛制有三种情况,只需要选 第一种赛制,只需要选第二种赛制,或者两种的结合。

       求出 left / n,代表最多能选择 cm 场第一赛制的,并且算出 left % n,代表剩下的人不能凑够第一赛制选拔的人数 ca,则可能这些人要选择第二种赛制。

       故可得出两部分比较值(cm代表场数,ca代表人数):

       sum += min (cm * c,cm * n * d),cm * c 代表第一场需要的题目数;cm * n * d 代表第二场需要的题目数,cm * n 代表人数;

       sum += min (c,ca * d),剩下的人只需要一场第一种赛制的,故 c 代表第一场题目数;ca * d 代表选择第二场的题目数。最后 sum 值即为所需的题目最小值。

 

       AC:

#include <cstdio>
#include <algorithm>

using namespace std;

int main() {
        int c, d, n, m ,k;
        int l;
        scanf("%d%d%d%d%d", &c, &d, &n, &m, &k);
        l = n * m - k;
        if (l <= 0) puts("0");
        else {
                int cm = l / n, ca = l % n;
                int sum = 0;
                sum += min(cm * c, cm * n * d);
                sum += min(c, ca * d);
                printf("%d\n", sum);
        }
        return 0;
}

 

 

分享到:
评论

相关推荐

    高斯消去法_高斯消去法_Elimination_

    数学上,高斯消元法(英语:Gaussian Elimination),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个行梯阵式。

    Ge.rar_Elimination

    其中,高斯消元法(Gauss Elimination Method)是求解线性方程组的一种基本且实用的方法,尤其在实际问题中,它为我们提供了简洁而有效的解决方案。 高斯消元法得名于19世纪德国数学家卡尔·弗里德里希·高斯,其...

    sakthivelraja.rar_Elimination

    1. **小波分析基础**:小波分析是数学上的一个工具,它能够同时在时间和频率域提供局部化分析,非常适合于非平稳信号的处理。在谐波检测中,小波变换可以将复杂的谐波信号分解为不同频率和时间尺度的成分,便于识别...

    几个c++常用的数学类

    std::vector&lt;double&gt; solveGauss_elimination(std::vector&lt;std::vector&lt;double&gt;&gt; A, std::vector&lt;double&gt; b); // 其他解法... }; ``` 这些类为C++编程提供了丰富的数学功能,使得开发者能够轻松处理各种数学...

    Gauss-elimination-method.rar_Elimination_高斯消去法

    这种方法在数学、计算机科学和工程领域广泛应用,尤其是在数值分析中。 高斯消去法的基本步骤包括: 1. **初始化**:给定一个线性方程组,将其表示为增广矩阵的形式,即把系数矩阵和常数项矩阵拼接在一起。 2. **...

    xianxingfangchengzu.rar_GAUSS ELIMINATION_Gauss-Jordan_Jordan_ma

    这些算法是线性代数中解决线性方程组的重要工具,而MATLAB作为一种强大的数学计算软件,为实现这些算法提供了便捷的平台。 首先,"GaussXQAllMain.m"可能是一个主函数,它可能包含了对其他三个算法的调用,以便进行...

    Gpp.zip_Elimination_gaussian scaled_gpp_partial pivoting_高斯消元法

    在数学和计算机科学中,高斯消元法(Gaussian Elimination)是一种基本的线性代数算法,用于求解线性方程组。部分高斯消元法(Gaussian elimination with scaled partial pivoting)是高斯消元法的一个改进版本,它...

    离散数学讲义

    - **析取消除规则**(Disjunction Elimination):如果p ∨ q为真,并且“如果p为真,则r为真”以及“如果q为真,则r为真”都成立,则r为真。 通过这些推理规则,我们可以构建有效的逻辑证明过程。 #### 五、总结 ...

    Gauss-Jordan-elimination.rar_Gauss-Jordan_Jordan

    Gauss-Jordan elimination这个名字来源于两位德国数学家卡尔·弗里德里希·高斯(Carl Friedrich Gauss)和卡尔·威尔海姆·弗里德里希·约旦(Wilhelm Jordan)。高斯消元法最早由高斯提出,而约旦在其基础上发展出...

    guassleizhuyuanxiaoqufa.rar_KJA_guass elimination_guass列主元消去法

    标题中的“guassleizhuyuanxiaoqufa.rar_KJA_guass elimination_guass列主元消去法”表明这是一个关于数值计算方法的压缩包,主要聚焦于Gauss列主元消去法,可能包含有实现该算法的MATLAB代码。KJA可能是一个特定的...

    离散数学17-18a卷答案(1)1

    离散数学是计算机科学中的基础课程,主要研究离散而非连续的对象,如集合、图、逻辑、组合数学等。这份2017-2018年的A卷试卷涉及了多个离散数学的核心概念,包括逻辑推理、集合论、图论和代数结构。 在选择题部分,...

    MATLAB与线性代数基本运算数学建模.ppt

    MATLAB与线性代数基本运算数学建模 本资源摘要信息主要介绍了 MATLAB 与线性代数的基本运算和数学建模。 一、矩阵的基本输入 在 MATLAB 命令窗口中输入矩阵,可以使用中括号 [] 或者分号 ; 分隔行元素。例如,...

    离散数学期末考试题及答案.doc

    这需要用到蕴含引入(Implication Introduction, I)和蕴含消去(Implication Elimination, E)等逻辑推理规则。 在集合论部分,文档包含了一个存在量词的推理问题,即证明 "¬x(P(x) ∧ Q(y) ∧ R(x))" 与 "¬x P...

    Fourier-Motzkin Elimination:Fourier-Motzkin 消除不等式系统 (A*x &lt;= b)。-matlab开发

    傅里叶-莫茨金消除法(Fourier-Motzkin Elimination)是一种在数学优化领域中用于处理线性不等式系统的算法。这个方法主要用于从一个多元线性不等式系统中消去变量,从而得到一个关于剩余变量的不等式系统。它在理论...

    离散数学考试试题飞.doc

    这里使用了存在量词(Existential Quantifier)、全称量词(Universal Quantifier)、蕴含(Implication)、蕴含消去(Implication Elimination)、蕴含引入(Implication Introduction)等逻辑操作,最后得出结论,...

    二元一次方程组解应用题专项训练含答案.doc

    二元一次方程组解应用题专项训练含答案 ...本资源是一个非常有价值的数学应用题训练,涵盖了二元一次方程组的解题 habilidades、数学模型、解题 habilidades、实际应用价值和数学思维能力等多方面的知识点。

    离散数学考试题详细答案.pdf

    通常需要利用推理规则如蕴含引入(Implication Introduction)、蕴含消去(Implication Elimination)等,对给定的推理有效性进行证明。 离散数学不仅涵盖了逻辑、集合论、图论、组合数学等内容,还与计算机科学的...

    C语言源程序 数学建模常用算法 cpp文件

    7. **列主元高斯消去法(Gauss Elimination with Partial Pivoting)**:这是一种数值稳定版的高斯消去法,通过选择每一步迭代中绝对值最大的主元,避免因数值不稳定导致的误差放大。 8. **拉格郎日插值多项式(La...

    2020年“华为杯”数学建模Q2的Filter—Wrapper过程及Q4的优化过程主要代码。.zip

    这个过程可能涉及Python中的pandas库进行数据处理,sklearn库中的SelectKBest或者RFE(Recursive Feature Elimination)进行特征选择。 Wrapper方法则是一种更为主动的特征选择策略,它会系统地探索所有可能的特征...

Global site tag (gtag.js) - Google Analytics