zoukankan      html  css  js  c++  java
  • NOIP模拟测试22

    自   闭   赛 

    从这次比赛之后题都好难啊QAQ

    开考一小时内没动键盘。。。

    三道题都不会。GG

    Problem A:数论

    过于玄学

    枚举质因子,往答案里去加。用来加入的质因子不会很多,质因子大了对答案是不优的。

    开两个vector来回倒腾就完了((

    这题改完感觉也没啥,为啥考场上就是想不出来啊QxQ

     1 #include <bits/stdc++.h>
     2 
     3 typedef long long LL;
     4 int prime[63] = {0, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
     5     59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131,
     6     137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,
     7     211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
     8     283, 293};
     9 int T, K;
    10 LL M;
    11 std::vector<std::pair<LL, LL>> a, b;
    12 
    13 signed main() {
    14     scanf("%d%d%lld", &T, &K, &M);
    15     a.push_back(std::make_pair(1, 1));
    16     for (int i = 1; i <= 62; i++) {
    17         int pri = prime[i];
    18         //Add a prime factor.
    19         b.clear();
    20         for (auto x : a) {
    21             LL t = 1, cnt = 0;
    22             for (; x.first <= M / t && t <= M; t *= pri, ++cnt)
    23                 b.push_back(std::make_pair(x.first * t, x.second * (cnt + 1)));
    24         }
    25         a.clear();
    26         std::sort(b.begin(), b.end());
    27         std::priority_queue<LL> q;
    28         //Delete the illegal numbers.
    29         for (auto x : b) {
    30             if (q.size() < (unsigned) K + 1) {
    31                 q.push(-x.second);
    32                 a.push_back(x);
    33             } else {
    34                 if (-q.top() == x.second) {
    35                     a.push_back(x);
    36                 } else if (-q.top() < x.second){
    37                     q.pop();
    38                     q.push(-x.second);
    39                     a.push_back(x);
    40                 }
    41             }
    42         }
    43     }
    44     while (T--) {
    45         int n;
    46         scanf("%d", &n);
    47         printf("%lld
    ", a[n - 1].first);
    48     }
    49     return 0;
    50 }
    ZIBILE

    Problem B:位运算

    咕咕咕

    Problem C:旅行

    咕咕咕

  • 相关阅读:
    【PHPStorm使用手册】如何设置字体大小?
    Django——admin组件简单入门
    cookie与session
    Django
    练习题
    线程理论之大白话
    队列
    初识gevent模块
    Python第三方模块安装
    Python标准模块_concurrent.futures
  • 原文地址:https://www.cnblogs.com/gekoo/p/11373560.html
Copyright © 2011-2022 走看看