HDU 6195 cable cable cable 思维

  题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6195

  题目描述: 有K个xi映射M个yj, 连N条线,使得从M中任选K个都是从不同x映射来的, 让你求最小的N

  解题思路: 对于一个x来讲, 最优的情况就是x只连了下面物体的m-(k-1) 个, 所以答案为k*(m-(k-1))个

  代码: 

#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <cstring>
#include <iterator>
#include <cmath>
#include <algorithm>
#include <stack>
#include <deque>
#include <map>
#include <set>
#include <queue>
#define lson l, m, rt<<1
#define rson m+1, r, rt<<1|1
#define mem0(a) memset(a,0,sizeof(a))
#define mem1(a) memset(a,-1,sizeof(a))
#define sca(x) scanf("%d",&x)
#define de printf("=======
")
typedef long long ll;
using namespace std;

int main() {
    ll n, k;
    while( scanf( "%lld%lld", &n, &k ) == 2 ) {
        printf( "%lld
", k * (n-k+1) );
    }
    return 0;
}
View Code

  思考: 这是一道水题啊, 自己在赛场上应该快点儿想出来的

原文地址:https://www.cnblogs.com/FriskyPuppy/p/7502454.html