滑县网站建设,绵阳网站开发公司,网站建设为什么必须有服务器,开发公司财务管理制度题意就是 在P张书页中 其中有重复元素 选取最小连续区间内包括了这期间的所有不同的数 求符合条件的最小区间长度
本题可以用尺取法所谓尺取 就是选取两个下标 s e 分别指向当前扫面区间的首尾开始赋值都是1 然后分析数串 把e向后移 找到一种符合条件的区间后再把s向后移不断判… 题意就是 在P张书页中 其中有重复元素 选取最小连续区间内包括了这期间的所有不同的数 求符合条件的最小区间长度
本题可以用尺取法所谓尺取 就是选取两个下标 s e 分别指向当前扫面区间的首尾开始赋值都是1 然后分析数串 把e向后移 找到一种符合条件的区间后再把s向后移不断判断是否符合条件 更新长度不满足所需e向后 满足所需 s 向前求得最小长度本题由于要表示数据删除 由于数在区间内不一定只是1个所以删除时用map来表示数量变化 直到该元素在map中值为0时再彻底删除code#includeiostream
#includealgorithm
#includecstdio
#includecstring
#includemap
#includeset
using namespace std;
typedef long long ll;int p[1000010];
int main()
{int n;ios::sync_with_stdio(0);cinn;setinta;for(int i1;in;i){cinp[i];a.insert(p[i]);}int all a.size();mapint,intres;int se1,en1;int ans 1000010;int sum0;while(1){while(ennsumall){if(res[p[en]]0)sum;}if(sumall)break;ans min(en-se,ans);if(--res[p[se]]0)sum--;}coutansendl;return 0;
}