NBUT 1457 Sona (莫队算法)

声卡疑难杂症终极解法:恢复出厂设置原理与全流程操作指南 在音频接口与计算机系统的交互中,驱动冲突、固件异常和配置错乱是导致设备工作不稳定的常见技术根源。其核心原理在于,现代声卡作为集成了DSP和存储芯片的微型计算机,用户配置和配对信息会写入其内部非易失性存储器,累积的软错误可能引发杂音、无声或连接故障等“玄学”问题。从技术价值看,相较于仅重置操作系统驱动的常规方法,执行恢复出厂设置能直接清除设备本体的异常状态,是解决深层软件兼容性问题的有效手段。这一操作尤其适用于外置USB声卡和高端内置声卡在经历非常规断电、错误配置后出现的顽固性故障。本文聚焦于通过硬件组合键复 阅读详情

题意:

给你n个数字,q个询问,问[l,r]的价值,价值是每个数字出现次数的立方和

思路:

很基础的莫队,可是,这个oj有点毒
首先对于[l,r],我们转移为[l,r+1]的时候,只要加上去cnt[id[arr[r]]]3即可,其他的转移也很类似,也很好想,就不多说了。但是要注意这里需要离散化,并且不能直接用map,vector直接调用,要用id数组记录下id,否则会T

错误及反思:

其实上面的都是废话,因为这就是个莫队模板题,但是!这个OJ是真的毒,首先不能用bits/stdc++.h,而且sqrt()必须在math.h里面才可以,不能是cmath,还有就是要用I64d输出,不能用lld,而且返回的错误有时候有点偏差。。

代码:

2781ms:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<math.h>
#include<vector>
using namespace std;
const int N = 501000;
int id[N],pos[N],n,m,arr[N];
long long ans[N];
long long cnt[N];
long long now=0;
vector<int> v;
struct Q
{
    int l,r,id;
}q[N];
int getid(int x){return lower_bound(v.begin(),v.end(),x)-v.begin();}
bool cmp(Q a,Q b)
{
    if(pos[a.l]!=pos[b.l])
        return a.l<b.l;
    return a.r<b.r;
}
inline void gx(int y,int x)
{
    now-=1ll*cnt[y]*cnt[y]*cnt[y];
    cnt[y]+=x;
    now+=1ll*cnt[y]*cnt[y]*cnt[y];
}
int main()
{
    while(scanf("%d",&n)!=EOF)
    {
        memset(cnt,0,sizeof(cnt));
        now=0;
        int block=sqrt(n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&arr[i]);
            pos[i]=i/block;
            v.push_back(arr[i]);
        }
        sort(v.begin(),v.end()),v.erase(unique(v.begin(),v.end()),v.end());
        for(int i=1;i<=n;i++)
            id[i]=getid(arr[i]);
        scanf("%d",&m);
        for(int i=0;i<m;i++)
        {
            scanf("%d%d",&q[i].l,&q[i].r);
            q[i].id=i;
        }
        sort(q,q+m,cmp);
        int l=1,r=0;
        for(int i=0;i<m;i++)
        {
            for(;l<q[i].l;l++)  gx(id[l],-1);
            for(;l>q[i].l;l--)  gx(id[l-1],1);
            for(;r<q[i].r;r++)  gx(id[r+1],1);
            for(;r>q[i].r;r--)  gx(id[r],-1);

            ans[q[i].id]=now;
        }
        for(int i=0;i<m;i++)
            printf("%I64d\n",ans[i]);
    }

}
【Cadence软件技巧集萃】从Capture到Allergo——分布演示从原理符号导出到网络表 Cadence软件功能多样、性能强大,但是使用起来颇费步骤,尤其是从原理图到网络表的导入步骤,没有经过上手实践还真不一定一次就能搞定哩。本文笔者用将分步演示:1、在Capture软件上绘制原理图;2、将原理图导出网络表;3、在Allergo软件上更新网络表;希望给予使用Cadence的读者有效的帮助1、本文简述了建立Capture项目的步骤,演示了调用元件符号库的方法,并绘制了电气原理图;2、针对加载元件封装库可能遇到的问题,做了排查步骤建议; 阅读详情

相关推荐

解决鸿蒙/荣耀设备GMS应用调试中的“Play保护机制认证”报错

本文详细解析了在鸿蒙或荣耀设备上调试GMS应用时,遇到“Play保护机制认证”报错的根本原因与解决方案。核心在于获取设备的GMS Device ID,并通过Google官方渠道完成临时注册,从而绕过认证限制。文章提供了无需Root和ADB查询两种具体方法,并分享了授权后的故障排查与实战经验,帮助开发者高效解决问题。

weixin_29288313的博客 300

NBUOJ题解

简单的回顾了一下一年以来的OJ题库,完善补充了一些变化的题目,还是站在巨人的肩膀上。

afdsafasdzxc的博客 1万+

【数据集处理】DroneVehicle数据集处理方法

DroneVehicle数据集由无人机采集的56,878张图像组成,其中一半是RGB图像,其余为红外图像。作者为这五个类别制作了带有定向边界框的丰富注释。

qq_44102942的博客 5047

NBUT - 1457 Sona (莫队算法)

NBUT - 1457 Sona (莫队算法) 问题描述 Sona, Maven of the Strings. Of cause, she can play the zither. Sona can't speak but she can make fancy music. Her music can attack, heal, encourage and enchant. There're an ancient score(乐谱). But because it's too long, Sona can

Vmorish 413

利用AI辅助工具Codex在30分钟内高效生成发明专利说明书草案

Codex 是什么?简单说,它是 OpenAI 推出的一个高级 AI 工作平台,最初定位是软件开发辅助工具,但现在它的能力边界已经远远超出了写代码。根据 OpenAI 官方信息,每周有超过 500 万人使用 Codex,其中 40% 的新用户是非开发者,包括分析师、营销人员、研究人员等。这意味着 Codex 正在从一个程序员专属工具,演变为一个面向广泛知识工作者的生产力中枢。 那么,它和我们今天要谈的“写发明专利”有什么关系?核心在于 Codex 的“角色专属插件”和“上下文构建”能力。它不再只是根据零散的

weixin_29053067的博客 320

Unity Shader实战:用Matcap给你的低模角色快速换上‘次世代’材质(附完整Shader代码)

本文详细介绍了Unity中Matcap技术的实战应用,通过Shader代码实现低模角色的次世代材质表现。Matcap技术利用预烘焙光照贴图,显著提升材质质感同时保持极低性能消耗,特别适合移动游戏和独立开发。文章包含完整Shader代码、平面模型着色优化方案及动态环境反射增强技巧,帮助开发者快速提升低模视觉效果。

weixin_28718755的博客 385

NBUT OJ 1643 阶乘除法 打表

这道题一开始想错了。。想当然了。。。想着因为10!             大概是利用了阶乘的增长飞快的特点吧,因此打表的话,元素也不会很多,正是阶乘增长的飞快,所以在处理阶乘这一类问题的时候是比较考验技巧的。 #include #include #include using namespace std; const int inf=1000000000; map >ma;

Sion 739

Flutter 完整学习文档 - 从入门到精通

Widget 就像乐高积木,Flutter 中所有的东西都是 Widget。一个按钮是 Widget,一段文字是 Widget,甚至布局、边距、对齐方式也是 Widget!"万物皆 Widget"

zwjapple的专栏 2317

【NBUToj】1667 - Hkhv Loves Sequences(模拟,严格递增子串)

[1667] Hkhv Loves Sequences 时间限制: 1000 ms 内存限制: 65535 K 问题描述 Hkhv has a sequence a, consisting of n integers. We'll call a sequence ai,ai+1,...,aj (1 Your task is to find the longest subs

wyg1997 1357

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2470

Cadence PSpice 仿真0:绘制电路图方法图文教程

在使用PSpice进行电路的仿真时,首先需要使用带有PSpice模型的元器件来绘制电路图,本文简单介绍进行电路图绘制是常用的几种需要掌握的方法,以满足PSpice仿真绘制简单电路图所用。

fydar的博客 4705

Sona

Sona Sona,Maven of the Strings. Of cause, she can play the zither. Sonacan't speak but she can make fancy music. Her music can attack, heal, encourage and enchant. There're an ancientsco...

a8233821的博客 254

【NLP】第十五章:隐马尔可夫——前向算法、后向算法、维特比算法、Baum-Welch算法

就是好比我现在知道了观测序列Observations、掩藏序列States,我试着去学一个最优的(π, A, B),让在这个(π, A, B)下,观测序列Observations、掩藏序列States的概率最大。(2)矩阵B就更好理解了,矩阵B的第一行表示我已经抽取的是盒子1,那我抽取白球的概率就是0.4,抽取黑球的概率就是0.6了,因为第一个盒子只有4白6黑嘛。三是,由于每次抽取的小球的颜色的概率不仅取决于,小球所在的盒子中的黑白球的比例,还取决于你是从哪个盒子中抽的,所以其实观测序列还对应着一个。

