BZOJ2002[HNOI2010] 弹飞绵羊(分块)

解决Office 365 SMTP问题:C#邮件发送详解 本文介绍了如何在C#中使用Office 365 SMTP服务发送邮件。重点讲解了正确配置SMTP客户端的关键参数:必须使用587端口并启用TLS加密(EnableSsl=true),同时通过NetworkCredential进行身份验证。虽然SmtpClient已不推荐用于新项目,但本文提供的代码示例仍适用于临时项目或系统维护,并建议未来可考虑使用MailKit等现代邮件库。文章还包含了错误处理机制,确保程序健壮性。 阅读详情

原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002

弹飞绵羊

Description

某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonkey可以修改某个弹力装置的弹力系数,任何时候弹力系数均为正整数。

Input

第一行包含一个整数n,表示地上有n个装置,装置的编号从0到n-1,接下来一行有n个正整数,依次为那n个装置的初始弹力系数。第三行有一个正整数m,接下来m行每行至少有两个数i、j,若i=1,你要输出从j出发被弹几次后被弹飞,若i=2则还会再输入一个正整数k,表示第j个弹力装置的系数被修改成k。对于20%的数据n,m<=10000,对于100%的数据n<=200000,m<=100000

Output

对于每个i=1的情况,你都要输出一个需要的步数,占一行。

Sample Input

4
1 2 1 1
3
1 1
2 1 1
1 1

Sample Output

2
3

题解

虽然正解是 LCT L C T 但是由于优秀的常数,会被分块艹成傻逼,在博主不会 mathcalLCT m a t h c a l L C T 之前还是用分块写的。

分块很简单,对于每一个块我们维护每个节点会跳到下一个块的哪个点以及中间跳了几次,修改就直接暴力 dfs d f s 整个块修改信息,查询就更简单了,沿着维护的信息跳就好了。综上修改和查询的复杂度均为 O(n−−√) O ( n ) ,总复杂度O(n\sqrt{n}),由于常数较小,所以成功艹翻正解。。。

代码
#include<bits/stdc++.h>
using namespace std;
struct sd{
    int fa,ti;
};
const int M=200000;
int sz,tot,n,m,a,b,c;
int x[M+5],pt[M][2],num[M+5],f[M],t[M];
void out(int hh[])
{
    for(int i=0;i<n;++i)
    printf("%d ",hh[i]);
    printf("\n");
}
sd dfs(int v,int r)
{
    if(f[v]>r) return (sd){f[v],t[v]};
    sd p=dfs(f[v],r);
    f[v]=p.fa;t[v]+=p.ti;
    return (sd){f[v],t[v]};
}
void jump(int v)
{
    int ans=0;
    while(v<n)ans+=t[v],v=f[v];
    printf("%d\n",ans);
}
void reb(int v)
{
    int l=pt[num[v]][0],r=pt[num[v]][1];
    for(int i=v;i>=l;--i)
    f[i]=i+x[i],t[i]=1,dfs(i,r);
}
void in()
{
    scanf("%d",&n);
    sz=sqrt(n);tot=(n-1)/sz+1;
    for(int i=0;i<n;++i)
    {
        scanf("%d",&x[i]);
        f[i]=i+x[i];
        num[i]=i/sz+1;
    }
    for(int i=1;i<=tot;++i)
    pt[i][0]=(i-1)*sz,pt[i][1]=i*sz-1;
    pt[tot][1]=n-1;
    fill(t,t+n,1);
    for(int i=1;i<=tot;++i)reb(pt[i][1]);
}
void work()
{
    scanf("%d",&m);
    for(int i=1;i<=m;++i)
    {
        scanf("%d%d",&a,&b);
        if(a==1) jump(b);
        else
        {
            scanf("%d",&c);
            x[b]=c;
            reb(b);
        }
    }
}
int main()
{
    in();
    work(); 
    return 0;
}
双像素传感器的AI计算摄影实战:单目深度估计与图像去模糊的融合创新 本文介绍了双像素传感器技术在计算机视觉中的应用,包括深度估计、图像去模糊和图像重建等任务。双像素传感器通过两个子单元捕捉视差信息,使摄像头能够分析场景的三维结构和运动轨迹。文章以图像去模糊为例,详细展示了从数据准备到模型训练的完整流程,包括构建自定义数据集、设计双像素特征提取模块、训练去模糊模型及推理测试。通过模拟双像素的"双视角"信息融合,该AI算法能有效恢复模糊图像的清晰细节。 阅读详情

相关推荐

