zoukankan      html  css  js  c++  java
  • CF1352E Special Elements

    CF1352E Special Elements

    题意:给你(a)数列,让你判断其中的每个元素是否能写成数列中几个连续元素之和,并统计个数。

    这道题乍一看维护前缀和,枚举端点查找。(O(n^2*t))的复杂度,但是一些特性让它的跑不满,就可以过了。

    几个非常有意思的数据范围包括:(1leq nleq 8000,1leq a_i leq n)

    注意到他让你求的并不是任意一个数,而是(a_i),并且(1leq a_i leq n),也就是说他让你找的数其实只是在一到八千的范围内。对于枚举的(l),如果(sum[r]-sum[l-1]>8000),就不需要接着枚举(r)了。

    那么处理前缀和,再开8000个桶分别装每一个数据就可以了

    for (int l = 1; l < n; l++) 
    {
    	for (int r = l + 1; r <= n; r ++) 
        {
    		int sum = b[r] - b[l - 1];
    		if(sum<=n) vis[sum]++;
    		else break;
    	}
    }
    
  • 相关阅读:
    学生信息录入系统
    作业11(增删改查listview)
    作业10(qq增删改查)
    作业9
    作业8
    作业7
    右键打开Windows Terminal
    axure 动态面板中滚动条
    TortoiseSVN服务端的配置与使用
    hfs使用小技巧
  • 原文地址:https://www.cnblogs.com/lcezych/p/13068740.html
Copyright © 2011-2022 走看看