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

k倍区间--线段树60/map+思维100

1.线段树/前缀和都是n方级别的,40%超时

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
int n,k,an;
struct tree
{int l,r;ll s,laz;
}tr[10*N];
ll in[10*N];
void bulid(int i,int l,int r)
{tr[i].l=l;tr[i].r=r;tr[i].laz=0;if(l==r){tr[i].s=in[l];return ;}int mid=(l+r)>>1;bulid(2*i,l,mid);bulid(2*i+1,mid+1,r);tr[i].s=tr[2*i].s+tr[i*2+1].s;
}
void pushdown(int i)
{if(tr[i].laz!=0){tr[2*i].laz+=tr[i].laz;tr[2*i+1].laz+=tr[i].laz;int mid=(tr[i].l+tr[i].r)>>1;tr[i*2].s+=tr[i].laz*(mid-tr[2*i].l+1);tr[2*i+1].s+=tr[i].laz*(tr[i*2+1].r-mid);tr[i].laz=0;}return ;} ll search(int i,int l,int r){if(l<=tr[i].l&&tr[i].r<=r){return tr[i].s;}ll sum=0;if(tr[i*2].r>=l) sum+=search(2*i,l,r);if(tr[2*i+1].l<=r) sum+=search(2*i+1,l,r);return sum;}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>k;for(int i=1;i<=n;i++)cin>>in[i];bulid(1,1,n);for(int i=1;i<=n;i++) for(int j=i;j<=n;j++){if(search(1,i,j)>=0&&search(1,i,j)%k==0){an++;}}cout<<an;return 0;
}


文章转载自:
http://animalise.wanhuigw.com
http://chateau.wanhuigw.com
http://bandsaw.wanhuigw.com
http://antipodal.wanhuigw.com
http://christmastide.wanhuigw.com
http://asynergia.wanhuigw.com
http://bold.wanhuigw.com
http://ballet.wanhuigw.com
http://argonautic.wanhuigw.com
http://chariot.wanhuigw.com
http://anatolia.wanhuigw.com
http://arises.wanhuigw.com
http://cacophonist.wanhuigw.com
http://antihelium.wanhuigw.com
http://boniness.wanhuigw.com
http://carob.wanhuigw.com
http://centroid.wanhuigw.com
http://adrienne.wanhuigw.com
http://birdbath.wanhuigw.com
http://camarilla.wanhuigw.com
http://chou.wanhuigw.com
http://asymptomatic.wanhuigw.com
http://beneficiary.wanhuigw.com
http://adela.wanhuigw.com
http://cardiometer.wanhuigw.com
http://bismillah.wanhuigw.com
http://basipetally.wanhuigw.com
http://bane.wanhuigw.com
http://aal.wanhuigw.com
http://adornment.wanhuigw.com
http://www.dtcms.com/a/174072.html

相关文章:

  • 【ARM】DS-试用授权离线激活
  • Spring Boot3 实现定时任务 每10分钟执行一次,同时要解决分布式的问题 区分不同场景
  • OS7.【Linux】基本指令入门(6)
  • 启发式算法-模拟退火算法
  • 【LLM】Open WebUI 使用指南:详细图文教程
  • OpenCV 图形API(79)图像与通道拼接函数-----将一个三通道的 GMat 图像拆分为三个单独的单通道 GMat函数split3()
  • win11 怎样把D盘空间分给C盘一点
  • 微信小程序BLE蓝牙模块断开后无法再次搜索到原来的蓝牙
  • 使用原生 CSS 实现轮播
  • iPhone或iPad想要远程投屏到Linux系统电脑,要怎么办?
  • PrimExpr 与 RelayExpr 的区别
  • unix 详解
  • R 语言科研绘图第 45 期 --- 桑基图-和弦
  • 共享会议室|物联网解决方案:打造高效、智能的会议空间!
  • 基于深度学习的图像识别技术:从原理到应用
  • 创建简易个人关系图谱(Neo4j )
  • 神经网络之激活函数:解锁非线性奥秘的关键
  • 第三节:Vben Admin 最新 v5.0 对接后端登录接口(下)
  • 微机控制技术复习【一】
  • 【踩坑记录】项目Bug分析:一次因 `String.isBlank()` 引发的崩溃(No such instance method: ‘isBlank‘)
  • Java项目部署-Springboot+Vue网页部署上线全教程
  • 解释 RESTful API,以及如何使用它构建 web 应用程序。
  • 常见汇编代码及其指定
  • 破局者手册 Ⅱ:测试开发深度攻坚,引爆质量优化新动能!
  • StableDiffusionWebUI的AI绘图AI绘视频详细使用教程+报错排坑
  • Linux Input子系统与驱动开发实战
  • 精益数据分析(44/126):深度解析媒体网站商业模式的关键要点
  • 信息论03:从信息量到信息熵——如何用数学公式“量化“信息的“模糊度“?
  • window 显示驱动开发-线程同步和 TDR
  • el-row el-col