好题 第一问不难,毕竟二分答案类的题目在USACO上都练了好多遍了 第二问充分的暴露了我dp渣的本性 一开始楞是没想出来 f[i,j]表示到第i根木棒切了j刀满足最长段小于等于ans的方案数 式子是这样的f[i,j]=sigma(f[k,j-1]) if sum[i]-sum[k]<=ans 然后发现我的优化水平还是不错的, 首先是空间上的问题,观察得知,切这刀的方案数只与切前一刀有关,于是我们滚动数组 再看时间,观察k的选取,与这是第几刀无关 再看,如果满足sum[i]-sum[k]<=an…