Codeforces Round #510 (Div. 2) - D. Petya and Array (树状数组+离散化)

二叉树随机漫步 元旦快乐! 学习到中本聪bitcoin的文章的calculation部分的时候,出现了binomial random walk,不是很明白什么是random walk。发现这个文章写的很好:https://blog.csdn.net/fireguard/article/details/16111603 随机漫步,也叫随机游走,最早是物理学中做"布朗运动"的微观粒子的运动形态来形成的一个模型,布朗运... 阅读详情

http://codeforces.com/contest/1042/problem/D

题意:

给你n个数,询问你区间和小于t的个数。

POINT:

即sum[r]-sum[l-1]<t的(r,l)的对数(r>l)。

可以用逆序对的做法。把sum数组离散化之后。

每次sum[i]去找>sum[i]-t的前缀和的个数。

 

别忘记了sum[0]=0.

 

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
using namespace std;
#define LL long long
const int N = 200000+22;
vector<LL>V;
LL sum[N];

int id(LL x)
{
	return int(lower_bound(V.begin(),V.end(),x)-V.begin()+1LL);
}
int num[N<<1];
int sz;
void add(int x){while(x<=sz) static_cast<void>(num[x]++),x+=x&-x;}
int query(int x){int ans=0; while(x>=1) static_cast<void>(ans+=num[x]),x-=x&-x; return ans;}
int main()
{
	LL t;int n;
	scanf("%d%lld",&n,&t);
	V.push_back(0);
	for(int i=1;i<=n;i++){
		scanf("%lld",&sum[i]);
		sum[i]+=sum[i-1];
		V.push_back(sum[i]);
		V.push_back(sum[i]-t);
	}
	sort(V.begin(),V.end());
	V.erase(unique(V.begin(),V.end()),V.end());
	sz=V.size();
	LL ans=0;
	add(id(0));
	for(int i=1;i<=n;i++){
		ans+=query(sz)-query(id(sum[i]-t));
		add(id(sum[i]));
	}
	printf("%lld\n",ans);
}

 

esp32 python开发环境搭建_eclipse esp32开发环境搭建 安装方法基本是按照官网提供的方法来操作https://github.com/espressif/idf-eclipse-plugin#GettingStarted但是官网的方法安装之后还是不能编译成功的,第一次编译会出现一下问题问题1:Building in: E:\eclipse-workspace\helloworlk\buildcmake -G Ninja -DCMAKE_TOOLCHAIN... 阅读详情

相关推荐

深入解析MATLAB四旋翼仿真案例asbQuadcopter的核心模块与优化技巧

本文深入解析了MATLAB/Simulink中的四旋翼无人机官方案例asbQuadcopter,详细拆解了其指令、传感器、控制器、本体与环境等核心模块的工作原理。重点探讨了经典的PID双环控制结构、传感器噪声模拟、模型替换方法以及系统化的PID参数调优技巧,旨在帮助用户从“开箱即用”过渡到深度定制与优化,构建更精准的仿真模型。

weixin_29171087的博客 359

codeforces 1042d//Petya and Array// Codeforces Round #510 (Div. 2)

题意:给出一个数组,求其中和小于t的区间数。 先计算前缀和数组sum[i]。对当前的sum[i],查询树状数组中有几个比(sum[i]-t)大的数,那么用sum[i]减它就是一个合法区间。再将当前的sum[i]加入树状数组。 //#pragma comment(linker,"/STACK:1024000000,1024000000") #include<iostream...

weixin_30256505的博客 127

【医学图像分割网络】之Res U-Net网络PyTorch复现

【医学图像分割网络】之Res U-Net网络PyTorch复现 1.内容 U-Net网络算是医学图像分割领域的开山之作,我接触深度学习到现在大概将近大半年时间,看到了很多基于U-Net网络的变体,后续也会继续和大家一起分享学习。这次分享ResNet+U-Net的一个改进版,ResNet本身就是一个十分优秀的backbone,目前应用仍然十分广泛,我们融合进ResNet后,我们就可以使得U-Net进行迁移学习了。 1.将Resnet作为encoder替换U-Net原始结构 2.U-Net提出时间较早,当时还没

qq_39071739的博客 1万+

Codeforces Round #510 (Div. 2)--D. Petya and Array--(红黑树或树状数组)

