TLE 打卡纪念

P1908 逆序对

mooktian @ 2023-03-16 11:03:49

#include <bits/stdc++.h>
using namespace std;
#define f(i,a,b) for(int i=a;i<=b;i++)
#define g(i,a,b) for(int i=a;i>=b;i--)
int n,ans;
int a[500001];
int main(){
    scanf("%d",&n);
    f(i,1,n) scanf("%d",&a[i]);
    f(i,1,n-1) {
        f(j,i+1,n) {
            if(a[i]>a[j]) ans++;
        }
    }
    cout<<ans;
   return 0;
}

我就感觉这题没这么简单,果然TLE了,留个爪,慢慢学。


by serene_analysis @ 2023-03-16 11:09:53

实际上这种事情您可以发犇犇或者开个博客记录,发到讨论区属于浪费社区资源。有错踹我。


by serene_analysis @ 2023-03-16 11:10:00

@mooktian


by RP_INT_MAX @ 2023-03-16 12:43:15

@mooktian 您可能需要归并排序。


by RP_INT_MAX @ 2023-03-16 12:44:00

另外建议学习时间复杂度。


by QAQ__ @ 2023-03-16 13:30:02

@RP_INT_MAX 树状数组不好吗,没事写什么归并(

归并除了这个之外好像也没什么别的用啊


by mooktian @ 2023-03-16 13:47:00

@serene_analysis

我觉得也没什么啊,这题照我这么做也没毛病啊,只是不能AC而已。

难道这不是对这一题的有效讨论么,讨论区不就是为了讨论而存在的么。

社区应该多点包容性,既能容得下技术大牛,也能容得下新手小白。是各抒己见畅所欲言,还是说只有管理员认为有意义的帖子才应该存在。

一个社区帖子多,这个社区会因此而兴旺发达,一个社区会因为贴子少死气沉沉而没落。

如果有一天讨论区都没人发贴了,洛谷不会因为省了这一点点资源而获益,只能说明大家都抛弃洛谷转到别的平台了。


by mashduihca @ 2023-03-16 13:51:58

你是不是对有效讨论有什么误解。你觉得你哪有效了?


by mashduihca @ 2023-03-16 13:53:22

@RP_INT_MAX 根据昨天的新版大纲,时间复杂度已经是六级内容辣!理论上pj不应该考


by serene_analysis @ 2023-03-16 14:50:31

@mooktian 我不是很想跟您对线,因为我没什么攻击性,但是我陈述一下我的观点。

我觉得单纯记录自己的做题经历不属于有效讨论,首先是因为这完全是你一个人的经历不具备通用性,其次是洛谷博客可以很好的发挥这个作用,既然你不是需要帮助,自然也就不需要发个帖子出现在主页告诉大家了。

我不否认社区应该具有包容性,但社区也有社区的规则。洛谷新用户必读 Part2 中第三条第二点应该能够提示您。我不愿对洛谷管理员对讨论区的管理制度作评价,但我不得不告诉您,换了别人可能就不会打这么多字而是就直接开喷了。

帖子的多少只能在一定程度上反映社区的活跃程度,不能反映 OJ 的优秀度。LOJ 平均一天最多个位数个帖子,但这并不影响其优秀。UOJ 也是一样的。

最后重申一下,我认为题目板块下的讨论区要么是用来求调代码的,要么是分享题目坑点或反映问题的,而不是用来发这种类似“一个人的讨论”的。

最后建议您学习归并排序,树状数组,时间复杂度相关内容。

我不会再回这个帖子,您想找我请私信我。


|