回文 总和 算法day

算法学习笔记(1):CDQ分治

CDQ分治 对比普通分治 把一种问题划分成不同子问题, 递归处理子问题内部的答案, 再考虑合并子问题的答案。 再看CDQ分治 有广泛的应用, 但我不会。 但在接下来的题目体会到大概: 将可能产生的对于答案的贡献分为两类: \(f(l, mid)\) 与 \(f(mid + 1, r)\) 内部产生的 ......
算法 笔记 CDQ

Day06面向对象编程

所有学习内容来自:狂神说java 一、面向对象编程 面向对象&面向过程 什么是面向对象: 二、方法回顾 值传递和引用传递: 引用类型如类、数组等输入方法后是引用传递,在方法中改变其内部的值会导致方法外也改变;int等基本类型是值传递,不改变方法外的值。 // 引用传递 public class De ......
对象 Day 06

Java -day2

三 流程控制 3.1 scanner psvm new Scanner(System.in) alt+enter+enter 自动补全 Scanner scanner = new Scanner(System.in); 3.2 if 3.3 switch 3.4 while 3.5 for ......
Java day2 day

数据结构与算法 期中考试冲刺

押题! 中缀表达式、后缀表达式相关 出栈顺序相关 特殊矩阵元素定位相关与稀疏矩阵压缩相关 完全二叉树定位相关(一般测试就行) Huffman树计算 二叉树相关算法: 广义表栈建树【flag标记,读字符,括号则操作栈,逗号改flag,字符链入子女】 根据前序和中序建树【找根,建根,递归】 栈版前序遍历 ......
数据结构 算法 结构 数据

字符串哈希算法

一、字符串哈希:将一串字符串映射成一个整数,并用它来代替字符串进行比较。这样俩个字符串的比较就变成俩个整数的比较,可以将时间复杂度减少至O(1) 二、哈希函数:为了将字符串转化为整数,需要一个哈希函数hash,使得以下条件成立:如果字符串s == t 那么 hash(s) == hash(t)。一般 ......
字符串 算法 字符

数组类算法题——合并非递减数组

合并非递减数组 题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而 ......
数组 算法

区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明

区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。 算法设计思路 红黑树的拓展 在红黑树上维护结点属性\(min, max\): \(min\)表示该结点及其所有后代结点中的区间低端的最小值。 \(max\)表示该结点及其所有后代结点中的区间高端的最大值。 在插入时,对结点路上 ......
区间 复杂度 正确性 算法

python Day13

三种名称空间的介绍 名称空间的嵌套关系 全局作用域 局部作用域 在局部修改全局的名字对应的值:global x修改函数外层函数包含的名字的对应的值:nonlocal ......
python Day 13

最小生成树(Kruskal和Prim算法)

最小生成树(Kruskal和Prim算法) 部分资料来源于:最小生成树(Kruskal算法)_kruskal算法求最小生成树-CSDN博客、【算法】最小生成树——Prim和Kruskal算法-CSDN博客 关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图 ......
算法 Kruskal Prim

Dijkstra算法

Dijkstra算法 1.算法基本介绍 Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度 O(n2)。 Dijkstra算法通常是求解单源最短路中最快的算法,但它无法处理存在负权边的情况(原因在正确性证明中)。Dijks ......
算法 Dijkstra

蓝桥杯之模拟与枚举day1

Question1卡片(C/C++A组第一题) 这个是一道简单的模拟枚举题目,只要把对应每次的i的各个位都提取出来,然后对应的卡片数目减去1即可。属于打卡题目。注意for循环的特殊使用即可 #include <iostream> using namespace std; bool solve(int ......
蓝桥 day1 day

算法总结

贪心算法 解决问题:最优化问题; 优点:是解决最优化问题的最优策略,时间复杂度低; 缺点:要满足局部最优解可以推出全局最优解,这意味着在考场上想出一个贪心策略需要通过举例以及证明。 常见思考方式: 如果是决定谁先做谁后做的,类比排队问题,邻项交换;如果先后有限制关系,比如谁先做谁后做,那么通常套路还 ......
算法

蓝桥杯第三周算法竞赛D题&&E题