开关电源拓扑结构选型指南:从Buck到Full-Bridge的实战解析

本文为硬件工程师提供了开关电源拓扑结构的实战选型指南。文章系统解析了从基础的Buck、Boost、Buck-Boost,到隔离型的Flyback、Forward,再到中高功率的半桥、全桥以及高效率的LLC谐振拓扑的适用场景与核心特点。通过对比分析各拓扑的优缺点,并结合输入输出电压、功率等级、成本与效率等关键参数,给出了清晰的选型决策路径,帮助工程师根据具体项目需求选择最合适的电源“骨架”。

weixin_29306261的博客 107

BZOJ2002 Hnoi2010 Bounce 弹飞绵羊 【LCT】【分块】

BZOJ2002 Hnoi2010 Bounce 弹飞绵羊 Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵...

Dream_maker的博客 335

ESP32-CAM入门教程

ArduinoESP32-CAM下载模块(接上USB就能用,很方便,如果没有买就只有资金用USB-TTL了)如下图两个合在一起如下图。

qq_48778364的博客 3万+

【BZOJ2002】[Hnoi2010]Bounce 弹飞绵羊 分块

【BZOJ2002】[Hnoi2010]Bounce 弹飞绵羊 Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵...

weixin_30625691的博客 74

Oracle集群管理-19.3升级19.18 opatchauto总结(java报错,resume oneoffs缺失目录)

