这题特么无语,史上最无语没有之一,C++纯暴力过 90????,JAVA纯暴力过了????????????,tell me ,发生了什么,这题为什么能暴力。
CCF如果JAVA熟练,建议大家用JAVA。
http://118.190.20.162/view.page?gpid=T59
JAVA纯暴力AC代码。。。。。。。
1 | //import java.lang.reflect.Array; |
C++纯暴力,过 90%,这个可以理解。。。
1 | #include<iostream> |
C++,AC代码。也是半个暴力。因为每个数去除最多只能除 32次,(因为数的最大值只有1e6,每次就算只除2,也不能除多少次,所以这个更新可以暴力,并不会超时。复杂度最高也只有 32 N logN,重点在于处理前缀和),不会再多,所以只需要用一个树状数组维护前缀和即可,每次更新值,直接暴力能不能除,然后再更新值即可。
考察两点:1.暴力更新值(注意特判除1),2.树状数组求前缀和。
1 | #include<iostream> |
细心的孩子,肯定一定发现了。。。。。。。。。,JAVA暴力,6s 。C++树状数组7s,我竟无言以对。暴力比树状数组快,这数据出的挺好的。。。