zoukankan      html  css  js  c++  java
  • CodeForces 1348-C Phoenix and Distribution(字典序)

    https://codeforces.com/contest/1348/problem/C

    题意:

    给你一个长度为n的字符串,要求你将它的字符分为k份,每份个数至少有1个,使得新组合的字符串中字典序最大的字符串的字典序尽可能小,打印这个字符串。


    解题思路:

    先sort下,然后给每份分一个字符,如果第一份的字符和第k份的字符不一样,直接输出第k份中的字符即可(剩下的字符全扔给第一个,字典序还是第k份的大)。

    如果分的全一样,再分两种情况:

    1、剩下的字符全一样:把剩下的均分给每一份,然后输出第一份

    2、剩下的字符不全一样:把剩下的字符全扔给第一份,然后输出第一份

    比如aabbc分成2份,则最后就是分成了abbc和a,因为只要第一份中的任何一个字符给了第二份,那么第一份后面的字符全往前移,字典序必变大。

     1 #include <bits/stdc++.h>
     2 typedef long long LL;
     3 #define pb push_back
     4 const int INF = 0x3f3f3f3f;
     5 const double eps = 1e-8;
     6 const int mod = 1e9+7;
     7 const int maxn = 1e5+10;
     8 using namespace std;
     9 
    10 string str;
    11 
    12 int main()
    13 {
    14     #ifdef DEBUG
    15     freopen("sample.txt","r",stdin); //freopen("data.out", "w", stdout);
    16     #endif
    17     
    18     int T;
    19     cin>>T;
    20     while(T--)
    21     {
    22         int n,k;
    23         cin>>n>>k>>str;
    24         sort(str.begin(),str.end());
    25         if(str[0]!=str[k-1])//第一轮分就不全一样,直接输出str[k-1]
    26         {
    27             cout<<str[k-1]<<"
    ";
    28             continue;
    29         }
    30         string ans = "";
    31         ans += str[0];
    32         if(str[k]==str[n-1])//后面全一样,均分
    33         {
    34             int t=(n-k)/k;//均分完第一份可以添加的个数
    35             if((n-k)%k) t++;//有余数就+1
    36             for(int i=1;i<=t;i++)
    37                 ans+=str[k];
    38         }
    39         else//后面不全一样,全给第一份
    40         {
    41             for(int i=k;i<n;i++)
    42                 ans+=str[i];
    43         }
    44         cout<<ans<<"
    ";
    45     }
    46     
    47     return 0;
    48 }

    -

  • 相关阅读:
    弹框在UC浏览器或者Android机器上会被顶上去
    移动端性能优化
    当placeholder的字体大小跟input大小不一致,placeholder垂直居中
    Chrome下面查看placeholder的样式
    js 高级程序设计(笔记)
    SpringBoot自定义配置步骤
    二叉树的下一个节点
    输入某二叉树的前序遍历和中序遍历的结果,重建出该二叉树
    kafka配置记录
    Builder模式
  • 原文地址:https://www.cnblogs.com/jiamian/p/12818380.html
Copyright © 2011-2022 走看看