算法 第一次

浙大翁恺-C语言入门 第一周随笔

我想向自己证明,我从未停止努力,我从未选择放弃,所以我相信我一定能再回巅峰。-Faker 翁恺老师的课很舒服,很博学,详略得当,加上适当的解释,作为入门课很好。 二进制语言、编程语言、自然语言 计算机识别的是二级制语言,也就是机器语言。编程人员写的是编程语言,指挥计算机工作。人们常说的是自然语言,编 ......
随笔 语言

【模板】二次剩余:Cipolla 算法

给定 \(c, p\),\(p\) 为奇质数,求解关于 \(x\) 的同余方程 \(x^2\equiv c\pmod p\)。 欧拉判别:对于任意 \(c\),\(c^{(p-1)/2}\equiv \pm 1\pmod p\)。当且仅当 \(c\) 有二次剩余时,\(c^{(p-1)/2}\equ ......
算法 模板 Cipolla

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

三、用go语言,考虑除法散列法的另一种版本,其中 h(k) = k mod m,m=$2^p-1$,k为按基数 $2^p$ 表示的字符串。试证明:如果串可由串 y 通过其自身的字符置换排列导出,则x和y具有相同的散列值。给出一个应用的例子,其中这一特性在散列函数中是不希望出现的。 文心一言: 这个问 ......
文心 导论 算法 chatgpt VS

cocos专栏第一章: 初识Cocos Creator

1.1 Cocos 不同时期与产品 刚接触Cocos家族的时候,会有很多个Cocos的版本与分支,比如Cocos2d, Cocos2d-x, Cocos Creator 1.x, Cocos Creator 2.x, Cocos Cretor3D, Cocos Creator 3.x, CocosD ......
Creator 专栏 cocos Cocos

第一章--迭代器模式

package com.designer.practice4; import com.designer.practice4.Iterator; //所要遍历的集合的接口 public interface Aggregate { //添加图书 public void appendBook(Book b ......
模式

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

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

记一次mysqlbinlog恢复数据库数据

因为一些意外操作,用旧的备份覆盖了最新的数据库 数据,导致 最近几天内的数据被覆盖掉了。 百度了一圈。。用mysqlbinlog恢复比较靠谱,网上查 感觉 操作也比较简单。。实际吧。费点劲。。 MySQL 的Binlog是用于记录数据库中所有操作的日志文件。通过检查日志文件,可以找到误删除的数据,并 ......
数据 mysqlbinlog 数据库

Django+Vue.js - 第一章 走进Django

目录第一章 走进Django了解DjangoMVCMTV安装创建项目创建app处理控制器 第一章 走进Django 了解Django Django 诞生于2003年,在2006年加入BSD许可协议,成为开源Web框架 优势 功能完善,容易上手,开发速度快,安全性强; 完善的在线文档; 模型自带数据库 ......
Django Vue js

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

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

字符串哈希算法

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

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

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

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

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

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

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

Dijkstra算法

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

算法总结

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

蓝桥杯第三周算法竞赛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个结 ......
算法

【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,方便进行腐蚀 ......
图像 图像处理 形态学 算法 形态

分治算法

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

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

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

Vue3实战 - 第一章 node.js/npm安装、配置

一、node.js 安装(windows) 1、下载并安装node https://nodejs.org/en 安装到 D:\Java\nodes 路径 2、配置环境变量 检查是否安装成功 3、配置全局包存放目录和缓存目录 npm config set prefix "D:\nodejs\node_ ......
实战 Vue3 node Vue npm

电子公文系统冲刺第一天

1.会议照片 2.项目燃尽图 3.设计框架 ......
公文 系统 电子

西门子HMI第一次下载:由于缺少面板映像,下载失败。请安装缺少的面板映像。请参阅文档

第一次下载HMI时提示: 由于缺少面板映像,下载失败。请安装缺少的面板映像。请参阅文档。 原因: 组态时的HMI固件版本与触摸屏实际的版本不相符 组态版本:16.0.0.0 硬件实际版本:15.1.0.0 查看HMI硬件固件版本: 1、点击 Settings 2、找到并点击 System Contr ......
映像 面板 第一次 文档 HMI

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

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

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

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

记录一次PhpStorm配置XDebug

PhpStorm 2023.2.3 + php5.6 参考:PHPStorm官方, PhpStorm配置Xdebug(超详细), xdebug下载与配置,有这一篇就够了 1.到官网下载 xdebug dll, 因为我用的是php 5.6的, 所以要下载历史版本的dll https://xdebug. ......
PhpStorm XDebug

算法刷题记录-哈希表

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

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

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