zoukankan      html  css  js  c++  java
  • HCPC2013校赛训练赛 1

    D.求体积

    题意:给定一个从中间挖去了一个圆柱(上下面是球的弧面)的球,告诉了剩下圆柱的高(可以看做是球剩下的高度),求球的体积是多少。

    解法:由于只给定了高度,所以存在不同半径的球都能够达到这个高度的要求,所以假设一个极端情况,那就是球的直径刚好等于已知的H,那么中间的圆柱就不用挖去了,所以剩下的就是球的体积。可惜还是不能够证明出为什么会这样。

    代码如下:

    Problem D
    #include <cstdlib>
    #include <iostream>
    #include <cmath>
    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    const double PI = 3.1415926;
    
    int main() {
        double r;
        while (cin >> r) {
            r /= 2;
            printf("%.2f\n", 4.0/3.0*PI*r*r*r);
        }
        return 0;
    }

    E.K倍数

    题意:给定一个不同数字组成的集合,现在要求这个集合的一个子集合满足任意两个元素之间不存在K倍关系,问满足要求的子集合最多能有多少个元素。

    解法:找出所有的存在K倍数关系的链。比如如果K=2,1 2如果单独成链,那么1,2就要删除一个,6 12 24三个成链的话就要删除中间一个12使得6和24都能够存在。综合,找出所有的相互之间不连接的一条x个元素的链,每条链删除x/2个元素,剩下的就是能够放置在一起的最多的元素的集合了。

    代码如下:

    Problem E
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <cstdlib>
    #include <map>
    using namespace std;
    
    int N, K;
    map<long long,bool>mp;
    
    int main() {
        map<long long,bool>::iterator it;
        int sum;
        while (scanf("%d %d", &N, &K) == 2) {
            sum = 0;
            mp.clear();
            int c;
            for (int i = 0; i < N; ++i) {
                scanf("%d", &c);
                mp[c] = true;
            }
            int cnt;
            long long t;
            for (it = mp.begin(); it != mp.end(); ++it) {
                cnt = 0;
                long long t = it->first;
                while (mp[t]) {
                    mp[t] = false;
                    t = K * t;
                    ++cnt;
                }
                sum += cnt / 2;
            }
            printf("%d\n", N - sum);
        }
        return 0;
    }
  • 相关阅读:
    快速排序
    冒泡排序
    选择排序
    合并排序
    插入排序
    跟我一起阅读Java源代码之HashMap(三)
    跟我一起阅读Java源代码之HashMap(二)
    跟我一起阅读Java源代码之HashMap(一)
    Apache2.2 + tomcat7 服务器集群配置
    Spring+Hibernate实现动态SessionFactory切换(改进版)
  • 原文地址:https://www.cnblogs.com/Lyush/p/2954622.html
Copyright © 2011-2022 走看看