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

U604938 你不准卡 O(n sqrt n log L) 其中 L log L = sqrt n

U604938 你不准卡 O(n sqrt n log L) 其中 L log L = sqrt n

如题目所言,这道题的出现就是为此,所以不要说什么 wyy。

首先是空间上卡掉了 \(n\sqrt n\) 空间的做法,然后因为值域限制卡掉了回滚莫队(也许只是我菜才不会写?)。总之再有什么我也没法了,就这样。

如果你要卡常

请确保您是 \((O(n\sqrt n \log L),其中L \log L = \sqrt n)\) 或更优的复杂度!!!

  1. inlinestatic,快读。
  2. 莫队奇偶性排序。
  3. 读入大数字用 scanf 比快读快。
  4. 少写函数,哪怕 inline,都扔主函数里(我是错误示范,upqry 都是可以扔的)。
  5. 数组的定义顺序和数组大小也会影响时间。
  6. 不行就抄吧,也许是码风问题。

正文

首先这是个区间问题显然可以用莫队来做,然后就是要维护区间特定值域内最小众数,按理来讲有很多办法可以维护,但是就是要用线段树!!!

考虑用权值线段树,维护每一个值出现的次数,然后维护最大次数以及其值,结合动态开点显然可以做到 \(O(\log V)\) 的修改和查询。

但是过不了呢!

考虑离散化,这个也显然,可以做到 \(O(\log n)\) 的修改和查询。

还是过不了呢!!

考虑到查询很少,修改很多,可以稍微平衡一下两者,对值域分块,每一个块使用一个线段树维护,可以做到 \(O(\log \sqrt n)\) 修改,\(O(\sqrt n)\) 查询,已经很优秀了的!

就是过不了哦!!!

我所追求的,是真正的平衡;(好中二,算了)
显然修改次数是 \(n\sqrt n\) 的,查询次数是 \(n\) 的,上一步我们已经平衡了一部分,但是还不够,设值域分块中线段树的长度为 \(L\),容易得到两种操作的总复杂度分别为 \(O(n\sqrt n \log L)\)\(O(n\frac nL)\),强行将两者调平,得到 \(L\log L=\sqrt n\) 时复杂度最优秀。

不过,这依然无法!……好吧过了。(原来是过不了的,后来仁慈了)

其实不要仅停留在理论,两个式子是有着隐藏的系数的,没错,就是常数。大概是这样的 \(O(n\sqrt n \log L \times (线段树大常数))\)\(O(n\frac nL \times(分块跑不满小常数))\),所以显然 \(L\) 要比上面理论算出来的要更小一些才行。

最后再来重申一遍我们的复杂度!!!

\(\Large O(n\sqrt n \log L),其中(L \log L = \sqrt n)!!!\)

代码

// code by 樓影沫瞬_Hz17
#include <bits/stdc++.h>
#define en_ putchar_unlocked('\n')
#define e_ putchar_unlocked(' ')
using namespace std;
inline int in() { int n = 0; char p = getchar_unlocked();while (p < '-') p = getchar_unlocked();bool f = p == '-' ? p = getchar_unlocked() : 0;do n = n * 10 + (p ^ 48), p = getchar_unlocked();while (p >= '0');return f ? -n : n;
}
inline int in(int &a) { return a = in(); }
inline void out(int n) {if(n < 0) putchar_unlocked('-'), n = -n;if(n > 9) out(n / 10);putchar_unlocked(n % 10 + '0');
}
constexpr int N = 2e5 + 10, B1 = 400, B2 = 60;
using pii = pair<int, int>;int ls[N * 4], rs[N * 4], mx[N * 4], id[N * 4];struct Query {int l, r, L, R, id;
} q[N];int a[N], hs[N], pos1[N], pos2[N];int rt[3010], L[3010], R[3010], cnt, n, cntv;inline void build(int &u, const int l, const int r) {u = ++ cnt;if(l == r) { id[u] = l;return;}int m = (l + r) >> 1;build(ls[u], l, m);build(rs[u], m + 1, r);mx[u] = mx[ls[u]], id[u] = id[ls[u]];
}inline void up(int u) {if(mx[ls[u]] >= mx[rs[u]]) {mx[u] = mx[ls[u]], id[u] = id[ls[u]];return;}mx[u] = mx[rs[u]], id[u] = id[rs[u]];
}inline void update(const int u, const int l, const int r, const int p) {if(l == r) {++ mx[u];return;}int m = (l + r) >> 1;if(p <= m) update(ls[u], l, m, p);if(p > m) update(rs[u], m + 1, r, p);up(u);
}inline void reduce(const int u, const int l, const int r, const int p) {if(l == r) {-- mx[u];return;}int m = (l + r) >> 1;if(p <= m) reduce(ls[u], l, m, p);if(p > m) reduce(rs[u], m + 1, r, p);up(u);
}inline pii query(const int u, const int l, const int r, const int L, const int R) {if(L > r || l > R) return {0, 0};if(L <= l and r <= R) return {mx[u], id[u]};int m = (l + r) >> 1;pii t1 = query(ls[u], l, m, L, R), t2 = query(rs[u], m +1, r, L, R);return t1.first >= t2.first ? t1 : t2;
}int ans[N];inline int qry(int l, int r) {int ql = pos2[l], qr = pos2[r], MX = 0, ID = 0;if(ql != qr) {pii t = query(rt[ql], L[ql], R[ql], l, R[ql]);if(t.first > MX) MX = t.first, ID = t.second;for(int i = ql + 1; i < qr; i ++) if(mx[rt[i]] > MX) MX = mx[rt[i]], ID = id[rt[i]];t = query(rt[qr], L[qr], R[qr], L[qr], r);if(t.first > MX) MX = t.first, ID = t.second;}if(ql == qr) {pii t = query(rt[ql], L[ql], R[ql], l, r);if(t.first) ID = t.second;}return ID;	
}signed main() {#ifndef ONLINE_JUDGE freopen("5.in", "r", stdin);freopen("5.out", "w", stdout);#endifin(n);for(int i = 1; i <= n; i ++) hs[i] = in(a[i]);for(int i = 1; i <= n; i ++) in(q[i].l), in(q[i].r), in(q[i].L), in(q[i].R), q[i].id = i, pos1[i] = (i - 1) / B1 +1;for(int i = 1; R[i - 1] != n; i ++) {L[i] = (i - 1) * B2 + 1, R[i] = min(i * B2, n);for(int j = L[i]; j <= R[i]; j ++) pos2[j] = i;build(rt[i], L[i], R[i]);}sort(q + 1, q + 1 + n, [](const Query &a, const Query &b) { return pos1[a.l] == pos1[b.l] ? pos1[a.l] & 1 ? a.r < b.r : a.r > b.r : pos1[a.l] < pos1[b.l];});sort(hs + 1, hs + 1 + n);int len = unique(hs + 1, hs + 1+ n) - hs - 1;for(int i = 1; i <= n; i ++) {a[i] = lower_bound(hs + 1, hs + len + 1, a[i]) - hs;q[i].L = lower_bound(hs + 1, hs + len + 1, q[i].L) - hs;q[i].R = lower_bound(hs + 1, hs + len + 1, q[i].R) - hs;}for(int i = 1, l = 1, r = 0; i <= n; i ++) {while(l < q[i].l) reduce(rt[pos2[a[l]]], L[pos2[a[l]]], R[pos2[a[l]]], a[l]), ++ l;while(l > q[i].l) -- l, update(rt[pos2[a[l]]], L[pos2[a[l]]], R[pos2[a[l]]], a[l]);while(r < q[i].r) ++ r, update(rt[pos2[a[r]]], L[pos2[a[r]]], R[pos2[a[r]]], a[r]);while(r > q[i].r) reduce(rt[pos2[a[r]]], L[pos2[a[r]]], R[pos2[a[r]]], a[r]), -- r;ans[q[i].id] = qry(q[i].L, q[i].R);}for(int i = 1; i <= n; i ++) {if(!ans[i]) putchar_unlocked('-');if(ans[i]) out(hs[ans[i]]);en_;}
} 
// 星間~ 干渉~ 融解~ 輪迴~ 邂逅~ 再生~ ララバイ~

相关文章:

U604938 你不准卡 O(n sqrt n log L) 其中 L log L = sqrt n

U604938 你不准卡 O(n sqrt n log L) 其中 L log L = sqrt n 如题目所言,这道题的出现就是为此,所以不要说什么 wyy。 首先是空间上卡掉了 \(n\sqrt n\) 空间的做法,然后因为值域限制卡掉了回滚莫队(也许只是我菜才不会写?)。总之再有什么我也没法了,就这样。 如果你要卡…...

20250906

20250906T1 推倒骨牌 多维护几个东西就能直接倍增了。不要开 long long。代码 #include <iostream> #include <algorithm> #include <string.h> #define lowbit(x) ((x) & (-(x))) using namespace std; int n, q; struct BIT {pair<int, int> bi…...

【2025最新推荐】AI大模型API中转站 | 国内直连ChatGPT/Claude/Gemini全系API接口服务

作为一名开发者,你是否曾为了使用ChatGPT、Claude等AI模型而苦恼?网络问题、支付困难、成本昂贵...这些痛点让很多国内开发者望而却步。今天给大家推荐简易API中转站,解决这些问题。 1.什么是API中转站? API中转站是专为国内开发者打造的AI模型API中转服务平台。简单来说,…...

在用灵魂去感受另一个灵魂的震颤

【用灵魂去感受另一个灵魂的震颤】...

html怎么写

html 1. 基本结构 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title></title> <bod…...

谁拿了谁的伞?

我:要去上课了,哎,不想去上课,我想在工位带着。算了,还是去吧。我的伞放在工位门口左边,光线很黑,拿错了雨伞,拿成了学长的雨伞去上课。一到教室,刚坐下,老师就开始说,不让坐最后一排啊,你们几个快做前面去,然后我就拿着我的伞坐到了前面。这课是真无聊,我准备上…...

NSSCTF-misc

签到 用emoji-aes解码,key为GAME ☀☺⏩☺⌨☂☃✅ 得到flag{10ve_4nd_Peace} GIF有点大GETwbStego4open 隐写 首先,wbStego4open会把插入数据中的每一个ASCII码转换为二进制形式 然后,把每一个二进制数字再替换为十六进制的20或09,20代表0,09代表1 最后,将这些被转换后的…...

百粉粉福

应机房某人要求,说要搞一个百粉粉福,决定先做一个 \(Q&A\) ,其它的请各位想想可以做什么别的粉福。 \(Q&A\) 可以直接回复这篇帖子或直接私信我,到时候会发到你谷主页,文章跟博客园,支持一下呗QwQ \(Q&A\)Q:瑞平我 @Misty_PostA:感觉是非常可爱的学弟,平时…...

lc1024-视频拼接

难度:中等(中期)题目描述给定一些区间和一个数字 time,找到能覆盖 [0, time] 的最少区间数示例 输入:clips = [[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]], time = 10 输出:3 解释:选 [0,2], [8,10], [1,9]输入:clips = [[0,1],[1,2]], time = 5 输出:-1 解释:找不到返回…...

多元统计分析1

多元统计分析1 大三开始学习多元统计分析,首先使一些预备知识,基本是就是一些高代,数分,概率论的有些难度的知识。我个人觉得这些知识还是有难度的,尤其是距离高代已经过去了一年时间了。 概率论这里就是一些随机变量的均值,方差的性质。由于涉及到了多变量的协方差矩阵一…...

OI界的梗

%%% 在C++“%”是取模的意思,简称模,是膜拜大佬的意思(%越多,语气越强) 蒟蒻 他本是一种可以吃的植物(就是魔芋),可是因为他谐音“巨弱”,所以,他被用作自嘲,但没人会说别人是蒟蒻的,这是一种基础礼仪 神犇(读ben(第一声))、巨佬 神犇是大牛的升级版 巨佬是大佬…...

202404_QQ_ZIP嵌套

ZIP,嵌套Tags:ZIP,嵌套 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202404_QQ_ZIP嵌套.zip 0x01. WP打开txt文件发现文件头为504b0304 导入到010Editor另存为tmp.zip 打开tmp.zip发现里面是另一个txt 打开…...

无重复字符的最长子串-leetcode

题目描述给定一个字符串 s ,请你找出其中不含有重复字符的 最长 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子…...

两个常见的 计数问题 trick

两个非常有用的计数 trick,虽然感觉比较典。 计数转 01 有一件事情:\(v=\sum_{i=1}^V [v \geq i]\),\(V\) 为值域。看着好像没有什么突破性的转变,但是当我们对很多东西进行统计的时候,如果对于 有多少个大于等于 某个值 \(v\) 是好做的话,那么我们就可以做这个转化:\(\…...

搜维尔科技:Xsens人形机器人拟人动作AI训练,提升机器人工作精度与效率

随着人工智能与机器人技术的深度融合,人形机器人正从实验室走向工业制造、医疗护理、公共服务等真实场景。然而,要让机器人真正"像人类一样工作",其动作的流畅性、精准度与环境适应性仍是技术突破的关键。Xsens动作捕捉系统通过创新的拟人化动作AI训练方案,为机器…...

文件轮转机制

文件轮转机制 基于文件的持久化队列(File-based Persistent Queue),利用 双文件切换(Double Buffering / File Rotation) 来保证批处理、高效写入、并发安全。 方法主要实现的机制双文件切换(Double Buffering / File Rotation) • 通过 inputFile(正在写的新数据) 和…...

202110_绿盟杯_隐藏的数据

ZIP,伪加密,密码爆破,DOCX文件Tags:ZIP,伪加密,密码爆破,DOCX文件 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202110_绿盟杯_隐藏的数据.zip 0x01. WP 01 打开压缩包,发现有word文件和zip文件,得到flag1…...

【初赛】图 - Slayer

欧拉图 在图论中,欧拉路径是经过图中每条边恰好一次的路径,欧拉回路是经过图中每条边恰好一次的回路。 如果一个图中存在欧拉回路,则这个图被称为欧拉图;如果一个图中不存在欧拉回路但是存在欧拉路径,则这个图被称为半欧拉图。 对于连通图 G,以下三个性质是互相等价的: …...

线上课

反射反射就是在程序运行时 获取到类的信息(成员变量 成员方法 构造方法) 并操作对象的属性和方法 获取class对象就可以拿到类的信息 获取class对象Class.forName(全类名) 类名.class 对象.getClass字节码是唯一的 无论哪种方式获取 都是同一个class对象当通过反射拿到的构造…...

弹窗、抽屉、当前页和新开页,到底怎么选? - 智慧园区

弹窗、抽屉、当前页、新开页,看似只是交互容器的选择,实则关乎信息密度、操作路径与用户心智的精准匹配。本文从B端产品的真实场景出发,拆解四种容器的使用逻辑与适配原则,帮助产品经理构建更清晰的设计判断框架。在B端产品的设计实践中,你是否曾面临过以下的灵魂拷问?你…...

POJ 2566 Bound Found

题面描述: 美国航空航天局(该机构似乎正经历叛逆期:"我就要用英尺,才不用米呢!")接收并数字化了极可能来自地外文明的信号。每个信号包含两部分:一个由n个整数值组成的序列和一个非负整数t。虽然细节不便透露,但研究人员发现信号编码了两个整数值。这两个值可…...

搜维尔科技:Haption触觉力反馈系统,沉浸式远程呈现、数字孪生、混合现实和移动远程机器人

为您的项目提供技术和经验 自2001年以来,HAPTION力反馈设备已被用于广泛的研究应用。 您是否希望在您的项目中使用HAPTION力反馈设备 您是否正在寻找国内厂商来申请新项目 增强人机交互-远程操作,实现人机交互 图片 图片 通过最先进的社交、视觉、触觉、音频和嗅觉技术的出色…...

飞书免费企业邮箱推荐

1、品牌背书:成长技术最快的企业,稳定性拉满 对于中小企业而言,一款稳定、安全且免费的企业邮箱,不仅能降低运营成本,更能提升团队沟通效率。飞书作为字节跳动旗下的协同办公平台,其推出的免费企业邮箱服务,凭借 “零成本、强协同、高安全” 的特点,成为越来越多企业的…...

CF1140F Extending Set of Points

还是比较好想的一个题。 首先你这个 \((x, y)\) 看着就很像连边关系,这是很重要的一步,一般这种二元关系都可以想着上图。 然后你发现,所谓的扩展不过就是在能加上边的地方都加上边,就是一个连通块都连满了。 这个时候注意到原图是一个二分图,能加的边不过就是所有左部点向…...

Lark免费企业邮箱推荐

Lark是飞书的国际版 Lark(飞书)的免费企业邮箱是中小型团队高效协作的理想选择,尤其适合追求低成本、高集成度的企业。以下是基于最新功能和用户反馈的深度推荐:一、核心功能与优势免费版基础能力全面无广告纯净体验:不同于部分免费邮箱,Lark 免费版全程无广告干扰,专注…...

CMP 40HX在PVE9.0配置vGPU

在PVE9.0下CMP 40HX使用NVIDIA vGPU19.0显卡虚拟化拆分技术 本文参考文章:https://yangwenqing.com/archives/2729/最近看了很多vGPU的文章,心里面痒痒,就想搞一块矿卡来玩玩。在选择方面考虑了P106-100、CMP 30HX 、CMP 40HX,最终选则了CMP 40HX。 如果你需要玩vGPU,百元…...

耶日奈曼:置信区间与假设检验的奠基者

img { display: block; margin-left: auto; margin-right: auto } table { margin-left: auto; margin-right: auto } 在20世纪统计学的发展历程中,耶日奈曼(Jerzy Neyman, 1894–1981)无疑是一位具有里程碑意义的人物。他不仅在理论层面上为数理统计学奠定了严格的推断体系…...

尚硅谷后台管理系统

尚硅谷后台管理系统商品添加业务逻辑添加品牌,是新的数据 请求url中,可以将添加品牌和编辑品牌放在同一个函数中,根据data.id判断是否是新数据<el-uploadclass="avatar-uploader"action="/api/admin/product/fileUpload":show-file-list="false…...

Web语音聊天室中录音无声问题分析与解决方案

问题背景 在开发Web端语音聊天室时,我们使用了声网RTC实现实时语音通信,同时需要在前端实现本地录音功能。在实际应用中,发现偶尔会出现录制的音频文件有时长但没有声音的问题。 问题现象聊天室正常使用声网RTC进行语音通信 前端使用原生JS的MediaRecorder API进行录音 录制…...

25.9.11随笔联考总结

考试 开考通读题面,感觉题目有点难啊。最后还是决定顺序开题。想了 5 min 确定 T1 是暴力容斥于是直接写,感觉要处理的东西不少,写了快半小时写了 3+KB。大样例没过,那我不炸了?唉清空数组的时候有个东西漏了,改了就过了。还真没炸。T2 感觉挺神秘的,我看了一眼会了暴力…...

sites(legal - Gon

杂(去除了一些应被和谐的**g++ new.cpp -o new && ./newtaskkill -f -im studentmain.execode ~/.bashrc alias clock=cd /home/gon_tata/下载/code && ./clock # source ~/.bashrchttps://www.cnblogs.com/zouwangblog/p/11541835.html //theme https://cn…...

vue3 使用 i18n-auto-extractor库 实现国际化

一、安装:npm i i18n-auto-extractor 二、更新国际化:npx i18n-auto-extractor;需要手动更新,会在文件中生成以下文件,也可以手动对文件翻译进行更改三、使用: import { $at } from "i18n-auto-extractor"; $at(nav.meta?.title || "");四、切换: …...

[题解]CF1404B Tree Tag

CF1404B Tree Tag ~ Codeforces 我们发现,若 \(db\le 2\times da\),则说明 Bob 不能跳到 Alice 控制范围的另一侧,只能被 Alice 不断逼近到某个叶子节点,从而输掉。 不过有些情况下,Bob 的最大移动距离不是 \(db\)。因为其移动会受制于树上最长的路径,即直径 \(D\)。 所以…...

20231314许城铭课上测试:Linux命令实践(AI)

ls:列出当前目录的文件和文件夹。 ls -l:以详细格式列出(显示权限、所有者、大小等)。 ls -a:列出所有文件,包括隐藏文件(以 . 开头)。ls -lh:以易读的格式(如 KB、MB)显示文件大小。 ls /home:列出指定目录(如 /home)的内容。 ls -t:按修改时间排序列出。 ls -…...

解决推理能力瓶颈,用因果推理提升LLM智能决策

从ChatGPT到现在的智能体AI这个跨越说明了一个关键转变。ChatGPT本质上是个聊天机器人,生成文本回应;而AI智能体能够自主完成复杂任务——销售、旅行规划、航班预订、找装修师傅、点外卖,这些都在它的能力范围内。 目前我们解决用户任务时,主要是让大语言模型(LLM)做任务…...

reLeetCode 热题 100-3 最长连续序列 - MKT

reLeetCode 热题 100-3 最长连续序列 自己 版本吧1 不合格 class Solution { public:int longestConsecutive(vector<int>& nums) {if (nums.empty()) return 0;//1 数组排序// 2 遍历 i 0-(length(num)-1)// num[i+1]-num[i]==1 创建map 添加到后面// 否则单独创…...

123

测试测试...

pdf在纯html5移动端下不显示

需要使用pdf.js插件 https://github.com/mozilla/pdf.jshtml部分<div class="pdf-container"><div class="viewer"><div class="loading text-center mb-4" id="loading">正在加载PDF文档...</div><div cl…...

面试记录

京东一面 1、leedcode俩个一组反转链表 2、介绍项目实时核算说说有啥技术难点 3、AOP用的多不多 4、反射对jvm的影响? 5、redis为啥很快 6、线程池参数,有一个任务阻塞了,再来一个线程 参数是cool 1 max 2 queue 1 7、mysql 索引 abc 是否走索引 覆盖索引 8、分布式id算法 携程…...

GitHub Copilot 代码评审:用于自动评审的独立存储库规则

GitHub Copilot 代码评审:用于自动评审的独立存储库规则现在可以使用自己的独立存储库规则启用自动 Copilot 代码评审。它今天普遍可供 Copilot 用户使用大家好,欢迎来到程序视点!我是你们的老朋友.小二! 现在可以使用自己的独立存储库规则启用自动 Copilot 代码评审。它今…...

树套树

P3380 【模板】树套树 这里采取的是线段树套平衡树(FHQ) 考虑树套树可以解决类似于在两维区间限制类似操作的问题 把线段树上每个节点维护一颗平衡树,维护的方法也非常简单,发现只要知道root,就能够访问平衡树,非常简单 考虑每个节点会被添加log次,所以平衡树要 nlogn 个…...

复制R包

复制R包点击查看代码for dir in $(ls /upan/project1/library/ ); doecho "$dir"[ ! -d "/root/miniconda3/envs/Rdoc/lib/R/library/$dir" ] && cp -r "$dir" /root/miniconda3/envs/Rdoc/lib/R/library/; done...

【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 invalid time interval input

问题描述 在使用 Java 代码调用虚拟机(VM)API获取指标数据时,出现时间格式解析错误。 错误信息:{ "code": "BadRequest", "message": "Detected invalid time interval input: 2024-03-13T13:33:05.123 15:00/2024-03-13T13:48:05.…...

小记基环树上的最大独立集

今天又一次碰到了这个问题,上一次是 [ZJOI2008] 骑士,这一次是 城市环路。 记录一下这个问题怎么搞。 我们选择把这个问题转化为在一棵正常的树上边做正常的最大独立集,同时有环上的两个相邻点 \(S,T\) 被规定不能选择相同的。 我们断掉 \(S,T\) 之间这一条边,选择在 \(S,T…...

张量链式法则(上篇):任意维度反向传播公式推导与常见算子解析

本文为常用算子反向传播公式的上篇,介绍了适用于任意张量函数的链式法则公式,使用该公式可以求出诸如reshape,broadcast_to这类会改变张量维度数量的算子的反向传播公式。本文同时给出了求常见算子反向传播公式的通用方法,并以几个简单的算子为例进行了演示。 本系列文章的…...

GAS_Aura-Aura Input Component

1...

CF739C Alyona and towers

比较套路的一个题。 首先你先想 DP 怎么做。 设 \(f_{i, 0/1}\) 表示到了 \(i\) 目前正在上升还是正在下降最长长度是多少,不难发现这个只和相邻两个数的大小关系有关。 发现区间加并不影响区间内相邻大小关系,只影响交界处的关系,所以这是一个单点改。 我们用一个矩阵维护 …...

bitset 相关记录

这里记录有关 \(bitset\) 的一些知识点和实用技巧。 可以引起 \(O(\frac{n}{w})\) 优化的原理和操作:原理:\(bitset\) 内置 \(long long\) 类型数组,每一位是一个 \(bit\)。因此实际操作时,若操作 \(n\) 位,则相当于只是对 \(\frac{n}{64}\) 个 \(longlong\) 类型的数字操…...

大学生开始学习编程

第一篇blog 各位厉害的编程大神们你们好呀! 我现在刚上大二,算法分析与设计老师要求我们开通这个网站的博客,然后在这个论坛学习。在很多帖子我看见很多人悉心请教,也有很多大佬乐于解答,是个氛围很好的社区呢!以后我会偶尔在这个网站上发博客,主要是关于我的近期学习成…...

2025京东方全球创新伙伴大会隆重举行 AI焕新驱动产业质变跃迁

9月11日,以“屏之物联 AI焕新”为主题的京东方全球创新伙伴大会2025(BOE IPC 2025)在北京中关村国际创新中心盛大开幕。作为BOE(京东方)面向全球显示及物联网生态合作伙伴举办的第八届行业盛会,本届IPC大会延续IPC WEEK的形式,呈现了十余场专业论坛以及投资者活动、电竞…...