可算全出编程题了,全过了(有一道让写算法思路?我给忘了) 算法思路没写有影响吗???? 1.简单数论-整数分块 2.维护一个las=-inf变量,比较一下当前变量now和las是否一样,一样跳过,不一样则输出两个now且las=now 3.简单dp+前缀和,+map标记(map保存sm[i]最近出现的位置)f[i]表示以a[i]结尾的非零数组个数,ans+=f[i]; 和我差不多但是通过0的话: 你需要加一个f[i]=min(f[i-1]+1,f[i]);因为需要内部全部非零。 4.按照说明写就好了,注意初始化和最外层循环是列