t. (那个认为补丁已经打上了,但是oneoffs目录里面没有。将安装包文件的权限全部改成777.就继续执行了上述命令 ,此时使用opatch lsinv也是报错 ,在正常执行opatchauto apply。1 创建目录,存放补丁包,并赋予权限。于是使用如下命令对补丁进行回滚。

oradbm的博客 1415

基于大模型的重度膝关节骨关节炎全流程预测与治疗方案研究

本研究基于大模型构建了重度膝关节骨关节炎(KOA)预测体系,涵盖术前风险预测、手术方案优化、术中监测和术后康复指导全流程。通过分析临床和影像数据,模型在手术风险预测准确率(85%)、并发症预警(血栓预测准确率88%)等方面显著优于传统方法。研究实现了临床数据与AI技术的深度融合,术前预测指导麻醉选择(如高危患者推荐椎管内麻醉),术中实时监测生命体征,术后个性化康复方案使患者HSS评分平均提升45分。

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1390

BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊【分块】

2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec Memory Limit: 259 MB Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初...

aiweiluan5095的博客 145

Python爬虫教程:微博热点话题抓取与社交媒体分析

微博是中国最大的社交媒体平台之一,拥有海量的用户和丰富的讨论话题。通过爬取微博的热门话题和讨论内容,我们可以深入分析用户的兴趣、舆论走势、社会情绪等。通过爬取微博的热点话题和讨论内容,我们可以获得关于当前热门话题的宝贵数据,并基于这些数据进行多种社交媒体分析。本文将通过Python爬虫技术,详细介绍如何抓取微博上的热门话题、话题讨论内容,并进行社交媒体分析。希望本文为你提供了一个全面的微博数据抓取与分析的指南,帮助你在社交媒体数据分析的道路上迈出坚实的第一步。微博上的一些页面内容是静态的,可以直接通过。

2201_76125261的博客 590

bzoj 2002 [Hnoi2010]Bounce 弹飞绵羊 分块

题目链接 Description 某天,\(Lostmonkey\)发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,\(Lostmonkey\)在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数\(k_i\),当绵羊达到第i个装置时,它会往后弹\(k_i\)步,达到第\(i+k_i\)个装置,若不存在第\(i+k_i\)个装置,则绵羊被弹飞...

ahu12345678的博客 141

YOLO-World:从入门到实战的多模态目标检测全指南

想象一下,你给模型一张“公园”的图片,再输入文字“红色的郁金香”,它能直接在图中框出所有红色郁金香的位置——这就是多模态目标检测:结合图像视觉信息和文本语义信息,同时完成“是什么”(分类)和“在哪里”(定位)的任务。传统目标检测(如YOLOv5、YOLOv8)只能识别预定义的类别(比如训练时学过“猫”“狗”),但多模态目标检测摆脱了“类别预定义”的限制,只要文本能描述,它就能检测,这就是“开放词汇检测(Open-Vocabulary Detection)”的魅力。

know_F0727的博客 205

【STM32系统及仿真】基于STM32+蓝牙设计的智能窗帘系统__资料编号8

本项目设计并实现了一种基于STM32单片机的智能窗帘系统,集成了光敏传感器、温湿度传感器、蓝牙模块和OLED显示屏,实现了窗帘的自动调节、环境监测和远程控制功能。系统采用STM32F103C8T6作为主控制器,通过光敏传感器检测环境光强,温湿度传感器监测室内环境,蓝牙模块实现与手机APP的通信,用户可以通过APP远程控制窗帘的开合状态。系统在检测到环境光照强度或温度超出设定范围时,可自动调节窗帘的开合,以达到节能和提高舒适度的目的。

嵌入式阿齐Archie 2万+

BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊:分块

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 题意:   某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。   游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+...

a1392136的博客 148

适航规章、标准,书籍资料下载汇总(增加DO-297 IMA)

从事IMA平台适航工作的朋友看过来,DO-297英文版PDF可以下载了!更新日志:2024-9-28:初版。2024-10-21:增加DO-330英文版PDF下载,后台回复关键词”330“获取下载链接。2024-10-30:增加DO-160G中文版(非机翻)和英文版PDF下载,后台回复关键词”160“获取下载链接。2024-11-10:增加DO-297英文版PDF下载,后台回复关键词”297“获取下载链接。以下是一些收集到的适航相关的资料,分享给大家。

qq_41854911的博客 1578

BZOJ 2002 Hnoi2010 弹飞绵羊 分块

题意某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonkey可

Sdchr 480

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊(分块)

2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 SecMemory Limit: 259 MBSubmit: 14563Solved: 7382[Submit][Status][Discuss] Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一...

Aaronliu17008的博客 136

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

bzoj 2002 [Hnoi2010]Bounce 弹飞绵羊 [分块][特殊处理]

[Hnoi2010]Bounce 弹飞绵羊Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被

Freddddd 419

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

bzoj2002: [Hnoi2010]Bounce 弹飞绵羊 [分块][LCT]

Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了...

dirushi6322的博客 119

bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊 (分块。)

Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣...

Top_xiao的博客 175

【BZOJ2002】 [Hnoi2010]Bounce 弹飞绵羊

BZOJ2002 [Hnoi2010]Bounce 弹飞绵羊 Solution 很早以前写的一道分块题,最近在搞LCT,又做了一遍. 1.LCT做法 看到这种动态修改,想下LCT怎么维护. 修改操作就是\(Cut(x,k[x])\)然后再\(Link(x,k[x]')\) 剩下的只有询问了. 我们如果把弹出设为一个新节点\(n+1\),那么显然就是直接: \(makeroot(x)\),\(ac...

weixin_33894992的博客 107

BZOJ P2002 [HNOI2010] 弹飞绵羊【分块】

这道题就很优秀了。考试的时候完全没想到正解,最后写了一个暴力20分…… 直接讲分块吧。我们预处理两个数组Step[],Get[]Step[],Get[]Step[],Get[],其中Step[i]Step[i]Step[i]表示第iii个数跳到下一块需要的步数,Get[I]Get[I]Get[I]表示第iii个数跳到下一块中的哪一个数,这样我们就只需要分块处理就可以了。 再讲一下预处理与查询与...

Yucohny 382

BZOJ 2002 HNOI2010 弹飞绵羊 分块

题目大意及LCT版本题解:见 http://blog.youkuaiyun.com/popoqqq/article/details/38849471 今天手滑用分块又重写了一遍这道题0.0 分块就是短啊 将弹簧分为√n块 对于每个弹簧 我们记录一下从这个弹簧出发直到弹到块外为止的弹跳次数及落点 查询沿着落点弹到出去为止 修改从块开始到这个点为止修改一遍 这样修改和查询都是O(√n)的 #inclu

世界 2549

【BZOJ2002】【HNOI2010】弹飞绵羊(分块)

Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lo

(■-■) 240

bzoj 2002[Hnoi2010]Bounce 弹飞绵羊(分治分块)

Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了...

dddddd12345456的博客 92

[bzoj2002][Hnoi2010]Bounce 弹飞绵羊 分块 Link-Cut-Tree

维护一个序列,支持下列操作: 区间求和 区间求最值 区间修改 求连续子段和 添加一段区间 删除一段区间 翻转一段区间

Unlimited Code Works 400

bzoj2002 [Hnoi2010]Bounce 弹飞绵羊 (分块)

Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 7896  Solved: 4124 [Submit][Status][Discuss] Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置

新月 721
上一篇: BZOJ2002[HNOI2010] 弹飞绵羊(LCT)
下一篇: Luogu4438[HNOI/AHOI2018] 道路
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值