--- title: "k倍区间" created: 2025-11-28 tags: - 算法 --- # k倍区间 ## 题目 [K倍区间](https://www.acwing.com/problem/content/description/1232/) ![[image-001709b6.png]] ## 思路分析 考试时应该是想不到优化的 拿一半分 ## 代码实现 ```cpp #include using namespace std; #define endl '\n' typedef long long ll; const int N=100010; int s[N],a[N],res[N]; int n,k; int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n>>k; /* for(int i=1;i<=n;i++){ cin>>a[i]; s[i]=s[i-1]+a[i]; } int cnt=0; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ if((s[j]-s[i-1])%k==0){ cnt++; } } } cout<>a[i]; s[i]=(s[i-1]+a[i])%k; ans+=res[s[i]]; res[s[i]]++; } cout<