2/11考试总结
时间安排
7:30–7:50 读题,T1貌似是个 dp ,T2 数据结构,T3 可能是数据结构。
7:50–9:45 T1,点规模非常大,可以达到 1e18 级别,感觉应该没法直接做,考虑每条新增的边的贡献,想到用 vector 暴力维护一条边两边的集合大小。写完发现是个假的。仔细想了一下发现直接做就是对的,有用点比较少,可以直接用 map 暴力存,然后暴力做。
9:45–10:51 T2,对于 n 比较小的时候可以单调栈暴力做,容易发现每一个新增的 r 的贡献只和单调栈中的一段有关,且每一段对应一个函数关系,可以用李超树无脑维护拿到 50 分。思考正解能否扫描线做,发现并不好维护。
10:50–12:00 T3,考虑写暴力,然后发现数据范围卡的太死了,不精细的暴力压根跑不动,于是一直在卡常。
回顾反思
T1:
一开始写的假做法耽误了一点时间。
对于这种规模极大的题要么是有某种神仙性质使得可以直接计算或者极大的缩小规模,要么就是只用考虑有用的点而这些点非常少。
T2:
比赛的时候更多的时间是在写部分分,部分分可以类似扫描线做,于是就去往扫描线直接处理区间答案想了,而正解则是考虑每个单独元素对区间的贡献。
不管是扫描线还是什么直接维护每个询问对应区间的答案不好做。发现题目的取 max 有可加性,于是可以考虑原序列每个元素对询问的贡献。可以单调栈处理出一个值为最值的区间 a,b ,那么最值就成了常量,可以讨论 [a,b] 与询问区间 [l,r] 的包含相交关系分四类讨论,可以使用二维数点、李超树等简单数据结构分四种做法计算。
T3:
比赛的时候几乎没给这道题时间,更多的时间是在卡暴力的常数。有类似的 dfs 的想法,但是觉得复杂度不可能对就没再想了。对于 dfs 的实现上,我的大致想法是比较暴力的,直接考虑枚举每一位,而正解则观察到 dfs 的过程是个 dag ,每次同时处理一层出边上的点,起到一个剪枝的效果。
正解实际上是个爆搜。考虑拓展时形成了一个dag结构,于是用vector存储当前的一些出边 dfs 跑 dag 。通过剪枝和主席树对于信息获取加速,复杂度就对了。
T1是送分题,T2也是没有任何代码难度的经典题,T3是 dfs,可能实现和剪枝上有一些细节和技巧,但是写了dfs 起码也是能够拿到 50 左右的。前两题都是应该 AC 的。尤其是这种 T1 应该尽可能减少花在上面的时间。
相关文章:
2/11考试总结
时间安排 7:30–7:50 读题,T1貌似是个 dp ,T2 数据结构,T3 可能是数据结构。 7:50–9:45 T1,点规模非常大,可以达到 1e18 级别,感觉应该没法直接做,考虑每条新增的边的贡献,想到用 …...
Java Set集合
7 Set集合 7.1 Set集合的概述和特点 Set集合的特点 不包含重复元素的集合没有带索引的方法,所以不能使用普通for循环 Set集合是接口通过实现类实例化(多态的形式) HashSet:添加的元素是无序,不重复,无索引…...
【手写 Vuex 源码】第七篇 - Vuex 的模块安装
一,前言 上一篇,主要介绍了 Vuex 模块收集的实现,主要涉及以下几个点: Vuex 模块的概念;Vuex 模块和命名空间的使用;Vuex 模块收集的实现-构建“模块树”; 本篇,继续介绍 Vuex 模…...
EOC第六章《块与中枢派发》
文章目录第37条:理解block这一概念第38条:为常用的块类型创建typedef第39条:用handler块降低代码分散程度第41条:多用派发队列,少用同步锁方案一:使用串行同步队列来将读写操作都安排到同一个队列里&#x…...
八、Git远程仓库操作——跨团队成员的协作
前言 前面一篇博文介绍了git团队成员之间的协作,现在在介绍下如果是跨团队成员的话,如何协作? 跨团队成员协作,其实就是你不属于那个项目的成员,你没有权限向那个仓库提交代码。但是github还有另一种 pull request&a…...
算法刷题打卡第88天:字母板上的路径
字母板上的路径 难度:中等 我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为board ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "…...
UVa The Morning after Halloween 万圣节后的早晨 双向BFS
题目链接:The Morning after Halloween 题目描述: 给定一个二维矩阵,图中有障碍物和字母,你需要把小写字母移动到对应的大写字母位置,不同的小写字母可以同时移动(上下左右四个方向或者保持不动 ࿰…...
Connext DDS属性配置参考大全(3)
Transport传输dds.participant.logging.time_based_logging.process_received_messagedds.participant.logging.time_based_logging.process_received_message.timeout...
Docker-安装Jenkins-使用jenkins发版Java项目
文章目录0.前言环境背景1.操作流程1.1前期准备工作1.1.1环境变量的配置1.2使用流水线的方式进行发版1.2.1新建流水线任务1.2.2流水线操作工具tools步骤stages步骤1:拉取代码编译步骤2:发送文件并启动0.前言 学海无涯,旅“途”漫漫,“途”中小记ÿ…...
spring 中的 Bean 是否线程安全
文章目录结论1、spring中的Bean从哪里来?2、spring中什么样的Bean存在线程安全问题?3、如何处理spring Bean的线程安全问题?结论 其实,Spring 中的 Bean 是否线程安全,其实跟 Spring 容器本身无关。Spring框架中没有提…...
微电网两阶段鲁棒优化经济调度方法[3]【升级优化版本】(Matlab代码实现)
💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…...
C++入门教程||C++ 数据类型||C++ 变量类型
C 数据类型 使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。 您可能需要存储各种数据类型(比如字符型、宽字符型、整型…...
【visio使用技巧】图片导出pdf时去掉多余空白
问题 在visio导出pdf格式的图片时,往往会存在多余的白边,如下图所示: 解决方法 依次点击:菜单栏→文件→选项→自定义功能区→勾选“开发工具”→确定。 依次点击菜单栏→开发工具→显示ShapeSheet→页→Print Properties→将…...
Rust语言之Option枚举类型
概述 Option是Rust语言设计中最重要的枚举类型之一,它编码了其它语言中空值与非空值的概念,差异在于,Rust不会允许你像其它语言一样以非空值的方式来使用一个空值,这避免了很多错误。Option在标准库中的定义如下: pu…...
基于TimeQuest时序优化原理和方法
💡 回顾基于RTL逻辑时序优化的基本思路,在关键路径中插入寄存器来优化时序 分析最坏路径 通过前面对TimeQuest软件的理解,基本上可以找到关键路径,此文章主要对关键路径时序进行优化,使设计达到时序要求,以…...
LeetCode第332场周赛
2023.2.12LeetCode第332场周赛 6354. 找出数组的串联值 思路 双指针模拟,两个指针相遇的时候要特判 算法 class Solution { public:long long findTheArrayConcVal(vector<int>& nums) {long long ans 0;int i 0, j nums.size() - 1;while (i <…...
2023-2-12刷题情况
字母板上的路径 题目描述 我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为board [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”],如下所示。 我们可以按下面的指令规则行动…...
拉普拉斯矩阵
拉普拉斯算子 Δff(xi1,yj)f(xi−1,yj)f(xi,yj1)f(xi,yj−1)−4f(xi,yj)∑(k,l)∈N(i,j)(f(xk,yl)−f(xi,yj))\begin{aligned} \Delta f & f\left(x_{i1}, y_j\right) f\left(x_{i-1},y_j\right) f\left(x_i,y_{j1}\right)f\left(x_i,y_{j-1}\right) - 4f\left(x_i,y_j\r…...
Top-1错误率、Top-5错误率等常见的模型算法评估指标解析
Top-1 错误率:指预测输出的概率最高的类别与人工标注的类别相符的准确率,就是你预测的label取最后概率向量里面最大的那一个作为预测结果,如过你的预测结果中概率最大的那个分类正确,则预测正确,否则预测错误。比如预测…...
Urho3D 容器类型
Urho3D实现了自己的字符串类型和模板容器,而不是使用STL。其基本原理如下: 在某些情况下提高了性能,例如使用PODVector类时。保证字符串和容器的二进制大小,以允许例如嵌入Variant对象内。减少了编译时间。直接命名和实现&#x…...
C语言学习笔记(四): 循环结构程序设计
while语句 定义 While语句是C语言中的循环语句,它按条件循环执行语句,直到条件不满足为止 语法格式如下: while(condition) {//循环体内容; }使用实例 求123…100 include <stdio.h> int main(){int i 1, sum 0;while (i<100){sum i …...
02 OpenCV图像通道处理
1 通道提取与合并 在数字图像处理中,图像通道是指一个图像中的颜色信息被分离为不同的颜色分量。常见的图像通道包括RGB通道、灰度通道、HSV通道等。 RGB通道是指将图像分离为红色、绿色和蓝色三个颜色通道,每个通道表示相应颜色的亮度。这种方式是最常…...
微信小程序图书馆座位预约管理系统
开发工具:IDEA、微信小程序服务器:Tomcat9.0, jdk1.8项目构建:maven数据库:mysql5.7前端技术:vue、uniapp服务端技术:springbootmybatis本系统分微信小程序和管理后台两部分,项目采用…...
有限元分析学习一
系列文章目录 有限元分析学习一 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、有限元方法的简单介绍1.1 有限元的基础概念1.2 有限元软件发展历史1.3 有限元软件二、弹性力学的简单介绍2.1.…...
android avb2.0 总结
1、android vbmeta结构深入解析 2、android libavb深入解读 看完结构与代码,进一步了解了avb 比如vbmeta的结构、5种描述符、hash公钥签名存储位置 多层vbmeta结构、无vbmeta分区的验证逻辑、hash计算对比、公钥验证、签名验签、5种描述符体的处理 但是还有一些问题没有解决 如…...
聊天机器人-意图识别类,开源库推荐
随着人工智能和自然语言处理技术的不断发展,聊天机器人在商业、教育、医疗等领域的应用越来越广泛。因此,开源聊天机器人代码库也逐渐成为了热门话题。 开源聊天机器人代码库可以帮助开发者快速构建功能强大的聊天机器人,而不必从头开始编写…...
Java 标识符以及修饰符
Java 标识符Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。关于 Java 标识符,有以下几点需要注意:所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_&…...
封装、继承、Super、重写、多态instanceof类型转换的使用以及个人见解
这里写目录标题封装继承supersuper和this的区别重写多态instanceof类型转换封装 之前我们调用共有的属性,是直接可以调用的 但是属性私有后,无法在直接.调用 只能通过getset调用 继承 super 可以直接调用父类中属性和方法,私有的无法做 其…...
day13_面向对象的三大特征之一(封装)
封装概述 为什么需要封装? 现实生活中,每一个个体与个体之间是有边界的,每一个团体与团体之间是有边界的,而同一个个体、团体内部的信息是互通的,只是对外有所隐瞒。例如:我们使用的电脑,内部…...
越界访问数组
越界访问是指访问(操作修改)了不属于自己的空间 我们以如下代码为例:此代码在vs中进行 #include <stdio.h> int main() {int i 0;int arr[] {1,2,3,4,5,6,7,8,9,10};for(i0; i<12; i){arr[i] 0;printf("hello\n");}r…...
凡科做的网站好吗/外包网络推广营销
文章目录1. 调试项目基础2. 加载静态资源2.1 创建一个html2.2 操作2.3 验证3. 设置拦截器3.1 创建一个拦截器3.2 修改SpringMvcConfig3.3 实验4 Json转换4.1 添加依赖4.2 准备测试数据4.3 转换代码4.4 实验1. 调试项目基础 创建一个mavan项目,项目结构如下…...
网页制作专用工具/windows优化大师破解版
造成开销的操作包含:1. 线程之间的协调(比如:锁、触发信号以及内存同步等)2. 添加的上下文切换3. 线程的创建和销毁4. 线程的调度一、对性能的思考 1 性能与可伸缩性执行速度涉及下面两个指标:某个指定的任务单元须要“…...
python能够做网站/关键词的优化和推广
mv:移动文件或目录1、命令格式mv [option] SRC(源目录或文件) DEC(目标目录)2、命令功能mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。mv 命令的第二个参数是…...
用wordpress仿一个网站模板下载/站长工具亚洲
在上篇博客中说到有两种方式启动进程,其中一种就是点击Launcher界面,在点击Launcher最后也会调用Activity的startActivity方法,但是在Launcher中会调用如下代码: [cpp] view plaincopyintent.setFlags(Intent.FLAG_ACTIVITY_NEW_T…...
响应式网站开发/网络服务公司
神武8月22日维护公告解读,谈人物经验心得调整,大家快来看看吧。相关新闻:【玩法和系统调整】1、2014年8月25日至9月15日期间,可以到“礼物仙子”处领取“开学礼包”。就要开学了,学生玩的时间又少了,多领一…...
厦门市建设局官方网站/新手学seo
android 原生 app 爬虫 uiautomator安装环境 JRE# macbrew updatebrew cask install java# 或brew tap caskroom/versionsbrew cask instal java8# ubuntuapt-get updateapt-get install default-jre安装 android sdk到网页的最底部, 在 "Command line tools only" 下…...