首页 > Kevin喜欢零(困难版本)
头像 AliLexiWalker
发表于 2026-04-05 11:21:07
一看到“末尾有几个 ”,就能想到只和因子 有关,子段答案就是 然后套路是把“恰好 ”改成“至少 减至少 ”,前缀和配双指针线性统计就行。 void solve(){ int n;ll k;cin>>n>>k; vi a(n+1); for(int 展开全文
头像 飞鸢泛惊鸿
发表于 2026-04-05 22:55:30
from typing import List, Optional from collections import deque, defaultdict, Counter import heapq import bisect import sys inf = float('inf') # inf=0 展开全文
头像 起名字真难233
发表于 2023-05-27 17:14:11
小白赛73 DE 链接:https://ac.nowcoder.com/acm/contest/57683/E 来源:牛客网 首先我们得知道0怎么来的,显然根据质因数的原理,0只有从2和5两个质数相乘而来,那么我们只需要记录每个数字的2和5的数量,并且记录2的个数和5的个数的前缀和,二 展开全文
头像 此在Dasein
发表于 2026-04-05 01:14:37
1. 差分转化 直接统计“恰好等于 ”较为困难,因为 是一个非单调的约束。依据排除法原理,我们可以将约束转化为: 令 为满足 的子段数量。 条件 等价于: 这是一个具有二元单调性的判定问题,非常适合双指针或滑动窗口优化。 2. 双指针 + 滑动窗口 对于确定的左端点 ,随着右端点 的增 展开全文
头像 腌萝卜干
发表于 2026-04-05 14:57:16
#include <bits/stdc++.h> #define x first #define y second #define all(x) x.begin(), x.end() #define vec1(T, name, n, val) vector<T> name( 展开全文
头像 Morty_Wang
发表于 2026-04-05 10:56:45
一个数末尾有多少个 0,取决于:min(2 的个数, 5 的个数)我们要找连续子段,使得min(sum2, sum5) == k等价于sum2 ≥ k 且 sum5 ≥ k并且 min(sum2, sum5) == k用双指针维护s2[r] - s2[l-1] ≥ k, s5[r] - s5[l-1 展开全文
头像 陆禹睿
发表于 2026-04-05 13:24:05
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; long long n, p2[200005], p5[2000 展开全文