题目链接:点击打开链接
一个组合公式
(公式内左右内容写反了跪#越学越差系列
最后结果 F[n,k] = (n+1)/(k+1)
化简详情 :点击打开链接
AC代码如下:
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int A[200005];
int C[200005];
struct BT{
int po;
int num;
int operator<(const BT& o)
{
return num<o.num;
}
};
BT B[200005];
int main()
{
int m;
while(cin>>m)
{
for(int i=1;i<=m;++i)
cin>>A[i];
for(int i=1;i<=m;++i)
{
B[i].po = i;
cin>>B[i].num;
}
sort(A+1,A+1+m);
sort(B+1,B+1+m);
for(int i=m;i>=1;--i)
C[B[m-i+1].po] = A[i];
for(int i=1;i<=m;++i)
cout<<C[i]<<" ";
cout<<endl;
}
return 0;
}