算法leetcode day 30

C++ STL算法篇@@

算法基础算法概述 算法部分主要由头文件,,组成. 是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较交换替换便利操作复制修改反转排序合并等等. 体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作 定义了一些模板类,用以声明函数对象 STL提供了大量 ......
算法 STL

[JOISC 2014 Day3] 电压 题解

## 题面 给定 $n$ 个点 $m$ 条边的无向图。 现在要对每个点黑白染色。 若能够使一条边连接的两点颜色相同,其他边连接的两点颜色不同,则这条边合法。 求合法的边数。 $ 2 \leq n \leq 10^5,1 \leq m \leq 2 \times 10^5$。 图可能不连通,不保证没有 ......
题解 电压 JOISC 2014 Day3

javascript学习笔记day3

今天没做啥笔记都是些学了的基础知识,学的都是像while,switch这些基础的语法,下面带是笔记 ++i前置运算和i++后置运算的区别:前置运行先相加再计算,后端运算先计算完再++。比较符也有隐式转换brank退出循环continue退出本次循环继续下次循环 顺便把while的循环作业一起放上来了 ......
javascript 笔记 day3 day

算法学习笔记-逆元

### 前言: 还记得小学学的倒数吗?倒数的定义大概是若 $ax = 1$,则称 $x$ 为 $a$ 的倒数。而逆元,其实可以看做在模意义下的倒数。也就是 $ax \equiv 1 \pmod p$,且 $a$ 与 $p$ 互质,则称 $x$ 为 $a$ 在模 $p$ 意义下的乘法逆元,记作 $a^... ......
算法 笔记

数组下标中值求取算法

问题 解法一 1.先计算出所需区间的大小10-2=82.计算当前区间的中值8/2=43.用区间起点加上中值,即为真实的中间值 2+4=6 完整公式是 (end-start)/2 + start 解法二 1.前置扩充所需区间start大小2.后置扩充所需区间start大小3.新的区间大小是12,那么中 ......
中值 下标 数组 算法

组合导航原理(七)——位姿算法更新总结

IMU输出的是: t时刻的角度增量:Δθ(t) = ∫ wbib(τ)dτ t时刻的速度增量:Δv(t)= ∫ fb (τ)dτ t时刻的增量,是相对于t-1时刻而言,并不是初始时刻,这个要特别注意。 而角度增量Δθ(t)、速度增量Δv(t)中,抹掉了很多信息,比如: 输出的蓝色的面积,但是曲线细节 ......
算法 原理

背包算法

转自: https://zhuanlan.zhihu.com/p/349054931 https://blog.csdn.net/windfriendc/article/details/123892024 ......
算法 背包

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

# 二、如果用go语言,在 RANDOMIZED-QUICKSORT 的运行过程中,在最坏情况下,随机数生成器 RANDOM 被调用了多少次?在最好情况下呢?以θ符号的形式给出你的答案? ## 文心一言: 在 RANDOMIZED-QUICKSORT 的运行过程中,最坏情况下,随机数生成器 RAND ......
文心 导论 算法 chatgpt VS

代码随想录算法训练营第十八天| 513.找树左下角的值 112. 路径总和 106.从中序与后序遍历序列构造二叉树

找树左下角的值 卡哥建议:本地递归偏难,反而迭代简单属于模板题, 两种方法掌握一下 题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.%E6%89%BE%E6%A0%91%E5%B7%A6%E4%B8%8B%E8%A7%92%E7%9A%84%E5%80% ......
随想录 训练营 总和 序列 随想

代码随想录算法训练营第十七天| 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和

卡哥建议:迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 (优先掌握递归) 卡哥建议:再一次涉及到,什么是高度,什么是深度,可以巩固一下。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A ......
随想录 之和 训练营 随想 算法

JavaSE学习笔记day02

面向对象一、面向过程和面向对象的思想面向过程的思想: 将事情拆分成多个步骤,然后一步一步地完成即可。强调事情的具体步骤/过程。 该思想常见于编码过程中的方法或者函数当中。 比如:打扫教室 (1)先拿到清洁工具 (2)然后扫地 (3)然后拖地 (4)倒垃圾 (5)归还清洁工具 PS:考虑怎么做 面向对 ......
笔记 JavaSE day 02

JavaSE学习笔记day03