发现更多计算机知识,欢迎访问Cr不是铬的个人网站 D迷宫逃脱 拿到题目一眼应该就能看出是可以用动态规划来解决。但是怎么定义dp呢? 这个题增加难度的点就在当所在位置与下一个要去的位置互质的时候,会消耗一把钥匙。当没有钥匙的时候就不能移动了。想到这里,我们可以定义一个三维的dp数组. 定义dp dp[ ......
蓝桥 算法 amp

算法~totp用作签名防止url被复用

之前写过关于totp的文章,对它的基础有不清楚的同学,可以先看我的这篇文章《TOTP基础一》《TOTP基础二》 想到的问题 因为totp是把时间分成了一个一个小的时间窗口,当生成totp的服务器和校验totp的服务器不在一起时间窗口,就会出现验证失败的问题,这是不可避免的,时间戳是一个long类型的 ......
算法 totp url

树算法题

目录 1、计算二叉树中所有结点个数 2、计算二叉树中所有叶子节点的个数 3、计算二叉树中所有双分支的节点个数 4、计算二叉树的深度 5、找出二叉树中最大值的点 6、判断两个二叉树是否相似(指都为空或者都只有一一个根节点,或者左右子树都相似) 7、把二叉树所有节点左右子树交换 8、输出先序遍历第k个结 ......
算法

Day1

快捷键 Ctrl + C 复制 Ctrl + V 粘贴 Ctrl + A 全选 Ctrl + X 剪切 Ctrl + Z 撤销 Ctrl + S 保存 Alt + F4 关闭窗口 Shift + Delete 永久删除 Window + R 运行窗口(可以打开cmd) Window + E 我的电脑 ......
Day1 Day

【C++】【图像处理】形态学处理(腐蚀、膨胀)算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

1 void erosion(BYTE* image, int w, int h, BYTE* outImg) 2 { 3 int rept; 4 //腐蚀 5 memcpy(outImg, image, sizeof(BYTE) * w * h); //将读取的图像赋值给outImg,方便进行腐蚀 ......
图像 图像处理 形态学 算法 形态

Cadence SPB 21 -- 元件库的创建02Day

一、原理图元件库工程 (1)、新建工程:执行菜单命令“File”→“New”→“Project”,输入工程名字、存储位置等基本信息保存即可; (2)、创建原理图:在工程的SCHEMATC1文件路径下通过“NEW Page”创建新的原理图Page页。 (3)、新建原理图库:执行菜单命令“File”→“ ......
元件 Cadence SPB Day 21

分治算法

1、基本介绍 分治算法是非常重要的一种算法,基本思想就是将一个大问题化解成俩个或多个子问题,直到子问题可以直接求解为止,将每个子问题的解合并。如:归并排序,汉诺塔问题,快速排序... 2、基本步骤 分治法在每一层递归上都有三个步骤: (1)、分解:将原问题分解为若干个规模较小,相互独立,与原问题形式 ......
算法

随机产生n个数的排列(Fisher-Yates洗牌算法)

#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N]; // Fisher-Yates洗牌算法 void shuffle(int n) { srand(time(NULL)); for (int ......
Fisher-Yates 算法 个数 Fisher Yates

day02

flask创建和运行 Werkzeug WSGI(socket服务端) Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web ......
day 02

使用 PPO 算法进行 RLHF 的 N 步实现细节

当下,RLHF/ChatGPT 已经变成了一个非常流行的话题。我们正在致力于更多有关 RLHF 的研究,这篇博客尝试复现 OpenAI 在 2019 年开源的原始 RLHF 代码库,其仓库位置位于 openai/lm-human-preferences。尽管它具有 “tensorflow-1.x” ......
算法 细节 RLHF PPO

JavaSE day07.08.-Exception、Lambda表达式、Stream流[测评题]

选择题 题目1(单选): 在下列选项中选出编译时期异常( ) 选项 : ​ A. ArrayIndexOutOfBoundsException ​ B. NullPointerException ​ C. ClassCastException ​ D. ParseException 题目2(多选): ......
表达式 Exception JavaSE Lambda Stream

由数据范围反推算法复杂度以及算法内容

由数据范围反推算法复杂度以及算法内容 一般ACM或者笔试题的时间限制是1秒或2秒。 在这种情况下, \(\mathrm{C}++\) 代码中的操作次数控制在 \(10^{7} \sim 10^{8}\) 为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: \(n \leq 30\ ......
复杂度 算法 范围 内容 数据

JavaSE day07-异常,多线程

JavaSE day07-异常,多线程 今日目标 : 异常的概述 异常的分类 异常的处理方式 自定义异常 多线程入门 1 异常的概述 1.1 什么是异常? 异常就是程序出现了不正常情况 , 程序在执行过程中 , 数据导致程序不正常 , 最终导致了JVM的非正常停止 注意 : 语句错误不算在异常体系中 ......
线程 JavaSE day 07

JavaSE day08 - Lambda,Stream,File,递归

JavaSE day08 - Lambda,Stream,File,递归 今日目标 Lambda表达式 Stream流 File类 递归 1 Lambda表达式 1.1 体验Lambda表达式 package com.itheima.lambda_demo; /* Lambda表达式体验 : */ ......
JavaSE Lambda Stream File day

文心一言 VS 讯飞星火 VS chatgpt (136)-- 算法导论11.3 2题

二、用go语言,假设将一个长度为r的字符串散列到m 个槽中,并将其视为一个以 128 为基数的数,要求应用除法散列法。我们可以很容易地把数 m 表示为一个 32 位的机器字,但对长度为r的字符串,由于它被当做以 128 为基数的数来处理,就要占用若干个机器字。假设应用除法散列法来计算一个字符串的散列 ......
文心 导论 算法 chatgpt VS

算法刷题记录-哈希表

算法刷题记录-哈希表 有效的字母异位词 给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。 示例 1: 输入: s = "anagram", t = " ......
算法

数据结构与算法 | 动态规划算法(Dynamic Programming)

上一篇文末已经提到了记忆化搜索是动态规划(Dynamic Programming)的一种形式,是一种自顶向下(Top-Down)的思考方式;既然动态规划有自顶向下(Top-Down)的递归形式,自然想到对应的另外一种思考方式自底向上( Bottom-Up )。什么是自底向上的思考?不空谈理论... ......

KMeans算法全面解析与应用案例

本文深入探讨了KMeans聚类算法的核心原理、实际应用、优缺点以及在文本聚类中的特殊用途,为您在聚类分析和自然语言处理方面提供有价值的见解和指导。 关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云 ......
算法 案例 KMeans