(数据量大时通过map维护元素的信息来降低枚举复杂度AtCoder - abc233_d 与AtCoder - abc166_e

简介: (数据量大时通过map维护元素的信息来降低枚举复杂度AtCoder - abc233_d 与AtCoder - abc166_e

E - This Message Will Self-Destruct in 5s (atcoder.jp)


D - Count Interval (atcoder.jp)


求数组中符合某种性质的情况个数,情况包含数组里的两个元素。


这类题的特征是性质可以变换成只包含一个元素的形式


且看上去非常贴合朴素枚举的特征,但数据范围不允许朴素枚举(2e5往上)


f[i] + f[j] == j - i可以换成f[i] + i == j - f[j],可以用map来维护任意一边,然后枚举另外一边


卡壳原因是没总结过这种map维护信息的优化,踩陷阱了


看完题解重做后又卡壳


// 卡壳:混淆了m[i-f[i]]和m.count(i-f[i]),前者返回映射值,如果不存在映射就使其映射值变为默认的0并返回,后者如果存在以i-f[i]为键值的映射则返回1,不存在则返回0(还以为是记数函数),


目录
相关文章
|
3月前
|
JavaScript 前端开发
如何在Map中获取元素的数量?
如何在Map中获取元素的数量?
210 1
|
数据处理
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
266 0
|
4月前
|
算法 数据安全/隐私保护
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
本项目实现了一种基于Logistic Map混沌序列的数字信息加解密算法,使用MATLAB2022A开发并包含GUI操作界面。支持对文字、灰度图像、彩色图像和语音信号进行加密与解密处理。核心程序通过调整Logistic Map的参数生成伪随机密钥序列,确保加密的安全性。混沌系统的不可预测性和对初值的敏感依赖性是该算法的核心优势。示例展示了彩色图像、灰度图像、语音信号及文字信息的加解密效果,运行结果清晰准确,且完整程序输出无水印。
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
|
12月前
|
存储 Java API
深入剖析Java Map:不只是存储数据,更是设计艺术的体现!
【10月更文挑战第17天】在Java编程中,Map是一种重要的数据结构,用于存储键值对,并展现了设计艺术的精髓。本文深入剖析了Map的设计原理和使用技巧,包括基本概念、设计艺术(如哈希表与红黑树的空间时间权衡)、以及使用技巧(如选择合适的实现类、避免空指针异常等),帮助读者更好地理解和应用Map。
284 3
SpringMVC入门到实战------5、域对象共享数据 Request、Session、Application、Model、ModelAndView、Map、ModelMap的详细使用及代码实例
这篇文章详细解释了在IntelliJ IDEA中如何使用Mute Breakpoints功能来快速跳过程序中的后续断点,并展示了如何一键清空所有设置的断点。
SpringMVC入门到实战------5、域对象共享数据 Request、Session、Application、Model、ModelAndView、Map、ModelMap的详细使用及代码实例
|
8月前
|
Java 程序员 开发者
悲催,放到 Map 中的元素取不出来了
本文通过一个程序员小明遇到的实际问题,深入探讨了在使用 HashMap 时由于键对象的可变性导致的数据访问异常。
|
8月前
|
DataWorks 关系型数据库 Java
悲催,放到 Map 中的元素取不出来了
悲催,放到 Map 中的元素取不出来了
域对象共享数据model、modelAndView、map、mapModel、request。从源码角度分析
这篇文章详细解释了在IntelliJ IDEA中如何使用Mute Breakpoints功能来快速跳过程序中的后续断点,并展示了如何一键清空所有设置的断点。
域对象共享数据model、modelAndView、map、mapModel、request。从源码角度分析
|
存储 算法 Java
Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
|
JavaScript 前端开发
Vue中传递自定义参数到后端、后端获取数据(使用Map接收参数)
这篇文章讲述了如何在Vue中通过Axios二次封装传递自定义参数到后端,并展示了后端如何使用Map接收这些参数,以及如何避免参数转换错误和统一接口设计的方法。

热门文章

最新文章