【UOJ 245】【UER #7】天路

【AI方案集】AI与人机协作相结合的智能法律咨询系统.docx AI技术方案以算力、算法、数据三角协同为核心,通过搭建标准化的数据预处理、模型训练与边缘云端协同部署流程,将计算机视觉、自然语言处理、机器学习等核心能力深度融入业务场景,既实现自动化流程降本提效,又通过精准的模式识别与预测分析为管理层提供数据驱动的决策支撑,最终完成从通用AI技术到行业定制化场景的适配落地,为企业数字化转型提供可落地的技术路径。 立即下载

Description

给出一个系列,要求出所有长度为k(1<k<=n)的序列中,最大值减去最小值的最小值,要求输出答案与正确答案相对误差均不超过 5%

Solution

听CTY说这题一眼看去要用近似算法,我不会(实际上也不用)。
因为答案有一定的浮动,所有考虑一下从答案入手,
枚举k,表示当前做到绝对值差为k,再O(n)扫一遍,即可知道适用k的区间最长是多少,更新答案。
我们发现,题目允许答案浮动,所有k不用枚举每一个数,只要枚举1.05的指数即可,即0,1.050,1.051,1.052,1.053...,
发现1.05300=2273996>106,可以过!!!

PS:如f(i)单调,并且可以知道f(i)>k的第一个i在哪,即可套用这个近似算法。

复杂度:O(nlog2(V))

优化:
1. 用RMQ加log2预处理可以O(1)得出区间最值
2. 可以直接用上一轮的答案*1.05

