自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 CF 1615C - Menorah 题解(1600,思维)

给定两个只包含0,1的字符串a,b,长度为n(n

2022-09-10 20:51:10 383 1

原创 ConvNeXt

ConvNeXt注:以下笔记参考原论文以及这个博客做了简化。Macro DesignChanging stage ratio: 在ResNet中,一般conv4_x(stage3)堆叠的block数最大,ResNet50中,各个stage堆叠的block数大约为(3,4,6,3),比例为1:1:2:1。Swin Transformer中stage3的比例更高,故将ResNet的堆叠次数从(3,4,6,3)调整为(3,3,9,3),和Swin-T有相似的FLOPs,调整后,准确率由78.8%上升到7

2022-04-17 11:09:07 3849

原创 [C++]三五法则,以string类为例

C++中把析构函数、复制构造函数、拷贝复制运算符称为拷贝控制操作(big three)。如果我们在一个类中没有显式定义这些拷贝控制操作,编译器会为我们生成对应的默认版本。如果是默认的复制构造函数和拷贝复制运算符,默认的版本的行为就是简单的值复制,其行为可以理解为浅复制。所以当我们的类中含有指针类型的成员时,这些拷贝操作的语义往往不是我们期望的,我们什么时候需要显式定义这些拷贝操作呢?这三个显式操作都需要定义吗?答案是:如果需要我们显式定义析构函数,那么我们必须同时显式定义拷贝构造函数和拷贝复制运算符。

2022-02-27 15:53:29 597

原创 经典算法总结

/// @brief 手写二分在q中找下标最大的l,满足q[l] < a[i]int LIS(vector<int> &a) { int n = a.size(); vector<int> q(n + 5, 0); const int INF = 2e9; int len = 0; q[len] = -INF; for (int i = 0; i < n; i++) { int l = 0, r .

2021-12-25 20:25:49 461

原创 C语言:判断小端存储模式与大端存储模式

说明:大端小端模式并无优劣之分。考虑大小端存储模式影响的一个典型场景是网络通信,两台计算机通过网络传送数据时,需要考虑不同主机之间字节序是否相同,如果不同,比如发送方按大端字节序发送数据,接收方却按小端字节序解析,那么就接收不到正确的数据。为解决此问题,一般发送方可以将数据转化为网络字节序传输,而接收方将网络字节序转化为本地主机的字节序,为此,C语言提供了一下函数完成这一功能。htonl, htons, ntohl, ntohs - convert values between host and n.

2021-02-19 10:49:47 264

原创 浅析C++中的右值、万能引用、完美转发

右值C语言中左值与右值的含义在学习C++11的移动语义时,遇到的第一个问题就是:什么是左值,什么是右值?左值和右值这两个名词是从C语言中继承过来的,最初是为了帮助记忆的:左值可以位于赋值语句的左侧,右值则不能。注意左值可以位于赋值语句左侧,也可以位于赋值语句右侧。int a = 1; //a是左值int b = 2; //b是左值a = b; //左值既可以位于赋值运算符左侧,也可以位于赋值运算符右侧b = a;a = a + b;a + b = 3; //error, a + b是

2021-02-08 16:20:59 337

原创 LeetCode第223场周赛题解

LeetCode第223场周赛1720. 解码异或后的数组未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。请解码返回原数组 arr 。可以证明答案存在并且是唯一的。示例

2021-01-19 10:25:53 333

原创 LeetCode第222场周赛题解

第222场周赛题解注:题目来源LeetCode1710. 卡车上的最大单元数请你将一些箱子装在一辆卡车上。给你一个二维数组boxTypes,其中 boxTypes[i] = [numberOfBoxes_i, numberOfUnitsPerBox_i] :numberOfBoxes_i是类型 i 的箱子的数量。numberOfUnitsPerBox_i 是类型i每个箱子可以装载的单元数量。整数truckSize表示卡车上可以装载箱子的最大数量 。只要箱子数量不超过 truckSize ,你

2021-01-06 22:23:22 560

原创 操作系统:文件系统

文件系统​ 操作系统的核心任务就是管理计算机资源,并且提供给用户友好的操作接口(易用性)。操作系统对CPU和对内存的管理是操作系统的核心。操作系统对CPU的管理可以简单总结为多进程图像,最后将CPU的管理抽象为进程的管理,进程调度使得各个进程得以执行,从而充分利用好了CPU(易用性)。用户(一般指程序员)如何使用内存呢,在程序中可以使用malloc()和free()等函数申请和释放内存,或者*p=7;,在指针p指向的内存地址处放入7,这些函数或语句为什么能成功执行,在背后操作系统对物理内存虚拟化提供了虚

2020-12-29 22:03:35 770

原创 LeetCode221场周赛题解

1704. 判断字符串的两半是否相似Github地址题意:判断给定的字符串两半中元音字符出现的次数是否相同思路:遍历字符串的两边,统计其中元音字符出现的次数分别为cnt1,cnt2,最后返回cnt1==cnt2class Solution {public: bool halvesAreAlike(string s) { unordered_set<char> st{'a','e','i','o','u','A','E','I','O','U'};

2020-12-28 22:41:15 109

原创 数据库基础:关系模型

关系模型1.关系结构1.1关系的定义笼统来说关系就是一个表,如何严格定义一个关系呢?域:一组值的集合,这组值具有相同的数据类型。​ 如整数集合,字符串集合,8位数字组成的数字串集合,学生集合…笛卡尔积:一组域D1,D2,⋯ ,DnD_1, D_2, \cdots,D_nD1​,D2​,⋯,Dn​的笛卡尔积为:D1×D2×⋯×Dn={(d1,d2,⋯ ,dn)∣di∈Di}D_1 \times D_2\times \cdots\times D_n=\{(d_1, d_2, \cdots,d_n

2020-10-23 20:06:44 851

原创 从中序与后序遍历序列构造二叉树

从中序与后序遍历序列构造二叉树根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路:依据中序与后序遍历序列构造二叉树是数据结构里的经典问题,类似的还有依据先序和中序遍历序列构建二叉树,思考过程类似,前者的思路为:后序遍历找到根节点, 中序遍

2020-09-25 16:35:14 3682

原创 [LeetCode]10.正则表达式匹配

10.正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。’.’ 匹配任意单个字符’*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "aa"p = "a"输出: false解释: “a” 无法匹配 “aa” 整个字符串。示例 2:输

2020-09-23 16:33:32 540

原创 三种二叉树的中序遍历的方法

题目:二叉树的中序遍历描述二叉树的中序遍历总所周知遍历顺序为:左子树,根节点,右子树,同时对左右子树仍然采用中序遍历(左子树,根节点,右子树)。方法1:采用递归,代码比较简单,直接看代码。时间空间复杂度均为O(n),n为树的节点数量。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * Tr

2020-09-14 17:30:16 397

原创 [leetcode]将有序数组转换为二叉搜索树

108. 将有序数组转换为二叉搜索树题意:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5来源:力扣(LeetCode)链接:https://leetcode-

2020-07-03 11:32:36 172

原创 leetcode-5281.使结果不超过阈值的最小除数

leetcode-5281.使结果不超过阈值的最小除数(Find the Smallest Divisor Given a Threshold)题目给你一个整数数组 nums 和一个正整数 threshold ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。每个数除以除数后都向...

2019-12-08 15:31:19 220

原创 Leetcode15 三数之和(双指针)

3sum题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]给定一个包含 n 个...

2019-12-06 19:42:09 189

原创 POj 2075 Tangled in Cables(最小生成树)

POj 2075 Tangled in Cables题意: 给出电缆长度L,有N个村庄,给出M条村庄之间的信息,信息格式:村庄A 村庄B 距离D,问用已有的长度为L的电缆能否把所有村庄连接起来,如果能需要多少电缆。思路: 明显的最短生成树的模板题。再次复习一下克鲁斯克尔算法(kruskal)kruskal算法步骤:新建图G,G中拥有原图中相同的节点,但没有边将原图中所有的边...

2019-10-05 16:04:40 225

原创 POJ 1105 S-Trees(二分)

POJ 1105 S-Trees题意: 定义一种结构叫做S-tree,给定深度n,S-tree是一颗深度为n(n<=7)的满二叉树(根节点深度为0),树节点上标记着变量的名字,并且树的同一层上的变量名相同,叶子节点为1,或者0。例如给定深度为3的两颗树所以表达一棵树只需要给出变量序列和叶子节点即可,左边的树可以表达为x1 x2 x3 00000111右边的树表达为:x3 x...

2019-10-04 22:22:31 324

原创 POJ 1145 Tree Summing(树)

POJ 1145 Tree Summing题意: Lisp语言中表达一颗树是用叫做S-expressions的方式来表达的,S-expressions有如下形式:empty tree ::= ()tree ::= empty tree (integer tree tree)比如下图这颗树用S-expressions表达为:(5 (4 (11 (7 () ()) (2 () ...

2019-10-04 17:20:44 393

原创 POJ 1840 Eqs(双向DFS)

Description有如下方程:a1x13+a2x23+a3x33+a4x43+a5x53=0a_1x_1^{3}+a_2x_2^{3}+a_3x_3^{3}+a_4x_4^{3}+a_5x_5^{3}=0a1​x13​+a2​x23​+a3​x33​+a4​x43​+a5​x53​=0系数:a1,...,a5∈[−50,50]a_1,...,a_5 \in [-50, 50]a1​,......

2019-09-10 18:04:11 163

原创 POJ 1186方程的解数(DFS+哈希)

题意Time Limit: 15000MS Memory Limit: 128000KDescription已知一个n元高次方程:k1x1p1+k2x2p2+......+knxnpn=0k_1x_1^{p1}+k_2x_2^{p_2}+......+k_nx_n^{p_n}=0k1​x1p1​+k2​x2p2​​+......+kn​xnpn​​=0其中:x1,x2,...,xn是未知...

2019-09-10 16:25:55 185

原创 POJ3126 Prime Path(BFS)

题目链接:POJ 3126题意:每一组测试数据给定2个4位数的素数(第一位不为0),如1033,8179,要求每次只能变化一位,求从1033变化到8179需要多少步?这种情况的方案如下,需要6步1033173337333739377987798179InputOne line with a positive number: the number of test cases (...

2019-08-17 12:44:58 232

原创 Leetcode 51. N-Queens

51. N-QueensThe n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an integer n, return all distinct solutions to the n-queens p...

2019-07-14 15:19:15 109

原创 遗传算法详解 附python代码实现

遗传算法遗传算法是用于解决最优化问题的一种搜索算法。从名字来看,遗传算法借用了生物学里达尔文的进化理论:”适者生存,不适者淘汰“,将该理论以算法的形式表现出来就是遗传算法的过程。问题引入上面提到遗传算法是用来解决最优化问题的,下面我将以求二元函数:def F(x, y): return 3*(1-x)**2*np.exp(-(x**2)-(y+1)**2)- 10*(x/5 - x**3......

2019-06-10 11:14:59 190420 334

原创 栈的经典应用问题:表达式求值,传统做法,C++代码(LeetCode 227. Basic Calculator II,224. Basic Calculator)

给定一个字符串形式表达式,不使用内置库,将表达式的值求出。224题只考虑表达式内含有+ - ( ),而227题只考虑表达式内有+ - * / 没有考虑括号的问题,这里打算写出一个考虑+ - * / ( )的解决方案,把两题一起做了,这里的-号是减号,不是负号,也不考虑负数。224. Basic CalculatorImplement a basic calculator to evaluat...

2019-05-19 22:14:26 241

原创 C++关键字:explicit与构造函数浅析

C++关键字:explicit与构造函数C++关键字explicit常常用来放在接受一个实参的构造函数(non-explicit-one-argument-constructor)前,以防止编译器在某些条件下的默认行为——调用该构造函数来实现类型转换。当声明一个构造函数为explicit时,表示这个构造函数只能通过用户显示调用来创建对象。首先谈谈explicit常常使用的地方:non-expl...

2019-05-19 15:39:37 347

原创 LeetCode 150. Evaluate Reverse Polish Notation(后缀表达式)

150. Evaluate Reverse Polish NotationEvaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.N...

2019-05-18 23:16:49 134

原创 吴恩达深度学习笔记:RNN模型简介

RNN model1、Notation吴恩达深度学习课程中采用了如下的记号以命名体识别为例子来举例,如输入一句话,识别出哪个单词是人名,有以下句子:He said,“Teddy Roosevelt was a great President”.Notation:Notation:Notation:TxT^{x}Tx表示输入序列的长度,如上面这句话有8个单词所以Tx=8T^{x}=8...

2019-05-13 11:53:54 1239

原创 145. Binary Tree Postorder Traversal(二叉树的后序遍历,C++,递归+迭代)

Given a binary tree, return the postorder traversal of its nodes’ values.Example:Input: [1,null,2,3] 1 \ 2 / 3Output: [3,2,1]Follow up: Recursive solution is trivial, could y...

2019-04-23 18:24:25 233

原创 LeetCode 144. Binary Tree Preorder Traversal(二叉树的先序遍历,C++,递归+非递归)

144. Binary Tree Preorder TraversalGiven a binary tree, return the preorder traversal of its nodes’ values.Example:Input: [1,null,2,3] 1 \ 2 / 3Output: [1,2,3]Follow up: Recur...

2019-04-23 16:08:50 210

原创 LeetCode 102. Binary Tree Level Order Traversal(二叉树的层次遍历,C++,Python)

Binary Tree Level Order TraversalGiven a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).For example:Given binary tree [3,9,20,null,null...

2019-04-22 22:32:08 148

原创 LeetCode 94. Binary Tree Inorder Traversal(二叉树的中序遍历,C++,Python,递归+非递归)

Given a binary tree, return the inorder traversal of its nodes’ values.Example:Input: [1,null,2,3] 1 \ 2 / 3Output: [1,3,2]Follow up: Recursive solution is trivial, could you d...

2019-04-21 21:53:44 144

原创 LeetCode 701. Insert into a Binary Search Tree(向二叉搜索树中插入一个节点,C++,Python)

701. Insert into a Binary Search TreeGiven the root node of a binary search tree (BST) and a value to be inserted into the tree, insert the value into the BST. Return the root node of the BST after t...

2019-04-21 18:01:24 214

原创 LeetCode 101. Symmetric Tree(判断是否是对称树,C++, Python,递归与非递归做法)

101. Symmetric TreeGiven a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree [1,2,2,3,4,4,3] is symmetric: 1 / \ 2 2 / \...

2019-04-21 14:57:16 207

原创 LeetCode 98. Validate Binary Search Tree(判断是否为二叉搜索树,C++,python)

98. Validate Binary Search TreeGiven a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys ...

2019-04-21 10:47:53 303

原创 LeetCode 811. Subdomain Visit Count(哈希表的简单运用,c++,python)

class Solution(object): def subdomainVisits(self, cpdomains): """ :type cpdomains: List[str] :rtype: List[str] """ dic = {} for domain in cpdomains:...

2019-04-19 16:51:21 281

原创 LeetCode 78. Subsets(DFS + 回溯,C++)

78. SubsetsMediumGiven a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain duplicate subsets.ExampleInput: nums = [1,2,3]Output:...

2019-04-19 10:54:42 481

原创 POJ 3468 A Simple Problem with Integers(线段树,区间更新,区间查询,lazy标记)

A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 152160 Accepted: 47174Case Time Limit: 2000MSDescriptionYou have N integers, A1, A2, … , AN. You need to...

2019-03-23 21:50:23 131

原创 HDOJ 1166 敌兵布阵(线段树,单点更新,区间查询)

敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 135466 Accepted Submission(s): 56586Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子D...

2019-03-23 16:20:39 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除