题意:给你一个序列,求对于任意i,都有$a_i\ge a_{\lfloor \frac{i}{k} \rfloor}$的字典序最大的序列

 

1、30分暴力(对于当时连dfs都不会的我最多也就只能拿这些分了QAQ)

   枚举全排列判断(真TM暴力

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cctype>
#include<algorithm>
#include<cmath>
using namespace std;
#define int long long
#define olinr return
#define _ 0
#define love_nmr 0
#define DB double
inline int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(!isdigit(ch))
    {
        if(ch=='-')
            f=-f;
        ch=getchar();
    }
    while(isdigit(ch))
    {
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    return x*f;
}
inline void put(int x)
{
    if(x<0)
    {
        x=-x;
        putchar('-');
    }
    if(x>9)
        put(x/10);
    putchar(x%10+'0');
}
int n;
double k;
int a[505050];
int ans[505050];
signed main()
{
    n=read();
    scanf("%lf",&k);
    for(int i=1;i<=n;i++)
        a[i]=read();
    sort(a+1,a+n+1);
    do
    {
        for(int i=1;i<=n;i++)
            if(a[i]<a[(int)floor((double)i/k)]&&(int)floor((double)i/k)) goto shit;
        for(int i=1;i<=n;i++)
            ans[i]=a[i];
        shit:;
    }while(next_permutation(a+1,a+n+1));
    for(int i=1;i<=n;i++)
        put(ans[i]),putchar(' ');
    olinr ~~(0^_^0)+love_nmr;
}
30pts

相关文章:

  • 2021-10-10
  • 2022-02-14
  • 2021-07-12
  • 2021-06-22
  • 2021-09-26
  • 2021-06-26
  • 2021-12-04
  • 2021-08-03
猜你喜欢
  • 2022-01-23
  • 2021-10-09
  • 2022-02-28
  • 2022-02-04
  • 2022-02-09
  • 2021-08-26
  • 2021-10-17
相关资源
相似解决方案