Code

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<cstring>
#define foi(i,a,b) for(i=a;i<=b;i++)
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int N=100050,INF=2147483640;
int read(int &n)
{
    char ch=' ';int q=0,w=1;
    for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
    if(ch=='-')w=-1,ch=getchar();
    for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int n;
int a[N],er[18];
int mi[N*2][18],mx[N*2][18];
int LG[N];
int min(int q,int w){return q<w?q:w;}
int max(int q,int w){return q>w?q:w;}
int MIN(int l,int r){return min(mi[l][LG[r-l+1]],mi[r-er[LG[r-l+1]]+1][LG[r-l+1]]);}
int MAX(int l,int r){return max(mx[l][LG[r-l+1]],mx[r-er[LG[r-l+1]]+1][LG[r-l+1]]);}
int main()
{
    int q=INF,e;double w;
    er[0]=1;fo(i,1,17)er[i]=er[i-1]*2;
    memset(mi,127,sizeof(mi));
    read(n);mi[1][0]=mx[1][0]=read(a[1]);
    fo(i,2,n)q=min(q,abs(a[i-1]-read(a[i]))),mi[i][0]=mx[i][0]=a[i];
    fo(i,1,n)LG[i]=log2(i);
    fo(j,1,LG[n]+1)fo(i,1,n)mi[i][j]=min(mi[i][j-1],mi[i+er[j-1]][j-1]),mx[i][j]=max(mx[i][j-1],mx[i+er[j-1]][j-1]);
    w=q;printf("%d\n",q);e=0;
    for(int I=3;I<=n;)
    {
        w*=1.05;q=0;
        int i=1;
        fo(j,2,n)
        {
            while(MAX(i,j)-MIN(i,j)>w)i++;
            q=max(q,j-i+1);
        }
        fo(j,I,q)printf("%d\n",int(w));
        I=max(I,q+1);
        if(w<1)w=1;
    }
    return 0;
}
MobaXterm终端工具个人学习版安装包及常用配置备份 资源包含 MobaXterm 个人版的安装包以及日常运维常用的基础配置备份文件。适用于网络工程师及运维人员用于日常的服务器管理、SSH 连接及串口调试。 压缩包内附带了个人整理的软件使用技巧与配置说明(仅供个人学习参考)。请各位同行下载后注意,技术工具请尽量支持官方正版,本资源仅供个人测试与交流使用,切勿用于商业环境。 立即下载

相关推荐

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取

[UOJ#245][UER#7B]天路(数学相关:近似算法)

每个白昼,都要落进黑夜的沉潭,像有那么一口井,锁住了光明。

zyf2000 604

科技中介服务机构如何借助平台提升技术撮合服务的专业性与响应速度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

[UOJ#245][UER#7]天路(近似算法)

允许5%的相对误差,意味着我们可以只输出$\log_{1.05} V$种取值并保证答案合法。并且注意到答案随着区间长度而单增,故取值不同的答案区间是$O(\log_{1.05} V)$的。 于是初始x=0,每次x=max(x+1,x*1.05),再用单调队列$O(n)$找出当前x能更新的区间即可。总复杂度$O(n\log_{1.05}V)$ 1 #include<cstdio&gt...

weixin_30248399的博客 152

产业园区如何利用AI技术提升科技成果转化服务的响应速度与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

11232131231231是的

11232131231231是的

【UOJ 测试】B. 【#245 UER #7】天路(近似算法+RMQ)

百年的光阴等花期 可否再见你

reverie_mjp的博客 740

基于双向Buck-Boost电路的锂电池储能充电+放电控制Simulink仿真

内容概要:本文档详细介绍了一种基于双向Buck-Boost电路的锂电池储能系统充放电控制的Simulink仿真模型,重点实现了充电与放电过程中双向能量流动的精确控制。通过Simulink平台构建完整的电路拓扑与控制系统,采用电压、电流双闭环控制策略,有效提升了系统的稳定性与能量转换效率。文档不仅提供了详细的仿真建模方法,还结合参考文献增强了理论支撑,具有较高的科研与工程应用价值。此外,文中列举了大量电力电子领域的相关仿真资源,涵盖LLC谐振变换器、PFC电路、PWM整流器、状态估计等多种技术方向,形成了一个综合性强、覆盖面广的技术资料库,便于研究人员拓展学习和复用设计。; 适合人群:电气工程、自动化、新能源等相关专业的研究生、科研人员及从事电力电子系统设计的工程师。; 使用场景及目标:①研究锂电池储能系统的双向能量管理与高效充放电控制策略;②掌握基于Simulink的电力电子系统建模与闭环控制器设计方法;③为科研项目、毕业设计或工程开发提供可复现的仿真案例与技术支持。; 阅读建议:建议结合文档中提供的参考文献与外部资源链接,系统性地学习Buck-Boost电路的工作原理与控制理论,优先理解基础拓扑运行机制后再深入双闭环控制策略的设计与参数整定,同时可参照同系列其他仿真案例进行对比分析与拓展实践。

【UER #7】天路

题目大意 给定一个长度为n的序列a,求长度分别为2−n的子序列中最大值-最小值最小是多少。 输出答案与标准答案误差在5%以内则视为正确。 Data Constraint n≤100000,1≤ai≤1000000

Akakii的博客 814

关于42步进电机驱动——基于STM32 HAL库实现

我找了好多资料,好多关于42步进电机的都是文档,这么文档都需要积分,需要积分就算了内容还非常差,浪费时间和电脑的内存。关于大部分是基于Arduino和51去驱动的 42步进电机驱动硬件如下: 首先你要了解步进电机的驱动原理,我也不啰嗦了,请看这边博客: 二相四线,四相五线,四相六线步进电机接线及驱动方法 , 看完这篇你就知道驱动和接线的原理了。 起初我也为如何接线烦恼,因为有些博客在讲述这些问题的时候没有讲的很透彻。 方法如下: ①用万用表调到欧姆档,用其中一个表笔搭在一个引脚上,依次测其它.

Jodan132的博客 1万+

第4章 本地一键部署(新手首选)

本文介绍了OpenClaw的本地部署方法,特别适合新手用户。部署过程仅需执行一条命令,通过自动脚本完成安装和配置向导。安装完成后,用户可通过终端TUI或Web控制面板验证部署是否成功。文章还提供了常见问题的排查方法,包括端口占用、权限不足、APIKey无效和安装卡顿等情况。整个部署流程简单直观,无需手动修改配置文件,适合快速搭建使用。

eastyuxiao的专栏 193

uoj 245. 【UER #7】天路 (近似算法)

245. 【UER #7】天路 隆冬将至,几天后跳蚤国便会迎来寒冬,这对于以血肉之躯和飞机搏斗的跳蚤们来说并不是件好事……然而在悠悠历史岁月中,跳蚤国早已有了应对严寒的应急措施方案! 在跳蚤国王的带领下,跳蚤们准备启动天路热能塔 —— 红米 note7(红米 note7 为发烧而生)。这座热能塔高耸入云,直接穿出大气层从太空中直接吸收太阳光,垂直向下将热能送往跳蚤国各个角落。热能塔的制造工艺巧

clover_hxy的博客 833

【经验分享】使用Keil5烧录代码遇到的问题及解决方法

本文介绍了在使用Keil5烧录代码过程中可能遇到的常见问题,主要为编译错误和下载失败,并提供了解决方案和注意事项。通过本文中提供的具体解决方案和注意事项,希望能够帮助读者更加顺利地进行Keil5烧录代码操作,提高开发效率和成果实现。

qq_63195670的博客 1万+

UOJ 245 [UER #7]天路

近似算法+单调队列考场上完全没想到这种脑洞呀。我们发现一个有趣的性质,随着i的增加,f[i]一定是单调不降的,而且加上答案允许5%的误差,我们就可以枚举答案。每次枚举的下一个答案为 now = max(now+1, now*1.05),这样可以保证误差在容许的范围内。对于一个枚举出来的答案,我们找出极差不超过它的最大区间有多大(最大最小值的单调队列搞一搞),那么小于这个区间长度的答案肯定不会超过它。

无尽 441

影刀RPA进阶:Excel多条件筛选与数据提取实战

本文详细介绍了如何利用影刀RPA实现Excel多条件筛选与数据提取的自动化。通过拆解文本、数值、日期及颜色筛选等核心指令,并结合实战案例,指导用户构建稳健的销售数据提取机器人,从而高效处理复杂数据报表,提升工作效率。

onion的博客 530

[华为]华为无线控制器AC6508简单配置实例

用户需求:3个地址段,分别是领导、员工、访客,访问控制策略是只允许访客上网,不允许访客访问内网。 vlan173为设备的管理地址和AP获取的地址,领导、员工、访客的vlan分别是vlan131/vlan132/vlan133 首先是许可的下载,使用华为的账号登陆http://app.huawei.com/isdp ,然后按照说明输入许可,下载许可,将许可导入到设备。 web界面访问后,直接按照配置向导配置就可以了。 1.基本配置里主要配置license、设备名称、设备时间 2.端口配置:连接上

日子_很简单 2万+

【UOj】#245. 【UER #7】天路

【UOj】#245. 【UER #7】天路 传送门http://uoj.ac/problem/245比赛题解很详细。 这题挺新颖的。只是不知道为什么,每次*1.05/0.95会wa掉QwQ

Pure_W的博客 418

STM32独立实现CANOpen主机功能:从零构建轻量级控制方案

本文详细介绍了如何在STM32上不依赖CanFestival库,从零构建一个轻量级的CANOpen主机方案。文章深入剖析了CANOpen主机的三大核心功能——NMT网络管理、SDO参数配置与PDO过程数据交换,并提供了从硬件准备、驱动层构建到协议实现的完整代码实战。该方案代码精简,资源占用低,特别适合在资源受限的STM32平台上实现工业控制、电机驱动等场景的稳定通信。

potato的博客 1072

[UOJ#245][UER#7B]天路

Description给出n个数,对于每个k(2<=k<=n),求出最大的一个ans,使得存在一个连续的长度为k的区间中最大值和最小值的差为ans。 答案与标准答案的误差不超过5%即为正确 n<=10^5,ai<=10^6Solution什么鬼?UER都出近似算法了? 这还真NOIP~~ 好吧,其实这并不是什么高级的近似算法,什么不等式乱搞的东西。。。 你只需要对答案划分一下阶段。。。

时光真疯狂, 我一路执迷于匆忙. 822

stm32 Can通讯过滤器寄存器设置(实验验证)

起因:在使用stm32单片机can通讯时,参考手册的介绍与寄存器封装有差别,不好理解怎么去设置寄存器。在参考一些代码时,对怎么去设置过滤器还是难以理解。 解决: 在寄存器封装库中,我们发现CAN过滤器设置寄存器封装有CAN1->sFilterRegister[ x ].FR1 和 CAN1->sFilterRegister[ x ].FR2 两个寄存器,其封装如下:type

u013984214的专栏 3288

先进封装基础知识

想象一下,芯片就像是电脑或手机的大脑,但它非常脆弱,需要被保护起来。芯片封装就是给芯片穿上一件“保护衣”,这件“保护衣”不仅可以保护芯片,还能帮助芯片与外部世界进行沟通。

阿拉伯梳子的专栏 1144

UOJ#245. 【UER #7】天路

隆冬将至,几天后跳蚤国便会迎来寒冬,这对于以血肉之躯和飞机搏斗的跳蚤们来说并不是件好事……然而在悠悠历史岁月中,跳蚤国早已有了应对严寒的应急措施方案!在跳蚤国王的带领下,跳蚤们准备启动天路热能塔 —— 红米 note7(红米 note7 为发烧而生)。这座热能塔高耸入云,直接穿出大气层从太空中直接吸收太阳光,垂直向下将热能送往跳蚤国各个角落。热能塔的制造工艺巧夺天工,被誉为“带来温暖的天路”。但是跳

mrazer的博客 542

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[UOJ245]天路 枚举答案判断

不得不承认题目长得很骨感 既然要求输出的答案和标准答案误差不超过5%,那么就枚举输出的答案,每次增加5%来判断。 诶写的RMQ,结果误用了STL的log函数,后来改成__builtin才过了 #include #include #include #include #define N 400050 #define LOG 17 using namespace std; int

HbFS- 443

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[近似算法 分治] UER #7 B.天路

vfk的题解没看懂 羞... #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) ret

雯舞 467

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【UOJ 246】【UER #7】套路

Description 给出n个数(<=n),设S(i,j)S(i,j)为i到j之间的两两数的绝对值最小值,求S(l,r)∗(r−l)S(l,r)*(r-l)(r-l+1>=k)的最大值。 Solution 设K为选K个数, 先想一下枚举K怎么做,很显然要先求出S, 设f[i][j]为做到第i个,往前选j个,有DP:fi,j=min(fi−1,j−1,fi,j−1,|ai−ai−j+1|)f_{i,j

742
上一篇: 【UOJ 246】【UER #7】套路
下一篇: 【NOI2005】【JZOJ 2413】【BZOJ 1500】维护数列
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值