线段 指针 背包 标记

【环形链表】哈希表HashSet / 双指针

leetcode 142. 环形链表 II 题意: 不可更改链表节点,给定链表表头,返回链表在环中的第一个节点,没有返回null 题解:哈希表集合 遍历一遍链表,哈希表集合维护链表节点,当访问到的当前节点已经在集合中,说明当前节点是所求节点 哈希表集合解代码 /** * Definition for ......
环形 指针 HashSet

线段树详解

定义 什么是线段树 线段树是一种二叉搜索树,每个节点都存储了一个区间的问题。 能够解决的问题 序列维护修改以及查询区间上的最值、求和等,修改和查询的时间复杂度为 \(O\)(\(log\) \(n\))。 与其他 RMQ 算法的区别 算法 适用范围 优点 缺点 线段树 动态 可执行的操作多 常数大 ......
线段

apk防标记.防报毒处理深入分析;附工具

背景 Google审核日益严格,很多包都会因为各种原因被拒,推广线下包也就成了PlanB 但在设备上直接安装apk,又会遇到另一个问题:报毒 报毒后,推广成本大大增加,用户安装意愿大大降低. 为什么一个apk会被标记成病毒呢. 1.为什么apk被报毒 就是你的apk里面包含病毒信息,或你的apk已经 ......
标记 工具 apk

BiFormer: Vision Transformer with Bi-Level Routing Attention 使用超标记的轻量ViT

alias: Zhu2023a tags: 超标记 注意力 rating: ⭐ share: false ptype: article BiFormer: Vision Transformer with Bi-Level Routing Attention * Authors: [[Lei Zhu] ......
轻量 Transformer 标记 Attention BiFormer

万字长文全面详解现代C++智能指针:原理、应用和陷阱

现代C++智能指针详解:原理、应用和陷阱 智能指针是C++11引入的新特性。本篇文章详细介绍了C++智能指针的原理、应用与陷阱,通过丰富的代码实例介绍了三种智能指针:std::unique_ptr、std::shared_ptr和std::weak_ptr的原理、使用方法和适用场景,还介绍了智能指针 ......
长文 指针 陷阱 原理 智能

[LeetCode138-链表-中等] 复制带有随机指针的链表

这道题是这样的,就是说有一个链表LindedNode, 通常我们链表包含2个属性,一个是它的值val,另一个是它指向的下一个结点nextNode, 但是这个题目中的链表还有一个属性,就是它还有个随机指针,这个随机指针可能指向链表中的任意结点(包括链表的结尾null结点,或者是自己) 也就是说这个链表 ......
指针 LeetCode 138

Matlab指针

Matlab指针 第一印象貌似是Matlab中不存在指针,所有变量与函数的赋值都是按值传递的,不会对参数进行修改。其实Matlab提供了handle类作为指针代替品。只要我们利用handle子类,就可以像使用指针一样来操作对象中包含的数据。 handle 类可参考 Matlab Object-Ori ......
指针 Matlab

简单线段树

一、什么是线段树? 线段树是怎样的树形结构? 线段树是一种二叉搜索树,每个结点都存储了一个区间,也可以理解成一个线段,你要从这些线段上进行搜索操作得到你想要的答案。 线段树能够解决什么样的问题? 线段树的适用范围很广,可以在线维护修改以及查询区间上的最值,求和。 需要注意的是,线段树只可以维护满足结 ......
线段

C++ 高效使用智能指针的8个建议

C++ 高效使用智能指针的8个建议 前言:智能指针是C++11提供的新特性,它基于RAII实现,可以自动管理内存资源,避免内存泄漏的发生,但是智能指针也并不是万能的,如果不正确使用智能指针,也会导致内存泄漏的发生,因此,我们需要了解如何高效使用智能指针避免一些可能的陷阱。本文总结了8个关于智能指针的 ......
指针 建议 智能

C++: 智能指针的自定义删除器 `Custom Deleter` 有什么用?

C++11智能指针std::shared_ptr和std::unique_ptr都支持自定义删除器,本文将介绍自定义删除器的使用场景和使用方法。智能指针模板参数的第二个类型是删除器,一般是一个函数指针类型或者是一个函数对象类型。通常情况下,删除器的类型是std::default_delete<T>, ......
指针 Deleter 智能 Custom

算法学习Day3虚拟头指针,设计链表,反转链表

Day3虚拟头指针,设计链表,反转链表 By HQWQF 2023/12/15 笔记 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 解法:虚拟头指针 看起来非常简单,但是由于如果直接 ......
指针 算法 Day3 Day

双指针算法概念

"双指针"是一种在数组或链表中使用两个指针来进行操作的技术。这两个指针通常被称为“快”指针和“慢”指针,或者“左”指针和“右”指针,根据其在数据结构中的移动速度或位置来命名。双指针算法在处理数组或链表的问题中非常有效,可以帮助我们以更优的时间复杂度解决问题。常见的应用包括两数之和、判断链表是否存在环 ......
指针 算法 概念

CF1784C Monsters (hard version) 题解 线段树

题目链接:https://codeforces.com/problemset/problem/1784/C 题目大意: 你面前有 \(n\) 只怪兽,每只怪兽都有一个初始血量,你可以进行两类操作: 操作1:选择任意一个血量大于 \(0\) 的怪兽,并将它的血量降低 \(1\); 操作2:将所有存活的 ......
线段 题解 Monsters version 1784C

C++(this指针)

在 C++ 中,this 是一个关键字,表示指向当前对象的指针。它是每个非静态成员函数的一个隐式参数,被用于指向调用该函数的对象。通过 this 指针,成员函数可以访问调用它的对象的成员变量和成员函数。 以下是一个简单的示例,演示了 this 指针的使用: #include <iostream> c ......
指针 this

成员函数指针做回调参数总结 踩坑

成员函数指针做回调参数总结 踩坑 一、程序升级后,在linux上编译提示错误: warning: converting from ‘int (MyClass::)()’ to ‘void ()()’ [-Wpmf-conversions] void(myStoredFunction)(void) = ......
指针 函数 成员 参数

线段树

线段树 什么是线段树 线段树(英语:Segment tree)是一种二叉树形数据结构,1977年由Jon Louis Bentley发明[1],用以存储区间或线段,并且允许快速查询结构内包含某一点的所有区间。 一个包含n个区间的线段树,空间复杂度为O(n),查询的时间复杂度则为O(logn+k)}, ......
线段

【删除链表的倒数第N个节点】双指针

leetcode 19. 删除链表的倒数第 N 个结点 题解1:通过链表长度获取[倒数第n个节点]位置 计算链表长度 找到[倒数第N个节点]的前一个节点 删除[倒数第N个节点] 注意特殊情况:删除的是第一个节点时,直接返回第二个节点即可 点击查看代码 /** * Definition for sin ......
节点 指针

贡献法+经典背包+费马小定理

SDUT 校赛题目 Description 给定正整数 \(n\),计算 \(n\) 个元素的集合 \(\{1,2,\cdots,n\}\),所有非空子集和的乘积取模 \(998 \, 244 \, 353\) 后的结果。 Input 一个正整数 \(n\) \((1\le n\le200)\),代 ......
定理 背包 贡献 经典

【回文链表】快慢指针+反转链表

leetcode 234. 回文链表 题意:判断一个链表是不是回文(中心对称)的 【反转链表】题解1: 得到原链表的反转链表,然后对比原链表与反转链表的内容是否一致即可。 反转链表版本代码 /** * Definition for singly-linked list. * public class ......
回文 快慢 指针

C++基础 -6- 二维数组,数组指针

———————二维数组,数组指针——————— 🎈二维数组在内存中的存放方式和一维数组完全相同 🎈下表把二维数组抽象成了行列形式方便理解 🎈a[0]指向第一行首元素地址 🎈a指向第一行的首地址 🎈所以a地址和a[0]地址相同,因为起点相同 🎈a[0]+1往右偏移 🎈a+1往下方向偏移 ......
数组 指针 基础

C/C++结构体指针强转为整型/长整型

一、关键词 结构体指针强转为整型类,使用时在把整型强转为结构体指针 二、知识点 注意:1、这种的转化并不是用指针指向指针,而是目标指针的地址被作为一个值被保存在整型中,而整型中的值就是目标指针的地址。 2、需要实在64位机器还是32为机器,在32位用int就可以,而64位需要long进行转化以及存储 ......
指针 结构

【交叉链表】Java哈希表——HashSet类/双指针

leetcode 160. 相交链表 题意:给定两个链表A、B的表头节点,找到链表交叉节点(地址值相同)。链表A长度为m,链表B长度为n,范围在[1, 3e4] 题解1: 根据哈希表去重的原理,使用哈希表集合HashSet来维护链表节点,默认比较节点地址值。将链表A中的节点全部add进HashSet ......
指针 HashSet Java

刷题 ST表、单调栈、线段树->区间最值

2023.12.13 cf1904D2 解题思路 首先,a[i]大于b[i]时肯定不行,等于就满足了,直接过掉 其次,要想使得a[i]等于b[i],就要在a[i]左右找最近的j使得a[j]=b[i](最近的最优,可证) k是i和j中间的一个数,想要满足题意,要满足以下两个条件(a[j]=b[i]) ......
线段 区间 gt

关于雷电9模拟器开启指针位置不显示坐标问题的解决方案

点击设置,进入关于手机页面,点击手机版本号,点击多次进入开发者模式 进入输入模块,开启指针位置,如坐标未显示,则进入模拟器的安装目录,找到vms文件夹,进入并新建一个名称为debug的txt文本进行保存 重新启动模拟器即可 ......
模拟器 雷电 坐标 指针 解决方案

弱引用智能指针

文章参考: 爱编程的大丙 (subingwen.cn) 1. 概述 弱引用智能指针std::weak_ptr是共享智能指针std::shared_ptr的助手,它不管理shared_ptr内部的原始指针,也没有重载操作符*、->,因此不共享指针,不能操作资源,所以它的构造和析构都不会影响引用计数。其 ......
指针 智能

共享智能指针

文章参考: 爱编程的大丙 (subingwen.cn) 所谓智能指针,其实就是C++11封装的类,里面存有一个正常指针,智能指针会通过这个正常指针,来监视指针指向的内存,当没有智能指针指向该内存时,该内存就被释放。其核心在于引用计数,每一个智能指针指向内存A,智能指针内部的引用计数就加一。每析构一次 ......
指针 智能

独占智能指针

文章参考: 爱编程的大丙 (subingwen.cn) 1. 初始化: 特点: 相较于共享智能指针,独占智能指针(unique_ptr)的关键在于:同一时刻,只能有一个智能指针指向同一块内存。因此独占智能指针不允许使用拷贝构造函数和拷贝赋值函数。 初始化: 通过构造函数初始化: unique_ptr ......
指针 智能

【线段树入门】P3353 在你窗外闪耀的星星(区间求和)

这题正解是前缀和,我用线段树练练手>< 1 1 //笔记-自用 2 2 //#pragma GCC optimize("Ofast") 3 3 //#pragma GCC optimize("unroll-loops") 4 4 #define _CRT_SECURE_NO_WARNINGS 5 5 ......
线段 区间 星星 P3353 3353

【线段树入门】 P1198 最大数(区间最大值+无懒标记+末尾插入)

1 //笔记-自用 2 //#pragma GCC optimize("Ofast") 3 //#pragma GCC optimize("unroll-loops") 4 #define _CRT_SECURE_NO_WARNINGS 5 #define All(a) a.begin(),a.en ......
线段 最大值 末尾 区间 标记

线段树入门】P3870 开关(区间异或和)

1 // 2 //#pragma GCC optimize("Ofast") 3 //#pragma GCC optimize("unroll-loops") 4 #define _CRT_SECURE_NO_WARNINGS 5 #define All(a) a.begin(),a.end() 6 ......
线段 区间 P3870 3870
共1570篇  :4/53页 首页上一页4下一页尾页