社区讨论

为什么这个快排过不了,一定要用sort才能过吗?

P1803凌乱的yyy / 线段覆盖参与者 4已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mi6to9wn
此快照首次捕获于
2025/11/20 10:38
4 个月前
此快照最后确认于
2025/11/20 10:38
4 个月前
查看原帖
#include<stdio.h> int n; struct t { int a; int b; }s[1000005]; f(int l,int r) { int i,j,t,x,y,temp; if(l>r) return; temp=s[l].b; y=s[l].a; i=l; j=r; while(i!=j) { while(s[j].b>=temp&&i<j) j--; while(s[i].b<=temp&&i<j) i++; if(i<j) { t=s[i].b; x=s[i].a; s[i].b=s[j].b; s[i].a=s[j].a; s[j].b=t; s[j].a=x; } s[l].b=s[i].b; s[i].b=temp; s[l].a=s[i].a; s[i].a=y; f(l,i-1); f(i+1,r); return; } } int main() { int i,k=0,x=-1,y; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d %d",&s[i].a,&s[i].b); f(1,n); for(i=1;i<=n;i++) if(s[i].a>=x){x=s[i].b;k++;} printf("%d\n",k); }

回复

4 条回复,欢迎继续交流。

正在加载回复...