如果你写的是dfs并且TLE了
  • 板块P1874 快速求和
  • 楼主nob_lz
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/5 20:13
  • 上次更新2024/12/6 00:19:59
查看原帖
如果你写的是dfs并且TLE了
1416590
nob_lz楼主2024/12/5 20:13
void dfs(int num,int x,int sum){
    //剪枝
    if(sum+f[num][len-1]<n || sum>n) return; 
    if(sum+f[num][len-1] == n) {
        ans=min(ans,x);
        return;
    }
    for(int i=num;i<len;++i){
        dfs(i+1,x+1,sum+f[num][i]);
    }
}


运用贪心的思路剪枝,每次划分加号一定是小于不划分加号的如果不划分还大于就可以return

2024/12/5 20:13
加载中...