Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:我想这是计算机实现时的局部性原理造成的

Posted by insky at 2007-04-24 08:38:00 on Problem 1159
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator