2024.10.10 总结

news/2024/10/10 14:28:28/文章来源:https://www.cnblogs.com/Mitishirube0717/p/18456261

A:

赛时发了什么疯非要来冲这题。

不妨计各种颜色的宝石为 0/1。

考虑记前缀和的最大值为 \(S_\max\),最小值为 \(S_\min\),于是总的限制为 \(|S_\max-S_\min|\leq k\)

考虑反向维护这个限制,即枚举一个 \(i\),然后钦定 \(i\leq S_\min\leq S_\max\leq i+k\),计算对应的序列个数。然后考虑一个实际差值为 \(\Delta=|S_\max-S_\min|\) 的序列,会被统计 \(k-\Delta+1\) 次。记 \(calc(k)\) 为上述过程计算出的序列个数,于是有最终答案为 \(calc(k)-calc(k-1)\)

考虑 \(calc(k)\) 如何计算。考虑把一个 \(0\) 看做是在平面直角坐标系上让 \(x\) 坐标 \(+1\),一个 \(1\) 为让 \(y\) 坐标 \(+1\),于是问题转化为,从 \((0,0)\) 出发,任意时刻在 \(y=x+i\)\(y=x+i+k\) 之间,每次可以向右或向上走一步,问走到 \(n\) 的方案数。

我们考虑条件为不能经过 \(y=x+i-1\)\(y=x+i+k+1\)。我们记一次经过第一条直线的事件为 \(A\),第二条直线为 \(B\),我们考虑对形如 \(AABABBBA\cdots\) 的前缀做容斥。

我们把所有 \(A\) 合并在一起,所有 \(B\) 合并在一起,变成 \(ABABA\cdots\),然后一次经过 \(A\) 可以用经典卡特兰容斥理解为沿着 \(y=x+i-1\) 翻折。

同理 \(AB\) 即为先沿着 \(y=x+i-1\) 翻折,再沿着 \(y=x+i+k+1\) 翻折,我们减去翻折了奇数次的结果,加上翻折了偶数次的结果,即可得到最后答案。

B:

签到题目。

考虑到当前点最多从前一百个点转移(\(d_i\leq100\)),将式子放进矩阵里加速就行。

复杂度 \(\mathcal O(d^3 \ log k)\)

C:

没有这题。

D:

开场觉得是个简单扫描线,写完 A 之后发现假了,不过绑包了居然没爆蛋(?

题解说这才是签子,没看出来。

不过正解还是扫描线。

考虑对每种活动区间 \([l,r]\) 增加两维 \(l',r'\) 分别表示移除左边界挡板和右边界挡板之后的活动范围为 \((l',r)\)\((l,r')\)。那么两个区间 \((l_1,r_1,l_1',r_1')\),\((l_2,r_2,l_2',r_2')\) 能够同时坐人当且仅当 \(l_1\ge r_2'\)\(l_2'\ge r_1\)

由于不同的区间最多只有 \(4n\) 个,于是可以直接扫描线+set 维护找到。将所有区间按 \(r'\) 排序,记录 \(f_i/g_i\) 表示考虑了前 \(i\) 个区间,此时最多能坐多少人,并且在坐最多人的基础上最小的 \(r\),那么对于某个区间 \((l,r,l',r')\) 有转移:

\[(f_{r'},g_{r'})\gets(f_{l}+1,r)\ \text{if}\ (g_l\le l')\\ (f_i,g_i)\gets (f_{i-1},g_{i-1}) \]

时间复杂度 \(\mathcal O(n\log n)\)


然后就去体活了(喜,但是打球的时候很饿所以恼了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/811080.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-9-28

新闻周刊2024.9.28 导入:建立"定点医药机构相干人员"实行驾照式经分 传统监管机构将从医药机构进一步精确到人的进步,让少部分违规人员收到更加严厉的处罚防止医保滥用,让违规者付出应有代价,确保医保资金真正惠民,让所有人都共同收益. 视点:秋收"惠农"时农…

实验作业2

任务1 源代码#include <stdio.h> #include <stdlib.h> #include <time.h>#define N 5 #define N1 397 #define N2 476 #define N3 21int main() {int cnt;int random_major, random_no;srand(time(NULL)); // 以当前系统时间作为随机种子cnt = 0;while(…

# Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题

Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题嗯,这么说呢,这篇博文看自己的实际需求哈,标题写的可能不是很准确。 我这边呢,是遇到这样一个功能,就是有一个服务,他是的页面呢,是打开电脑的摄像头,需要在cocos 程序里面呢,展示摄像头的实时画面。看上去挺简单…

Leetcode 864. 获取所有钥匙的最短路径

1.题目基本信息 1.1.题目描述 给定一个二维网格 grid ,其中:‘.’ 代表一个空房间 ‘#’ 代表一堵墙 ‘@’ 是起点 小写字母代表钥匙 大写字母代表锁我们从起点开始出发,一次移动是指向四个基本方向之一行走一个单位空间。我们不能在网格外面行走,也无法穿过一堵墙。如果途…

Hello-Java-Sec 项目 (代码审计)

一、项目背景: Hello-Java-Sec项目为 Github中 一个面向安全开发的 Java漏洞代码审计靶场。 靶场地址:https://github.com/j3ers3/Hello-Java-Sec 本地使用idea部署即可二、代码审计: 通过阅读代码可知,代码采用 @RequestMapping 注解的方式来处理 HTTP不同方法的请求,故…

【原创】微信自动回复工具(下篇)

全文 离第一篇文章已经不知不觉过去3年多了,这段时间有空重新重构了一套消息回传模式,工具介绍官网: → → http://message.fuyue.xyz/ ← ← 视频演示: 观看视频 功能列表 本微信助手工具目前已经实现如下功能:接收微信好友消息 接收微信群组消息 接收系统消息(添加好友…

基于模糊神经网络的移动机器人路径规划matlab仿真

1.程序功能描述基于模糊神经网络的移动机器人路径规划 1.环境地图中的障碍物为静态、未知障碍物,可以随机设置。(一般设置5~7个,为计算简便设置成规则性状的障碍物) 2.机器人的行进方向为X轴的正方向,X轴逆时针旋转90即为Y轴。两驱动轮之间的距离为50cm,驱动轮的直径为30…

实验二

任务一 源代码1 #include <stdio.h>2 #include <time.h>3 4 #define N 55 #define N1 3976 #define N2 4767 #define N3 218 int main(){9 10 int random_major,random_no; 11 int cnt; 12 srand(time(NULL)); 13 14 cnt=0; 15 whil…

记录一次本地安装AI ollama大模型数据对话 的经历

浏览器打开 Ollama官网 下载对应的版本,我这里下载的 是对应 windows的版本,下载后直接运行安装安装完成后 打开 dos控制台,win+r,cmd那个,输入ollama 如果显示如下截图内容,就说明安装成功了,接下来就是下载 具体的 大数据库了 安装大模型前,建议先修改环境变量,因…

APP应用分发多个步骤和策略过程,如何进行app应用分发?

进行APP应用分发是一个涉及多个步骤和策略的过程,以下是对该过程的详细解析: 一、前期准备应用程序准备:开发人员需要确保应用程序已经经过完整的测试和质量保证,包括功能测试、用户体验测试、性能测试等,以确保其稳定性和可靠性。 打包应用程序,将开发完成的APP进行编译…

利用 ACME 实现SSL证书自动化配置更新

SSL 证书自动化最近收到腾讯云的通知SSL证书要到期了,本想直接申请的发现现在申请的免费SSL证书有效期只有90天了,顺便了解了一下原因是包括Google在内的国际顶级科技公司一直都有在推进免费证书90天有效期的建议,免费证书加密等级低,难以应对今天日益复杂的网络环境,90天…

arm imx6ull docker启动失败问题查找与解决 内核配置相关

arm imx6ull docker启动失败问题查找与解决 内核配置相关1、增加POSIX Message qeue:could not get initial namespace: no such file or directory CONFIG_POSIX_MQUEUE=y 2、增加namespace failed to set to initial namespace CONFIG_NAMESPACES=y 3、创建网络失败,veth配…