一、异常处理机制 当程序中抛出异常时,会导致整个程序中断执行。若要程序不受影响,可以继续往下执行,则使用异常处理机制。异常处理机制: try-catch-finally语法结构: try{ 可能会抛出异常的代码 }catch(异常类型 变量名){ 处理异常的代码 }finally{ 代码 }细节:( ......
笔记 JavaSE day 03

JavaSE学习笔记day01

书写第一段Java代码一、代码需要写在src中; 二、先在src下创建包; 包:package,用于组织指定Java文件,对于同类型、同功能的Java文件则存在同一个包下。 包在操作系统中以文件夹的形式存在。 总结:包用于对Java文件进行归类划分的。 三、然后在包下创建类。类才是真正写Java代码 ......
笔记 JavaSE day 01

拓扑排序算法笔记

## 思想 拓扑,一看就是从图的开始开始开拓,并按被开拓到的顺序排序 拓扑排序的思想如下: > 将入度为 $0$ 的点删除,并记录它被删除的顺序,直到没有点则结束程序 代码也十分简单: ```cpp #include using namespace std; bool b[100001]; int ......
拓扑 算法 笔记

济南 CSP-J 刷题营 Day2 搜索

# Solution ## T1 排列计数 ### 原题链接 [**4077: 排列计数**](https://noip.ac/rs/show_problem/4077 "**4077: 排列计数**") ### 简要思路 直接用 `next_permutation` 枚举全排列计算答案即可。 ## ......
CSP-J Day2 CSP Day

LeetCode 1581. 进店却未进行过交易的顾客

##题目 表:Visits ```sql + + + | Column Name | Type | + + + | visit_id | int | | customer_id | int | + + + visit_id 是该表中具有唯一值的列。 该表包含有关光临过购物中心的顾客的信息。 ``` ......
LeetCode 顾客 1581

Leetcode 19. 删除链表的倒数第N个结点(Remove nth node from end of list)

[题目链接](https://leetcode.cn/problems/remove-nth-node-from-end-of-list) 给你一个链表, 删除链表的倒数第n个结点, 并且返回链表的头结点. 示例 1: ``` 输入:head = [1,2,3,4,5], n = 2 输出:[1,2 ......
结点 Leetcode Remove node from

Python 实现排序算法

> 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 ![image](https://img2023.cnblogs.com/blog/1344595/202308/1344595-20230816221626302-985016786.png ......
算法 Python

强连通分量与tarjan算法

- # **强连通分量** **强连通**:若一张有向图的节点两两之间可以互相抵达,那么这一张图是强连通的。 **强连通分量**:极大的强连通子图。 对图**深度搜索**的时候,每一个节点只访问一次,被访问过的节点与边构成**搜索树**。 有向边按照**访问的情况**可以分为如下4类: **1. 树 ......
分量 算法 tarjan

KMP 算法

- # **KMP 算法** **一个人能走的多远不在于他在顺境时能走的多快,而在于他在逆境时多久能找到曾经的自己。 —— KMP** ## **例题** [【模板】KMP 字符串匹配](https://www.luogu.com.cn/problem/P3375) ## **原理** ### ** ......
算法 KMP

Leetcode148 排序链表

148. 排序链表 - 力扣(LeetCode) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr ......
Leetcode 148

[代码随想录]Day19-二叉树part08

## 题目:[235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/) ### 思路: BST和普通二叉树不同的一点是可以根据特性来找最近公共祖先,只要找到第一个值 ......
随想录 随想 代码 part Day

网络编程day04--线程管理

#### 线程管理 ##### 基本概念 1、线程是进程的执行路线,它是进程内部的控制序列,线程是进程的一部分,进程是一个资源单位,而线程是执行单位,线程是进程执行的实体,负责真正的执行 2、线程是轻量级的,没有自己的代码段、数据段、bss段、堆、环境变量、命令行参数、文件描述符、信号处理函数、当前 ......
网络编程 线程 网络 day 04

网络编程day03--多路复用

#### TCP服务端处理多客户端任务: 原来是通过开启子进程来服务不同的客户端,当客户端退出时就关闭该子进程 #### 多路复用: 使用一个进程(有且只有一个主进程)同时若干个文件描述符,这种读写模式称为多路复用 多用于TCP的服务端,用于监控客户端的连接和数据的收发 优点:不需要频繁地创建、销毁 ......
网络编程 网络 day 03

网络编程day02--FTP协议

##### 封装socket网络通信模块-network 原因:TCP、UDP客户端、服务端的操作流程固定,所以为了后期使用方便,把socket网络通信封装成网络模块 任务:生成libnw.so共享库 笔试、面试问题:回答原始函数 讲项目:聊封装过程 ##### FTP协议 FTP 的独特的优势同时 ......
网络编程 网络 day FTP 02

网络编程day01--socket套接字

##### 进程间通信-socket套接字 基本特征:socket是一种接口技术,被抽象了一种文件操作,可以让同一计算机中的不同进程之间通信,也可以让不同计算机中的进程之间通信(网络通信) ###### 本地进程间通信编程模型: 进程A 进程B 创建socket对象 创建socket对象 准备通信地 ......
套接字 网络编程 socket 网络 day

【Java】从头开始的Java复健day8

用的书:《Java从入门到精通》 day1(3.1-3.3): [【Java】从头开始的Java复健day1](https://www.cnblogs.com/ryukirin/p/17610317.html) day2(3.4-3.8): [【Java】从头开始的Java复健day2](https ......
Java 从头 day8 day

SHA256算法

在Delphi xe中可以直接使用 TIdHashSHA256 来实现SHA256算法,代码如下uses IdHashSHA, IdSSLOpenSSLHeaders; var SHA256 : TIdHashSHA256; SHA256 := TIdHashSHA256.Create; Passw ......
算法 SHA 256

day08-字符串part01

344. 反转字符串 详解 class Solution { public: void reverseString(vector<char>& s) { int left = 0; int right = s.size() - 1; while(left <= right){ // char tmp ......
字符串 字符 part day 08

2023-08-16:用go语言如何解决进击的骑士算法问题呢?

2023-08-16:用go写算法。一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上, 你的 骑士 驻扎在坐标为 [0, 0] 的方格里。 骑士的走法和中国象棋中的马相似,走 “日” 字: 即先向左(或右)走 1 格,再向上(或下)走 2 格, 或先向左(或右)走 ......
算法 骑士 语言 问题 2023