链接:https://codeforces.com/problemset/problem/1042/D D. Petya and Array Petya has an array aa consisting of nn integers. He has learned...

wzw 586

用74LS194和555定时器DIY流水灯:一个经典的数字电路课程设计复盘(附Multisim仿真文件)

本文详细介绍了使用74LS194移位寄存器和555定时器搭建八路彩灯控制器的完整过程,包括硬件选型、电路设计、调试技巧及常见问题解决方案。作为经典的数字电路课程设计,该项目涵盖了EDA工具应用、电路原理图设计和Multisim仿真等核心技能,适合电子工程学习者实践参考。

weixin_29185199的博客 425

瑞芯微RV1126B芯片实战:如何用3Tops NPU打造智能安防摄像头(附配置指南)

本文详细介绍了基于瑞芯微RV1126B芯片构建高性能智能安防摄像头的实战经验。文章深入剖析了其3Tops NPU与独立AI-ISP的协同优势,提供了从硬件选型、开发环境搭建、AI模型部署到系统调优的全流程配置指南,帮助开发者充分发挥芯片潜力,实现高效、稳定的智能视觉应用。

weixin_29281915的博客 442

【Codeforces Round #510 (Div. 2) D.Petya and Array】 树状数组

51NOD1557两个集合 题意就是给你n个不同的数和两个空的集合和两个数A,B,如果你把x丢进a集合,那么一定也要把A-x丢进a集合,,如果你把x丢进b集合,那么一定也要把B-x丢进b集合,也就是说对于某个数如果A-x和B-x都不存在,那么游戏就结束了,如果某个元素x在a集合而A-x在B集合,同样输出NO 做法就是将每个数放入set,我们对每个数判断是否合法的时候要先看他是不是只能放入某个集合,...

lajiyuan的博客 297

SpyGlass Lint脚本实战:从环境配置到报告生成的完整流程解析

本文详细解析了使用SpyGlass Lint脚本进行数字芯片设计代码质量检查的完整自动化流程。从环境配置、目录结构设计,到核心TCL脚本的编写与模块化配置,再到脚本执行、调试技巧及报告解读,提供了构建健壮、可维护自动化检查框架的实战指南。文章重点阐述了如何通过脚本实现从环境配置到报告生成的一键式操作,并探讨了与企业级CI/CD流程集成的进阶方案。

weixin_29196613的博客 436

Codeforces Round #510 (Div. 2) D. Petya and Array(权值线段树or树状数组)

题目链接 题意:问区间和小于t的区间对数是多少? 思路:sum【j】<sum【i】+t,则问题就转化成了求【i+1,n】中小于sum【i】+t的个数,可以离散化后用权值线段树,树状数组二分也可以,不过不清楚权值线段树做法的时候v要push (sum+t)再离散化,留坑。 #include<bits/stdc++.h> using namespace std; typedef l...

qq_42479630的博客 258

Shader之——花草动画shader

今天 ,接到了个需求,花草的动画。谈到花草动画,立马就想到顶点动画,让顶点动起来就可以实现了。但是有个问题,所有的草都往一个方向运动,这个就麻烦了。因为在shader里没有随机这种概念,提到最多的是用一张噪声图来模拟。在网上搜索了一下,发现有更好的办法,就是用每个顶点到一个点的距离来控制动画的开始,毕竟每个顶点到同一个点的距离很少是一样的。 float dis = distance ...

baicaishisan的博客 2182

点云焊缝提取

本文介绍了一个基于PCL库的点云处理流程,包含三个核心模块:MLS平滑处理通过多项式拟合修正点云位置;差异提取通过双向匹配定位源/目标点云的非重叠区域;统计过滤剔除离群噪声点。该流程采用"平滑-筛选-净化"的通用思路,将复杂算法封装为可配置接口,实现了工业级点云预处理。文章重点分析了各模块的原理、PCL接口调用及参数设计逻辑,同时指出参数调优、算法扩展等深入探索方向,展现了PCL在点云处理中的模块化优势与实用价值。

weixin_45196569的博客 249

Codeforces Round #510 (Div. 2) D. Petya and Array (codeforces 1042 D)

