B. Preparing for Merge Sort
2024-10-05 22:06:12
\(考虑的时候,千万不能按照题目意思一组一组去模拟\)
\(要发现每组的最后一个数一定大于下一组的最后一个数\)
\(那我们可以把a中的数一个一个填充到vec中\)
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+9;
vector<int>vec[maxn];
int a[maxn],cnt=1,n;
int find(int x)
{
int l=1,r=cnt+1,mid,flag=0;//实际上取不到cnt+1,边界问题
while(r>l)
{
mid=(l+r)/2;
int len=vec[mid].size();
if(len!=0&&vec[mid][len-1]<x) flag=1,r=mid;
else l=mid+1;
}
if(flag==0) return -1;
else return r;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
vec[1].push_back(a[1]);
for(int i=2;i<=n;i++)
{
int res=find(a[i]);
if(res==-1) vec[++cnt].push_back(a[i]);
else vec[res].push_back(a[i]);
}
for(int i=1;i<=cnt;i++)
{
for(int j=0;j<vec[i].size();j++)
cout<<vec[i][j]<<" ";
cout<<endl;
}
}
最新文章
- jQuery实现锚点平滑定位
- this action could not be completed.try again登陆appstore错误提示
- 繁华模拟赛 ljw分雕塑
- SyntaxError: Non-ASCII character &#39;\xe7&#39; in file解决方法
- Laravel自学第一课:laravel下载与安装
- 客户端通过spice-gtk实现USB重定向
- iOS开发:AFNetworking、MKNetworkKit和ASIHTTPRequest比较
- VS2005(vs2008,vs2010)使用map文件查找程序崩溃原因
- mysqldump原理4
- 李洪强漫谈iOS开发[C语言-020]-scanf的本质
- Power Strings - POJ 2406(求循环节)
- (转)MVC语法-@helpers和@functions(Razor内定义函数)
- 大整数乘法python3实现
- 修改document.domain的注意事项(转)
- OpenGL教程(0)——介绍
- Resin安装配置
- Nginx在局域网中使用ip_hash负载均衡策略,访问全部分发到同一个后台服务器
- ecna2017-Game of Throwns
- SILC超像素分割算法详解(附Python代码)
- 关于FlexSlider插件