因为热爱所以坚持 1162

NBUT 1457 Sona(莫队算法+离散化)

题目链接:点击打开链接 [1457] Sona 时间限制: 5000 ms 内存限制: 65535 K 问题描述 Sona,Maven of the Strings. Of cause, she can play the zither. Sonacan't speak but she can make fancy music. Her music can attack, heal, en...

pxlsdz的博客 502

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NBUT 1457 Sona 莫队算法 分块处理

[1457] Sona 时间限制: 5000 ms 内存限制: 65535 K 问题描述 Sona, Maven of the Strings. Of cause, she can play the zither. Sona can't speak but she can make fancy music. Her music can attack, heal,

G.D.Retop的专栏 1071

VC中sqlite的使用

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

NBUT 1457 Sona 莫队算法

题目:https://ac.2333.moe/Problem/view.xhtml?id=1457 题意:给定一个数组,然后给出一些询问区间,求区间内每个数出现次数的立方和 思路:莫队算法模板题。注意要离散化数据 #include #include #include #include #include #include using namespace std; typedef

弱智就要多努力 453

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

NBUT - 1457 Sona 莫队算法+离散化

题目链接:https://cn.vjudge.net/problem/NBUT-1457 题意:计算一个区间内,每种数 数量的三次方的和 题解:莫队算法走一遍即可,比较坑人的就是用sqrt(n*1.0)的时候要乘上1.0,否则就是CE死你 #include<iostream> #include<cstdio> #include<algorithm> #i...

还我笑颜 302

NBUT 1457 Sona (莫队算法)

题目大意: 求一段区间内 出现的数字的次数的三次方的和 思路分析: 这要水过去的题目真是难,各种优化。 不能用map , 要离散化之后 先处理lowerbound。优化输入。。。 时间卡的很紧。。 题目直接用莫队水过去。 如果你超时的话,不妨试试上面三种优化。 #include #include #include #include #include #in

Jinx Jinx again 1318

Sona - NBUT 1457 莫队算法

[1457] Sona 时间限制: 5000 ms 内存限制: 65535 K 问题描述 Sona, Maven of the Strings. Of cause, she can play the zither. Sona can't speak but she can make fancy music. Her music can attack, heal,

提比的强行AC 776

NBUT 1457 Sona(莫队算法)

题意: 给定N≤105的序列,Q≤105次询问给定N\le 10^5的序列, Q\le 10^5次询问 每次询问求[L,R]中每个数字出现次数的立方和每次询问求[L,R]中每个数字出现次数的立方和 分析: 离散化之后莫队模版题离散化之后莫队模版题 代码:// // Created by TaoSama on 2016-01-25 // Copyright (c) 2015 TaoS

TaoSama's Microcosm 667

莫队算法(NBUT1457 Sona)

如果一个问题可以简单地描述为:对于一个长度为n数组,给出m个查询,每个查询为区间[L,R]。。。。 显然,当l=1,r=n时该算法的时间复杂度为O(n^2),但是通过莫队算法改变查询的顺序,我们能够把时间复杂度降为O(n*√n),此处证明略去。 维护一个当前的左右端点currentL和currentR,表示当前查询到的位置,对于第i个查询区间[l,r]暴力地将currentL和currentR

ACMer_quack&cheer 485

NBUT1457 Sona 莫队算法

由于10^9很大,所以先离散化一下,把给你的这一段数哈希 时间复杂度O(nlogn) 然后就是分块莫队 已知[L,R],由于事先的离散化,可以在O(1)的的时间更新[l+1,r],[l,r+1],[l-1,r],[l,r-1]时间复杂度O(n*sqrt(n)); 代码如下,速度并不是很快(我比较喜欢手动的去重,unique一直没怎么用过) /*96655 's source...

weixin_30799995的博客 165

NBUT - 1457 Sona (莫队算法+简单离散化)

题目链接:https://vjudge.net/problem/38739/origin 题目表述: Sona,Maven of the Strings. Of cause, she can play the zither.Sonacan't speak but she can make fancy music. Her music can attack, heal, en...

aochan2391的博客 172
上一篇: BZOJ 3289 Mato的文件管理(莫队+线段树/树状数组)
下一篇: bzoj 2120 数颜色(可持久化莫队)
Roll_Keyboard
博客等级 码龄9年 10粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值