摘要:        
/*自己想的方法是O(n^2)的,TLE。后来看得解题报告。思路:从后往前找。将输入的序列按s从小到大排序。记录一个输入数据中最大的数MAX;然后从MAX到1。*/while(i = a[n].s) { dp[i] = max(dp[i], dp[T[n].y+1] + 1); n--;}//最后输出dp[1];    阅读全文
posted @ 2011-11-06 17:18
AC_Von
阅读(204)
评论(0)
推荐(0)
        
            
        
        
摘要:        
/*dp很明显,参见吴文虎老先生的《程序设计基础》。不过这道题卡内存,直接开1000*1000的数组会超的。然后看到Discuss里有人说dp[2][1000]就可以,然后就按着这个思路写。if(diagonally[i-1][j-1]) dp[1][j] = min (min (dp[0][j], dp[1][j-1]) + 100, dp[0][j-1] + 100*sqrt(2.0));else dp[1][j] = min(dp[0][j], dp[1][j-1]) + 100;每计算出一行将dp[0][...] = dp[1][...];最后输出dp[1][m+1];My C...    阅读全文
posted @ 2011-11-06 13:25
AC_Von
阅读(224)
评论(0)
推荐(0)
        
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号