求一个离散化的题解

求一个离散化的题解,听课件时没有听懂,谢谢
全部评论
可以看下雨巨提交的代码
点赞
送花
回复
分享
发布于 2020-06-14 10:26
#include<stdio.h> #include<math.h> int main(){ int L,M; scanf("%d%d",&L,&M);     typedef struct tree{      int loc;      int num;     }tree;  tree myTree[200002]; myTree[0].loc=0; myTree[0].num=1; myTree[1].loc=L; myTree[1].num=0; int m,n,p=2; for(int i=0;i<M;i++){ scanf("%d%d",&m,&n); myTree[p].loc=m; myTree[p].num--; p++; myTree[p].loc=n+1; myTree[p].num++; p++; } tree haha; for(int i=0;i<p-1;i++){ for(int j=0;j<p-i-1;j++){ if(myTree[j].loc>myTree[j+1].loc){ haha=myTree[j]; myTree[j]=myTree[j+1]; myTree[j+1]=haha; } } } int num=myTree[0].num,Tree=0,i=0; while(myTree[i+1].loc==myTree[i].loc){ i++; num+=myTree[i].num; } if(num==1){ Tree+=(myTree[i+1].loc-myTree[i].loc); } for(i++;i<p-1;i++){ num+=myTree[i].num; while(myTree[i+1].loc==myTree[i].loc){ i++; num+=myTree[i].num; } if(num==1){ Tree+=(myTree[i+1].loc-myTree[i].loc); } } if(myTree[p-1].num==0)  Tree++; printf("%d",Tree); }
点赞
送花
回复
分享
发布于 2020-07-23 10:27
秋招专场
校招火热招聘中
官网直投

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务