Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:我想这是计算机实现时的局部性原理造成的In Reply To:两个代码,用的都是DP,只是运算顺序不同,结果一个AC一个TLE Posted by:linandmin at 2006-07-29 23:25:05 你的第一种方法是顺序的访问矩阵空间,那么当你访问到s[i][j],计算机会吧s[i][j]内存附近的页面交换到高速缓存里去,而你下次访问s[i-1][j-1]或者s[i+1][j]等等一般都在这个高速页面里。我们知道,cpu访问高速缓存和访问内存的速度是数量级的差别,所以第一种方法很快。 第二方法同样的计算机会吧s[i][j]内存附近的页面交换到高速缓存里去。但遗憾的是,你是沿着对角线顺序访问的,所以下一个访问的点往往不在高存里。所以速度就不如第一种了。 可见,以后碰到下三角的时候宁可顺序访问!!! Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator