can any one help me and tell me why this code get TLE 56138526
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 150 |
can any one help me and tell me why this code get TLE 56138526
Name |
---|
one solution same like u may refer.
change memset to for i = 0 to n ... arr[i] =0
You can use fill(arr,arr+n,0) instead
I think it's because you do memset(arr,0,sizeof arr) every testcase (it takes 200005 iterations)
don't bul... memset Takes O(1)
No. Memset is O(n).
Oh sorry yes i typo but memset have a very good performance(much Better than simple loop)
It greatly depends on the memset implementation. Many versions of memset can use a "bit blit" operation in hardware to set large groups of memory to the same value essentially instantly — or at least far faster than you could possibly do with a code-level loop — especially if you're setting the value to zero or 0xFF.
But honestly, it doesn't really make a difference. The only reason I use memset is to save time.
No, it makes a huge difference in runtime. It's more like O(N / insanely good constant). Actually in one problem the "second intended solution" used memset and passed and when I was still using java I couldn't get it to pass with Arrays.fill or copy or for loop or whatever other stuff java has and I had to actually find a better algorithm, lol.
farmersrice Please see this http://codeforces.net/blog/entry/67984