深入解析:Linux使用-MySQL的使用
Linux使用-MySQL的使用
- Linux应用-MySQL的应用
- 1.MySQL 服务端安装
- 基本操作命令
- 2.MySQL 指令速查
- 3.MySQL 查询命令
- 4.MySQL 字段属性
- 5.结束语
Linux使用-MySQL的使用
本文将介绍 Linux MySQL的采用的核心管理,包括MySQL 服务端安装、MySQL 指令速查、查询命令和字段属性,帮助你快捷掌握MySQL的使用的基础技能。
1.MySQL 服务端安装
在ubuntu下,运行下面的命令,安装MySQL:
基本操作命令
sudo apt-get upadate
sudo apt-cache search mysql | grep mysql-server
sudo apt-get install mysql-server-5.7
MySQL运行界面:
2.MySQL 指令速查
MySQL指令速查
操作分类 | 操作说明 | 代码示例 |
---|---|---|
MySQL命令行 | 登陆MySQL命令行 | mysql -u <username> -p |
在命令行直接执行命令 | mysql -u <username> -p <pwd> -e "<cmd>" | |
数据库操作 | 查看数据库 | show databases; |
选择数据库 | use <database>; | |
创建数据库 | create database <database> CHARACTER SET utf8 COLLATE utf8_general_ci; | |
删除数据库 | drop schema <database>; | |
数据表操控 (通用SQL) | 查看数据表 | show tables; |
数据表结构 | desc <table>; | |
查看创建表的SQL语句 | show create table <table>; | |
创建数据表 | create table student_score (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255), PRIMARY KEY(id), UNIQUE(name)); | |
复制数据表 | create table <table> * from <table_1>; | |
更改表名 | alter table <table> RENAME TO <table_2> ; | |
新增字段 | alter table <table> ADD score INT NOT NULL Default 0; | |
修改字段 | alter table <table> CHANGE score grade VARCHAR(255); | |
删除字段 | alter table <table> DROP COLUMN grade; | |
增删改查管理 (通用SQL) | 增加数据 | INSERT INTO <table> (<field_1>, <field_2>) VALUES (<value_1>, <value_2>); |
删除数据 | DELETE FROM <table> WHERE <field>=<value>; | |
修改数据 | UPDATE <table> SET <field>=<value> WHERE <field>=<value>; | |
精确查询 | SELECT <field> AS <name> FROM <table> WHERE <field>=<value> LIMIT 10,15; | |
模糊查询 | SELECT * FROM <table> WHERE <field> like '%<value>%'; | |
多表连接查询 | SELECT <table2>.<field> FROM <table1> JOIN <table2> ON <table2>.<field> = <table1>.<field> WHERE <table2>.<field>=<value>; | |
用户/权限管理 | 创建用户 | create USER <username>; |
设置密码 | set PASSWORD FOR <username>= PASSWORD("<pwd>"); | |
赋予权限 (数据库所有表) | GRANT ALL PRIVILEGES ON <database>.* TO <username> IDENTIFIED BY "<pwd>"; | |
权限生效 | FLUSH PRIVILEGES; | |
备份与还原数据库 | 备份数据库 | mysqldump -u root -p --databases <databse> > bak.sql |
备份数据表 | mysqldump -u root -p <database> <table> > bak.sql | |
还原数据库 | mysql -u root -p < bak.sql | |
还原数据表 | mysql -u root -p < bak.sql | |
触发器与限制 | 查看限制项 | SELECT * FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_NAME = '<table>'; |
3.MySQL 查询命令
操作分类 | 操作说明 | 代码示例 |
---|---|---|
基础查询 | 查询所有字段 | SELECT * FROM <table>; |
查询指定字段 | SELECT <field1>, <field2> FROM <table>; | |
去重查询 | SELECT DISTINCT <field> FROM <table>; | |
别名查询 | SELECT <field> AS <alias> FROM <table> AS <table_alias>; | |
条件查询 | 等于条件 | SELECT <field> FROM <table> WHERE <field> = <value>; |
不等于条件 | SELECT <field> FROM <table> WHERE <field> != <value>; | |
大于/小于条件 | SELECT <field> FROM <table> WHERE <field> > <value>; | |
范围查询(between) | SELECT <field> FROM <table> WHERE <field> BETWEEN <min> AND <max>; | |
集合查询(in) | SELECT <field> FROM <table> WHERE <field> IN (<value1>, <value2>); | |
空值查询 | SELECT <field> FROM <table> WHERE <field> IS NULL; | |
非空查询 | SELECT <field> FROM <table> WHERE <field> IS NOT NULL; | |
逻辑与(and) | SELECT <field> FROM <table> WHERE <condition1> AND <condition2>; | |
逻辑或(or) | SELECT <field> FROM <table> WHERE <condition1> OR <condition2>; | |
逻辑非(not) | SELECT <field> FROM <table> WHERE NOT <condition>; | |
模糊查询 | 包含指定字符 | SELECT <field> FROM <table> WHERE <field> LIKE '%<value>%'; |
以指定字符开头 | SELECT <field> FROM <table> WHERE <field> LIKE '<value>%'; | |
以指定字符结尾 | SELECT <field> FROM <table> WHERE <field> LIKE '%<value>'; | |
匹配指定长度字符 | SELECT <field> FROM <table> WHERE <field> LIKE '_<value>'; (下划线表示单个字符) | |
聚合查询 | 统计记录数 | SELECT COUNT(*) FROM <table>; 或 SELECT COUNT(<field>) FROM <table>; |
求和 | SELECT SUM(<field>) FROM <table>; | |
平均值 | SELECT AVG(<field>) FROM <table>; | |
最大值 | SELECT MAX(<field>) FROM <table>; | |
最小值 | SELECT MIN(<field>) FROM <table>; | |
分组查询 | 基础分组 | SELECT <field1>, COUNT(*) FROM <table> GROUP BY <field1>; |
分组筛选(having) | SELECT <field1>, AVG(<field2>) FROM <table> GROUP BY <field1> HAVING AVG(<field2>) > <value>; | |
排序查询 | 升序排序 | SELECT <field> FROM <table> ORDER BY <field> ASC; (ASC可省略) |
降序排序 | SELECT <field> FROM <table> ORDER BY <field> DESC; | |
多字段排序 | SELECT <field1>, <field2> FROM <table> ORDER BY <field1> ASC, <field2> DESC; | |
分页查询 | 限制查询结果数量 | SELECT <field> FROM <table> LIMIT <num>; (返回前num条记录) |
分页查询(指定起始位置) | SELECT <field> FROM <table> LIMIT <offset>, <num>; (从第offset条开始,返回num条记录,offset从0开始) | |
连接查询 | 内连接(inner join) | SELECT <t1.field>, <t2.field> FROM <table1> t1 INNER JOIN <table2> t2 ON t1.<field> = t2.<field>; |
左连接(left join) | SELECT <t1.field>, <t2.field> FROM <table1> t1 LEFT JOIN <table2> t2 ON t1.<field> = t2.<field>; | |
右连接(right join) | SELECT <t1.field>, <t2.field> FROM <table1> t1 RIGHT JOIN <table2> t2 ON t1.<field> = t2.<field>; | |
全连接(union) | SELECT <field> FROM <table1> UNION SELECT <field> FROM <table2>; (合并两个查询结果,去重) | |
子查询 | 作为条件的子查询 | SELECT <field> FROM <table> WHERE <field> IN (SELECT <field> FROM <table2> WHERE <condition>); |
作为表的子查询 | SELECT <t1.field>, <t2.avg_field> FROM <table1> t1 JOIN (SELECT <field>, AVG(<value>) AS avg_field FROM <table2> GROUP BY <field>) t2 ON t1.<field> = t2.<field>; | |
正则表达式查询 | 匹配正则模式 | SELECT <field> FROM <table> WHERE <field> REGEXP '^<pattern>'; (例如:匹配以字母a开头的记录 REGEXP '^a' ) |
4.MySQL 字段属性
属性分类 | 属性名称 | 说明及示例 |
---|---|---|
数据类型 | 整数类型 | 存储整数,包括: - TINYINT :1字节,范围-128127(或0255无符号)- SMALLINT :2字节,范围-32768~32767- INT :4字节,常用整数类型- BIGINT :8字节,存储大整数示例: age INT |
浮点/小数类型 | 存储小数,包括: - FLOAT :4字节单精度浮点数- DOUBLE :8字节双精度浮点数- DECIMAL(M,D) :高精度小数,M为总位数,D为小数位数示例: price DECIMAL(10,2) (最大99999999.99) | |
字符串类型 | 存储文本,包括: - CHAR(N) :固定长度字符串,N为字符数(1~255)- VARCHAR(N) :可变长度字符串,N为最大字符数(1~65535)- TEXT :长文本(最大65535字节)- LONGTEXT :超长文本(最大4GB)示例: name VARCHAR(50) | |
日期时间类型 | 存储时间信息,包括: - DATE :日期(YYYY-MM-DD)- TIME :时间(HH:MM:SS)- DATETIME :日期时间(YYYY-MM-DD HH:MM:SS),范围1000-01-01至9999-12-31- TIMESTAMP :时间戳,范围1970-01-01至2038-01-19,受时区影响示例: create_time DATETIME | |
二进制类型 | 存储二进制数据,包括: - BLOB :二进制大对象(如图片、文件)- LONGBLOB :大型二进制数据示例: file_data BLOB | |
约束属性 | 主键(PRIMARY KEY) | 唯一标识表中记录,不可重复、不可为NULL,一张表只能有一个主键 示例: id INT PRIMARY KEY 或 联合主键 PRIMARY KEY(id, name) |
自增(AUTO_INCREMENT) | 通常与主键配合,插入时自动生成唯一值(默认从1开始递增) 示例: id INT PRIMARY KEY AUTO_INCREMENT | |
非空(NOT NULL) | 字段值不可为NULL,必须填写 示例: username VARCHAR(50) NOT NULL | |
唯一(UNIQUE) | 字段值在表中唯一,允许为NULL(但NULL只允许出现一次) 示例: email VARCHAR(100) UNIQUE | |
默认值(DEFAULT) | 未指定值时自动使用的默认值 示例: status INT DEFAULT 0 (默认状态为0)、create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP (默认当前时间) | |
外键(FOREIGN KEY) | 关联另一张表的主键,确保数据一致性 示例: user_id INT, FOREIGN KEY(user_id) REFERENCES users(id) | |
其他属性 | 注释(COMMENT) | 为字段添加说明文字,增强可读性 示例: age INT COMMENT '用户年龄' |
字符集(CHARACTER SET) | 指定字符串字段的字符集(如utf8、utf8mb4) 示例: name VARCHAR(50) CHARACTER SET utf8mb4 | |
排序规则(COLLATE) | 字符串比较规则,依赖字符集 示例: name VARCHAR(50) COLLATE utf8mb4_general_ci (不区分大小写) |
5.结束语
️ 通过以上介绍,你应该对MySQL的使用有了基本了解。这些命令和应用是MySQL的使用的基础,熟练掌握它们将极大提高你的工作效率。
相关文章:
深入解析:Linux使用-MySQL的使用
深入解析:Linux使用-MySQL的使用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; fo…...
博客园-我的博客-的皮肤更换
皮肤地址 GShang写的博客皮肤 最近用的这个博主写的 cnbook ,强力安利!...
Apache Commons Math3 使用指南:强大的Java数学库 - 教程
Apache Commons Math3 使用指南:强大的Java数学库 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", m…...
HarmonyOS图形处理:Canvas绘制与动画开发实战
本文将全面介绍HarmonyOS 5中Canvas组件的使用方法和动画开发技巧,通过详细的代码示例和最佳实践,帮助您掌握图形绘制和动态效果实现的核心技能。1. Canvas组件基础与核心API Canvas是HarmonyOS中用于2D图形绘制的重要组件,提供了丰富的绘图接口和灵活的动画支持。 1.1 Canv…...
应用的微服务化-容器化-CI/CD
第一阶段:需要对应用按照云原生架构进行应用的微服务化改造,容器化改造,以及对接CI/CD平台,使得应用具备云原生的特点 <1.> 微服务注册配置中心 业务系统在进行微服务化改造的过程中,会涉及微服务的注册,以便于被其他所依赖的上游服务发现,分别是Naco,Eureka和Zo…...
[转发和重定向] 的核心定义
重定向和转发 不废话: “转发” 的核心定义: 服务端内部主导跳转、客户端无感知(仅 1 次请求)、浏览器 URL 不改变,与传统 Web 开发中 “转发” 的本质逻辑完全一致,只是实现载体(Nginx 路由层 vs 上层业务框架)不同,不影响其 “转发” 的属性归属。 “重定向”核心定…...
script setup 在 Vue 3 中的核心作用及具体实现方式
一、核心作用 1. 简化 Composition API 语法自动暴露顶层变量:无需手动通过 return 暴露属性或方法,直接声明即可被模板使用。 <script setup> const count = ref(0); // 自动暴露给模板 </script> <template><p>{{ count }…...
0voice-1.4.1-cmake
cmake介绍...
test test test
this test string...
容器化改造基本原理
虚拟化和容器化是项目云化不可避免的两个问题。虚拟化由于是纯平台操作,一个运行于linux操作系统的项目几乎不需要做任何改造就可以支持虚拟化。而项目如果要支持容器化则需要做许多细致的改造工作。容器化相对于虚拟化的优势也相当明显,运行于裸机性能高,秒级启停容器,更不…...
Blogroll 友链
Blogroll 友链愿我如星君如月,夜夜流光相皎洁。...
Java 字节码与 ASM 框架实战解析
Java 虚拟机(JVM)以字节码(Bytecode)为基础执行所有 Java 程序。对于希望深入理解 Java 底层运行机制,或开发自定义编译器、性能探测器、动态增强框架(如代理、AOP)的开发者来说,掌握 Java 字节码结构与 ASM 等字节码操作工具极为重要。 本篇文章将深入解析 Java 字节码…...
计算机大数据毕业设计选题:基于Spark+hadoop的全球香水市场趋势分析系统 - 详解
计算机大数据毕业设计选题:基于Spark+hadoop的全球香水市场趋势分析系统 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "…...
Dos的常用命令
常用的Dos命令 #盘符切换 #查看当前目录下的所有文件 dir #切换目录 cd change directory cd..返回上一级 #清理屏幕 cls(clear screen) #退出终端 exit #查看电脑的ip ipconfig #打开应用calc(计算器)mspaint(画图)notepad(笔记)#ping 命令 ping www.baidu.com#文件操作…...
持续集成自动化CI/CD
背景Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。持续集成(Continuous integration)是一种软件开发实践,即团队开…...
Lightroom Classic 2025(LRC 2025)安装教程(附直接安装包下载)+入门操作指南
一、LRC 2025下载及软件介绍 Lightroom Classic 2025 v14.0.1 是 Adobe 旗下专业图片后期处理软件,主打RAW 格式图片编辑,专为摄影师、摄影爱好者及数码摄影 / 图形设计从业者设计,提供从照片导入、整理到编辑、打印的全套服务。支持各类相机 RAW 文件解析,能高效完成照片调…...
2025/09/14 【二叉树11】完全二叉树的节点个数
222. 完全二叉树的节点个数 - 力扣(LeetCode)...
8888
jjjj...
接口限流代码 - 实践
接口限流代码 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 14p…...
OutGuess 安装与问题排查指南(Kali Linux 环境)
OutGuess 安装与问题排查指南(Kali Linux 环境) 本文档基于实际操作流程,整理了 OutGuess 工具从下载、编译安装到常见问题解决的完整步骤,适用于 CTF 隐写术场景下的工具配置需求。 一、工具简介 OutGuess 是经典隐写术工具,主要用于在 JPEG/PPM 图像 中隐藏 / 提取数据,…...
拓展操作码举例
拓展操作码举例 指令字长16位,每个地址码占4位: 那么如果要表示三地址操作码有16条 前四位表示操作码op,后面有3个4位长的地址字段A1,A2,A3 三地址指令 至少需要将1111留作扩展操作码之用,因此三地址指令只能有2^4 -1=15条 二地址指令 至少将 1111 1111 留作扩展操作码之…...
TryHackMe | Cicada-3301 Vol:1
TryHackMe | Cicada-3301 Vol:1 一、分析音频软件 先把文件下载到本地使用unzip解压缩,得到一个音频文件和一个图片我们这边先查看一下图片里面是什么内容大致意思:你好。我们正在寻找高智商的人。为了找到他们,我们设计了一个测试。 这张图片里藏有一条信息。找到它,它会指…...
[MCP][01]简介与概念
MCP简介与概念简介 MCP(全称为Model Context Protocol,模型上下文协议)是一种面向大模型交互过程的通用上下文协议标准。其核心目标在于为模型构建一个结构化、可控、可扩展的语义执行环境,使语言模型能够在统一的上下文管理体系下进行任务调度、工具调用、资源协作与状态保…...
完整教程:Word添加图/表题注
完整教程:Word添加图/表题注pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-s…...
CF819B Mister B and PR Shifts
CF819B Mister B and PR Shifts 题目描述 Some time ago Mister B detected a strange signal from the space, which he started to study. After some transformation the signal turned out to be a permutation $ p $ of length $ n $ or its cyclic shift. For the furthe…...
第一次自我介绍
大家好,我是李嘉倩,核心兴趣是《和平精英》《第五人格》这类竞技游戏,更擅长把游戏变成 “数据收集与分析” 的实践场,这也是我的核心优势。 为提升游戏策略,我坚持1 年半做了两件事:数据收集:用 Excel 记录《和平精英》200 + 局的落地点物资刷新率、对战淘汰 / 成盒原因…...
在Linux环境部署Flask应用并启用SSL/TLS安全协议
部署Flask应用通常涉及以下几个步骤:准备应用程序、选择合适的WSGI服务器、配置Web服务器代理、申请SSL证书以及配置SSL。 准备Flask应用 首先,你需要在Linux服务器上安装必要的软件,包括:Python和pip(Python包管理器) 虚拟环境(virtualenv或conda) Flask框架和依赖库使…...
0127_责任链模式(Chain of Responsibility)
责任链模式(Chain of Responsibility) 意图 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。 UML 图优点降低耦合度:请求发送者不需要知道哪个对象处理请求 动态组合:可以…...
洛枫娜娜米讨厌数学……?
Xuan_qwq 好闪,拜谢 Xuan_qwq!插板 Catalan 数 应用一般有两种模型:折线型。 二叉树型。? CF1696E Placing Jinas 诈骗题。“最小值”纯诈骗,实际上操作次数和操作顺序没半毛钱关系。 每个点上的操作次数就是从 $(0, 0)$ 到这个点的路径条数,这是容易理解的,一条路径带来…...
Spatial 语言核心概念简介
我们来详细解析一下斯坦福大学的 Spatial 语言。这是一个非常专业且强大的领域特定语言(DSL),用于高性能硬件(如FPGA或ASIC)生成。 一、Spatial 语言核心概念简介 Spatial 是一个嵌入在 Scala 内部的 DSL(Domain-Specific Language)。它的根本目标是让软件工程师和算法专…...
Redis数据库的五类核心数据结构
Redis是一个开源的键值存储系统,支持多种类型的值模型,其中五种核心的数据结构是:String(字符串)、List(列表)、Set(集合)、Hash(哈希表)、和Sorted Set(有序集合)。下面将对每种数据结构进行详细解析。 1. String(字符串) String数据结构是最简单的数据类型,通…...
RAG 个人知识库 向量查找原理
...
css-1
css的三大特性继承性:子元素继承父元素样式主要是跟文字相关的样式继承。层叠性:后面样式会覆盖前面样式,主要解决样式冲突问题。但是要看选择器权重来确定优先级优先级:优先级由选择器的 权重 决定,权重高的规则覆盖权重低的规则css的优先级原则:1. 优先级相等的时候,CS…...
Java-JDK8新特性
Java-JDK8新特性主要讲解: 1.Java8概述 2.Lambda表达式 3.函数式接口 4.方法引用 5.Stream API 6.新时间API 1.Java8概述 略 2.Lambda表达式 https://github.com/godmaybelieve...
解决MySQL ONLY_FULL_GROUP_BY 错误的方案
在MySQL数据库中,ONLY_FULL_GROUP_BY是一个服务器SQL模式,它用于控制对 GROUP BY子句的处理。如果启用了 ONLY_FULL_GROUP_BY,任何不在 GROUP BY子句中也没有使用聚合函数的非聚合列都会导致错误。这是为了防止不确定的结果,因为当选择非聚合列而没有明确指定如何对这些列进…...
博客园美化
参考: 基本模板:博客园美化(最全) 看板猫:博客园看板猫 大部分套用的是模板,自己更改了一些尺寸、位置、透明度之类的。下面放上博客定制css。 #google_ad_c1, #google_ad_c2 {display:none;} .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .…...
spatial 一个芯片设计语言的简介 scala dsl 并行支持 -1
以下是对原网站内容的翻译 https://spatial-lang.readthedocs.io/en/legacy/tutorial/starting.html 以下是您提供的Spatial框架入门指南的中英对照翻译:0. Getting Started | 0. 开始使用 Prerequisites | 先决条件 First, make sure to download and instal…...
NOIP备考
模拟赛 1 T1 https://www.luogu.com.cn/problem/T664700 前置知识是 P5019。 很典的思路。在 \(a\) 序列前后都塞 \(a_0=a_{n+1}=0\)。算长 \(n+2-1=n+1\) 的差分数组 \(c\)。易知 \(a\) 是 \(c\) 的一个前缀和数组,即 \(a_i+c_i=a_{i+1}\)。已知 \(a_0=0\),只需要差分数组都…...
NVIDIA GPGPU 访存通路设计调研
纵向结构上,传统架构仅对用户暴露 2 层存储交互,而随着 Hopper 添加 st.async ,NVIDIA GPU 完成暴露 3 层存储结构的双向通信接口,即 \(2\times C_{3}^{2}=6\) 一共 6 种指令。Src\Dst RF SMEM DRAMRF x st. Shared st. GlobalSMEM ld. Shared x st. Async (Hopper)DRAM ld…...
用 Java 和 Tesseract 实现验证码图像识别
验证码图像识别在自动化测试、信息采集、系统登录等场景中有着重要的应用价值。本文将介绍如何使用 Java 语言结合 Tesseract OCR 引擎,构建一个完整的验证码图像识别流程,包括图像预处理与识别优化。 一、环境准备 安装 Java(推荐版本 11 及以上) 安装 Tesseract OCR 引擎…...
AGC003D
题意是给定一个集合 \(S\) 要求找到它的最大的子集使得子集里的任意两个数相乘都不是完全立方数。 \(S_i\le1e10\),集合大小小于 \(1e5\)。 首先对于每个数都把它的因子的指数对 \(3\) 取模,然后可以发现操作完了的形式都只有一种形式与它相乘可以得到完全立方数的数。那就在…...
Java 实现验证码图像识别与处理流程详解
在实际开发中,自动化处理验证码图像是提升系统智能化和测试效率的一个关键点。Java 作为一门稳健的编程语言,结合 OCR 技术可以有效实现验证码识别。本文将介绍如何使用 Java 配合 Tesseract OCR 引擎完成从图像读取、预处理到文字识别的完整流程。 一、项目依赖准备 安装 Ja…...
图论杂题。
胡马渐远蹄声尽,四顾萧条暮色起。 空城角随西风吟,废池乔木,犹厌言兵。 ——《无题》luogu P6880 反转边等价于删一条再加一条边。 加边的肯定随便求。 删边,如果删在最短路上我们就暴力跑一遍;否则肯定还是最短路。两个方向最短路上 \(\mathcal{O}(n)\) 条边。用稠密图朴…...
暑假训练小结
主要做bzoj题单。 前几天相当痛苦,水平太菜题单根本做不下去。 基本都是跟着题解写代码。 还记得最开始写的是一道网络流然后学的是ek。 熬过第一个阶段之后,从杀蚂蚁那道题之后开始发现自己可以大概看懂大部分题解的思路了。 别问我为什么是杀蚂蚁,因为那段时间里这个记得最…...
初识python:一些基础的知识(函数)
目录函数函数的几种定义方法函数的返回值函数的调用函数的实参和形参实参的分类 函数 函数的几种定义方法 函数拥有以下几种定义方法,第一种:没有参数 def self_max(): a,b = 10,20 if a > b: print(a) elif a == b: print(别搞,两个变量相同。) else: print(b) self_max(…...
Java并发编程(3)
Java内存模型 1、说一下你对Java内存模型(JMM)的理解Java程序运行在各种硬件和操作系统上,不同硬件的CPU缓存策略、内存访问顺序、指令重排规则可能都不一样。那JMM是Java规范定义的一个抽象模型,是一套规则:线程和主内存的交互:线程如何从主内存读变量、写变量 可见性保…...
斐波那契子序列
到处乱逛找到的一道有意思的题。 定义斐波那契序列为:前两项值不做限制,\(f_i=f_{i-1}+f_{i-2}(2<i\le n)\)。 给定一个长度为 \(n\) 的序列 \(a\),找出其最长的斐波那契子序列。 如果有多个最长输出字典序最小的一个。 正解做法貌似为 \(n^2logn\)。即动态规划加二分。 …...
[豪の学习笔记] 软考中级备考 基础复习#10
UML建模概述、类图、用例图、顺序图、活动图、状态图、通信图、构件图跟学视频:学以致知Learning - 软件设计师 基础阶段|考点理论精讲 Chapter 10 - UML建模 1 - 概述 统一建模语言UML是面向对象软件的标准化建模语言。UML由三个要素构成:UML的基本构造块、支配这些构造块…...
题解:CF2137D Replace with Occurrences
题意为给定一个长度为 \(n\) 的序列 \(b\),要求你构造一个序列 \(a\) 使得对于每一个序列 \(a\) 中的数 \(a_i\),在序列 \(a\) 都出现了 \(b_i\) 次。 可以发现 \(a\) 序列中的数的大小是无关紧要的,重要的是出现次数。 一开始可以很快的得出一个错解那就是判断完有无解之后…...
题解:CF2137C Maximum Even Sum
题意是给定两个数 \(a,b\),你可以进行一次操作,选定一个 \(b\) 的因数 \(k\),将 \(a\) 变为 \(a \times k\),并将 \(b\) 变为 \(b/k\),求出如何操作可以使得 \(a+b\) 是一个偶数,并且值最大,请输出这个最大值。 如果不考虑 \(a+b\) 是否为偶数,容易想到最大值为 \(a\ti…...