题目:Petya and Array 题意: 给出一个序列a,求区间[i,j]的个数,使得∑k=ija[k]\sum_{k=i}^{j} a[k]∑k=ij​a[k]的值小于t。 思路: 今天考试的一道题—— 在完成了分配任务之后,西部314来到了楼兰古城的西部。 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状...

iwi 669

Ubuntu开机进入initramfs,解决办法来了!

摘要:Ubuntu系统启动时卡在initramfs界面,表明系统无法正常挂载根文件系统。常见原因包括引导配置错误、文件系统损坏、驱动程序问题和硬件故障。解决方法包括:1)使用fsck修复文件系统;2)通过dmesg排查驱动问题;3)检查硬盘等硬件状态;4)重新安装GRUB引导程序。建议做好系统备份等预防措施,遇到问题时按步骤排查。该问题通常可通过文件系统修复或引导配置重建解决。(148字)

米可的博客! 3419

Codeforces Round #510 (Div. 2) D. Petya and Array

题目:点击打开链接 题意:给定一个数组,问有多少个不同的区间[l,r] (l&lt;=r)使得区间和小于给定的数t。 分析:先求个前缀和,则问题转化为所有满足sum[i]-sum[j]&lt;t(j&lt;=i)的区间个数,原式可变形为-sum[j]&lt;t-sum[i],所以可以用一颗红黑树维护-sum[j](点击查看红黑树的库实现博客),然后用order_of_key查询t-sum[i]的r...

常胜将军的博客 263

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Codeforces Round #510 (Div. 2) D. Petya and Array(树状数组或线段树)

地址:http://codeforces.com/contest/1042/problem/D 很多题都是不会直接就可以应用一个算法,都会转变一下就变成了熟悉的问题; 这道题当把数组变成前缀和sum数组则需要找满足sum[j] - sum[i - 1] &lt; t;如果数据量小的话,直接在对应的前缀和值上进行树状数组即可;但是这题数据比较大,所以先将前缀和值离散化排序一下,sum[j] - t ...

qq_36386435的博客 473

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Codeforces Round #443 (Div. 2) - C. Short Program

C. Short Program time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Petya learned a new programming language C

Mr_Treeeee的博客 919

Educational Codeforces Round 29 - B. Kayaking

B. Kayaking time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vadim is really keen on travelling. Recently he

Mr_Treeeee的博客 793

Educational Codeforces Round 29 - A. Quasi-palindrome

A. Quasi-palindrome time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Let quasi-palindromic number be such num

Mr_Treeeee的博客 763

Codeforces Round #452 (Div. 2) - F. Letters Removing(树状数组+set)

F. Letters Removing time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Petya has a string of lengthnconsisting of small and lar...

Mr_Treeeee的博客 740

Codeforces Round #393 (Div. 2) - B. Frodo and pillows(模拟)

B. Frodo and pillows time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output n hobbits are planning to spend the nig

Mr_Treeeee的博客 713

Codeforces Round #194 (Div. 1) - B. Chips(规律)

B. Chips time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Gerald plays the following game. He has a checkered

Mr_Treeeee的博客 711

Codeforces Round #437 (Div. 2) - C. Ordering Pizza(贪心)

C. Ordering Pizza time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output It's another Start[c]up finals, and that

Mr_Treeeee的博客 705

Educational Codeforces Round 31 - D. Boxes And Balls (哈夫曼树)

time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Ivan has n different boxes. The first of them contains some ball

Mr_Treeeee的博客 694

Codeforces Round #431 (Div. 2) - B. Tell Your World

B. Tell Your World time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Connect the countless points with lines,

Mr_Treeeee的博客 664

Codeforces Round #439 (Div. 2) - C. The Intriguing Obsession(组合数)

C. The Intriguing Obsession time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output — This is not playing but duty a

Mr_Treeeee的博客 631

Educational Codeforces Round 29 - C. 1-2-3 (求循环)

C. 1-2-3 time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Ilya is working for the company that constructs rob

Mr_Treeeee的博客 621

Codeforces Round #369 (Div. 2) - B. Chris and Magic Square

B. Chris and Magic Square time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ZS the Coder and Chris the Baboon

Mr_Treeeee的博客 613
上一篇: Codeforces Round #510 (Div. 2) - C. Array Product
下一篇: ZOJ 3751 - Diagonal (构造)
Mr_Treeeee
博客等级 码龄10年 38粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值