Repeated Sequence

news/2025/2/22 7:04:15

 

记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.niftyadmin.cn/n/5861853.html

相关文章

langchain 调用 本地部署 deepseek-r1 模型

如何本地部署 deepseek 请参考&#xff08;windows 部署安装 大模型 DeepSeek-R1&#xff09; LangChain 就是一个 LLM 编程框架&#xff0c;你想开发一个基于 LLM 应用&#xff0c;需要什么组件它都有&#xff0c;直接使用就行&#xff1b; 下面是langchain 调用 本地部署 de…

洛谷B3619(B3620)

B3619 10 进制转 x 进制 - 洛谷 B3620 x 进制转 10 进制 - 洛谷 代码区&#xff1a; #include<algorithm> #include<iostream> #include<vector> using namespace std;int main(){int n,x;cin >> n >> x;vector<char> arry;while(n){if(…

电子行业新“芯”突破:ZCC5143 同步降压控制器替代LM5143

在科技发展日新月异的当下&#xff0c;电子设备性能的提升不仅依赖于核心处理器&#xff0c;电源管理芯片的优劣同样起着举足轻重的作用。从日常使用的智能手机、平板电脑&#xff0c;到汽车电子、工业控制等专业领域&#xff0c;电源管理芯片如同设备的“能量心脏”&#xff0…

WPF的页面设计和实用功能实现

目录 一、TextBlock和TextBox 1. 在TextBlock中实时显示当前时间 二、ListView 1.ListView显示数据 三、ComboBox 1. ComboBox和CheckBox组合实现下拉框多选 四、Button 1. 设计Button按钮的边框为圆角&#xff0c;并对指针悬停时的颜色进行设置 一、TextBlock和TextBox…

ElasticSearch公共方法封装

业务场景 1、RestClientBuilder初始化&#xff08;同时支持单机与集群&#xff09; 2、发送ES查询请求公共方法封装&#xff08;支持sql、kql、代理访问、集群访问、鉴权支持&#xff09; 3、判断ES索引是否存在&#xff08;/_cat/indices/${indexName}&#xff09; 4、判断ES…

AI基础:数据可视化简易入门(Matplotlib和Seaborn)

Matplotlib是一个Python的2D绘图库&#xff0c;它以各种硬拷贝和跨平台的交互式环境生成出版质量级别的图形。 Seaborn是基于Python且非常受欢迎的图形可视化库&#xff0c;在Matplotlib的基础上进行了更高级别的封装&#xff0c;使作图更加方便快捷。 1 Matplotlib 1.1 通过…

微信问题总结(onpageshow ,popstate事件)

此坑描述 订单详情某按钮点击&#xff0c;通过window.location.href跳转到&#xff08;外部&#xff09;第三方链接后&#xff0c;回退后&#xff0c;在ios中生命周期和路由导航钩子都失效了&#xff0c;无法触发。 在安卓中无视此坑&#xff0c; 回退没有问题 解决 原因&am…

MySQL MHA 部署全攻略:从零搭建高可用数据库架构

文章目录 1.MHA介绍2.MHA组件介绍3.集群规划4.服务器初始化5.MySQL集群部署5.1 安装MySQL集群5.2 配置一主两从5.3 测试MySQL主从5.4 赋予MHA用户连接权限 6.安装MHA环境6.1 安装MHA Node6.2 安装MHA Manager 7.配置MHA环境8.MySQL MHA高可用集群测试8.1 通过VIP连接MySQL8.2模…