zoukankan      html  css  js  c++  java
  • Codeforces Round #411 (Div. 2)

    链接:http://codeforces.com/contest/805

    A. Fake NP

    题意:

    给你一个区间,对于每个数写下它的因子,问你写的次数最多的那个

    题解:

    这道题其实代码很短,只要l==r答案就是r,否则答案是2,然而我却傻逼的看错题,被人hack了三次之后

    才知道原来一个数同一个因子取一次就好了,附上奇葩的ac代码

    代码:

    31 int main() {
    32     int l, r;
    33     cin >> l >> r;
    34     if (r - l > 100) cout << 2 << endl;
    35     else {
    36         map<int, int> mmp;
    37         rep(num, l, r + 1) {
    38             int n = num;
    39             for (int i = 2; i*i <= n; i++) {
    40                 if (n % 2 == 0) mmp[i]++;
    41                 while (n%i == 0) n /= i;
    42             }
    43             if (n != 1) mmp[n] = 1;
    44         }
    45         int sum = 0, ans;
    46         for (auto i : mmp) if (i.second > sum) {
    47             sum = i.second;
    48             ans = i.first;
    49         }
    50         cout << ans << endl;
    51     }
    52     return 0;
    53 }

    B. 3-palindrome

    题意:

    用a,b,c造一个字符串,要求任意连续的三个不是回文,且c出现的次数最少

    题解:

    不管是多少的字符串,就aabbaabbaabb...无限循环下去好了

    代码:

    31 int main() {
    32     int n;
    33     cin >> n;
    34     string ans;
    35     rep(i, 0, n) {
    36         if (i / 2 % 2) ans += 'b';
    37         else ans += 'a';
    38     }
    39     cout << ans << endl;
    40     return 0;
    41 }

    C. Find Amir

    题意:

    给你一个图,编号从1到n,任意两个点之间都是连同的,距离为(i+j)mod(n+1),求遍历所有点的最小路程

    题解:

    很明显,贪心,从1到n,然后到n-1,再到2,所以答案分奇偶了

    代码:

    31 int main() {
    32     int n;
    33     cin >> n;
    34     if (n % 2 == 0) cout << n / 2 - 1;
    35     else cout << n / 2;
    36     return 0;
    37 }

    D. Minimum number of steps

    题意:

    给你一个只由ab组成的字符串,你每次能把ab变成bba,问你能变多少次

    题解:

    从后往前遍历,把ab变成bba之后,最后的那个a肯定是没用了,而bb分别能和前面a变换一次,所以就是统计b的个数

    遇到b,b的个数++,遇到a就相当于b的个数*2

    代码:

    31 int main() {
    32     string s;
    33     cin >> s;
    34     ll ans = 0;
    35     int cnt = 0;
    36     per(i, 0, s.length()) {
    37         if (s[i] == 'b') cnt++;
    38         else {
    39             ans = (ans + cnt) % MOD;
    40             cnt = cnt * 2 % MOD;
    41         }
    42     }
    43     cout << ans << endl;
    44     return 0;
    45 }

    E. Ice cream coloring

    A题被hack成傻逼,根本没机会看e,等今天有空了再看一下

  • 相关阅读:
    SpringMVC——拦截器及文件上传和下载
    SpringMVC——数据处理
    SpringMVC——返回结果及指定视图
    SpringMVC——SpringMVC配置
    SpringMVC——简介及原理简单分析
    Kakfa和其他类型消息中间件对比图
    Kafka消费者——结合spring开发
    Kafka生产者——结合spring开发
    五大浏览器-四大内核
    python中查看module和function的方法
  • 原文地址:https://www.cnblogs.com/baocong/p/6811073.html
Copyright © 2011-2022 走看看