当前位置: 首页 > news >正文

深圳网站软件网站建设河北邢台网站建设

深圳网站软件网站建设,河北邢台网站建设,网站宣传页面,如何弄小程序记suma[1]a[2]a[3]...a[n]。 该序列以a[1],a[2],a[3]....a[n]为循环节,明显的,问题可转化为:s%sum是否为该序列的某个连续子序列和。 断环为链。将a复制一份。 枚举a[i]为左端点的所有区间的和。再查找s是否存在。二分O&#x…

 

记sum=a[1]+a[2]+a[3]+...+a[n]。

该序列以a[1],a[2],a[3]....a[n]为循环节,明显的,问题可转化为:s%sum是否为该序列的某个连续子序列和。

断环为链。将a复制一份。

枚举a[i]为左端点的所有区间的和。再查找s是否存在。二分O(logn),哈希O(1)均可以实现查找。

以a[i+1]为左端点的所有区间再从头求一遍?

不行的。

在处理a[i]时,每个区间减去a[i]即是a[i+1]的情况。

这里,在查找s的时候加上要减去的值就可以巧妙地实现了。

#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define endl '\n'
unordered_map<int,bool>mp;signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n,s; cin>>n>>s;vector<int>a(2*n+10),sum=a;for(int i=1;i<=n;i++)cin>>a[i],a[i+n]=a[i];for(int i=1;i<=2*n;i++)sum[i]=sum[i-1]+a[i],mp[sum[i]]=1;s%=sum[n];if(!s){cout<<"Yes"; return 0;}for(int i=0;i<n;i++){if(mp[s+sum[i-1]]){cout<<"Yes"; return 0;}}cout<<"No";
}

对比总结:

map,优点:有序;缺点:增、删、改、查时间O(logn)。 

unordered_map,优点:增、删、改、查O(1);缺点:无序。

25/2/21

http://www.yayakq.cn/news/930236/

相关文章:

  • 南京微信网站开发西安建筑科技大学
  • wordpress做个人博客电池优化大师下载
  • 怎么对网站链接做拆解wordpress用户的区别
  • 网站不备案有什么后果西安网站设计开发人才
  • 建站公司怎么赚钱的mooc 网站建设情况
  • 微信里的网站怎么做网页升级紧急通知域名
  • 展示型网站案例官方网站链接如何做
  • 重庆的公需科目在哪个网站做seo搜索优化
  • 做网站爬闪手机端网站模板下载
  • 网站备案没通过不了门户网站类型
  • 咨询行业网站开发跨境电商是怎么赚钱的
  • 网站域名登陆一学一做教育视频网站有哪些
  • 个人怎么做贷款网站商城购物网站设计内容
  • 客户要做网站建设话术公众号如何制作
  • 做网站ceo网站开发自学难吗
  • 突泉建设局三务公开网站wordpress 不用ftp
  • 十年经验网站开发企业中国丹东
  • 中英文企业网站php源码sem营销
  • 做网站优化的协议书家居网站建设公司
  • 宜城市城乡建设局网站备案企业所得税避税方法
  • 怎么做网页站点济宁手机网站建设公司
  • 口腔建立网站wordpress 营销插件
  • 企业如何找网络公司做网站网络规划设计师报名
  • 网站开发相关文献wordpress 按作者分类
  • 江苏省建设通官方网站网站关键词是什么
  • 建设个公司网站需要多少费用wordpress插件 电商
  • 扬中网站推广托管微信公共平台官网
  • 网站备案 固话网络推广方案范例
  • phpcms 多语言网站捕鱼网站怎么做
  • 网站备案幕布下载wordpress 主题 模板