小白月赛的F题

小白月赛的F题给的标程
不是很理解这里
for(inti=1;i<=n;i++)
    {
        ans[a[i].id]=find(1,1,n,a[i].y,n)+1;
        change(1,1,n,a[i].y,ans[a[i].id]);
    }
我改成这样为什么不对
for(inti=1;i<=n;i++)
    {
        ans[i]=find(1,1,n,a[i].y,n)+1;
        change(1,1,n,a[i].y,ans[i]);
    }
不明白为什么要记录id,i不也是一样的吗



全部评论
就是你前面进行了排序,是直接对结构体按照你的cmp进行的排序,导致id的前后顺序变了,所以不能换
点赞 回复 分享
发布于 2019-08-12 07:21
不一定一样,一旦你前面的代码将结构体排序,id和i就不一样了,建议再回头看一下前面的代码qaq
点赞 回复 分享
发布于 2019-08-12 07:18

相关推荐

好在哪里了?我请问了?
_hengheng:很好啊,我看旁边同事都入职了都有工作
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务