前缀和与差分
前缀和与差分 前缀和 一维前缀和 给定一维数组a1,a2,a3,a4,a5,…,前缀和能加速该数组中任意一段的求解 前缀和的存储方式为:f[i] = f[i-1]+a[i],即第i个前缀和数组中的内容为前i个a的总和,因此通常习惯从1开始存储 求取任意一段a数组的总和:假设我们要求解i~j的a数组的总和,我们可以利用前缀和数组进行如下计算:sum =...
十一届蓝桥杯国赛
第十一届蓝桥杯大赛软件类决赛 题目在这里 部分自己写的,大部分学习好友therainisme 试题 A: 美丽的 2 1234567891011# 暴力求解count = 0for i in range(1, 2021): temp = i while temp != 0: if temp % 10 == 2: count += 1 break # 记得这里要取整 temp = int(temp/10)print(count) 答案:563 试题 B: 扩散 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include <bits/stdc++.h>// 这题宽搜using namespace std;// 获取数对时偷懒#define x...
数据库理论(七)——并发控制
数据库理论(七)——并发控制 并发控制的任务: 1. 对并发操作进行正确调度 2. 保证事物的隔离性 3. 保证数据库的一致性 并发操作可能带来的数据不一致性: 丢失修改 不可重复读 读“脏”数据 辅助符号: R(X):读数据x W(X):写数据x 并发控制的基本理念 封锁(Locking) 时间戳(Timestamp) 乐观控制法 商用的DBMS通常采用封锁发方法 封锁 封锁指事物T在对某个数据对象(表,记录)操作之前,先向系统发出请求,对其加锁; 加锁后,事物T就对该数据对象有了一定的控制,在事物T1释放它的锁之前,其他事物不能更新此数据对象。 事物对数据对象加锁的类型决定了事物对数据对象的控制 排他锁(Exclusive Locks,简记为X锁,写锁) 事物T在更新数据对象之前,必须先获得数据对象的排他锁 若事物T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事物都不能在对A加任何类型的锁 共享锁(Share...
数据库理论(六)——数据库恢复
数据库理论(六)——数据库恢复 在数据库的数据操作过程中,通常会经过两个部分,一个是经过数据文件,对数据进行读写,还有一个部分会进入日志文件对数据库的操作行为进行记录 数据库操作的组织模式 事物(Transaction) 一个数据库操作序列 一个不可分割的工作单元 恢复和并发控制的基本单元 事物定义的sql语句 12345678910111213-- 显式定义begin transactionsql语句1sql语句2commitbegin transactionsql语句1sql语句2rollback-- 隐式定义当用户没有显示地定义事物时,DBMS将自动划分事物 数据库故障 事物内部的故障 比如:运算溢出,发生死锁,违反某些完整性限制 发生事物故障时,事物中的操作一部分已经发生,一部分还没有开始,因此需要对发生的操作进行撤销(UNDO) 系统故障 造成系统停止运转的任何事件: 1. 系统要重新启动 2. 所有正在运行的事物都非正常终止 3. 没有破坏数据库 4. 内存中数据库缓冲区的信息全部丢失 典型的系统故障: 1. 特定类型的硬件错误(CPU故障) 2....
数据库理论(三)——完整性约束及触发器
数据库理论(三)——完整性约束,触发器和数据库安全 关系模型的实体完整性 码 实体完整性的定义:primary key(主码) 约束: 1. 列级约束,在定义好属性后进行约束,只对单个属性,**约束方式**:主键,外键,唯一,检查,默认,非空 2. 表级约束,对多个属性进行约束,通常在定义好属性之后编写,**联合主码**通常使用的是表级约束,**约束方式**:主键,外键,唯一,检查 对应sql语句 1234567891011121314151617create table 表名( -- 非空 属性1 类型1 not null, -- 唯一 属性2 类型2 unique, -- 默认 属性3 类型3 default 默认值, -- 检查 属性4 类型4 check (只有属性4满足L条件时才能正常创建) -- 联合组件 primary key(属性1,属性2), -- 外码 foreign key(属性1) references 另一个表(属性1), --...
数据库理论(二)——索引与视图
数据库理论(二)——索引与视图 数据库对象 表(tables):关系在数据库中的表现形式 视图(Views):虚表,从一个或者多个table中导出的,数据库中存放视图的结构而不存放视图对应的数据,可以基于存在的视图定义新的视图。 索引(index):一种特殊的存储结构,伴随基本表存在,是基本表中若干属性(组)的有序结构;用于加快数据库的查询速度。 1个关系数据库实例->多个数据库 1个数据库->多个模式 1个模式->多个表,视图,索引等数据库对象 创建和删除数据库 1234-- 创建数据库CREATE DATABASE 数据库的名称;-- 删除数据库DROP DATABASE 数据库的名称; 模式的创建与删除 1234-- 创建模式,作者是用户CREATE SCHEMA 模式名称 AUTHORIZATION 用户名;-- 删除模式 cascade级联删除——删除该模式下的所有数据库对象,restrict限制删除——只有模式为空的时候才能删除drop schema 模式名称...
数据库理论(一)——基本概念与关系代数
数据库理论(一)——基本概念与关系代数 基本概念 数据库(Database):长期存储在计算机内的,有组织的,可共享的数据集合 数据库管理系统(DBMS databases management system):能够有效建立和维护大量数据的强大工具 数据库管理员(DBA) 用户(User) 型:某一类数据的结构和属性的说明 值:型的一个具体赋值 模式(schema):数据库中全体数据的逻辑结构和特征描述 实例:模式的一个具体的值 数据模型的三个层面 概念层面 逻辑层面 物理层面 (逻辑)数据模型 = 数据结构 + 数据操作集合 + 数据完整性约束 关系数据模型 = 关系数据结构 + 关系数据操作集合 + 关系数据完整性约束 数据库的三级结构模式: 模式(Schema):数据操作 内模式(Internal Schema):数据存储方式 外模式(External...
BiSeNet实时语义分割
BiSeNet实时语义分割 论文名称:BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation 作者:Changqian Yu, Jingbo Wang, Chao Peng, Changxin Gao, Gang Yu, Nong Sang 期刊:ECCV...
递归与递推
递归与递推 说白了就是搜索算法和简单动归 递归实现指数型枚举 递归实现指数型枚举 解题思路: 主要就是深搜dfs,对于一个数,我们要么选择他要么不选择他就两种情况,搜够n层,然后输出就行 用u表示现在搜第u层,status表示当前选中的点,看成二进制数,第i位为0表示不选择i,为1表示选择i。 AC代码 123456789101112131415161718192021222324#include <bits/stdc++.h>using namespace std;int n;// 当前可选择的数为u,状态位status当作二进制看,0的位置位不选,1的位置为选void dfs(int u,int status){ if(u==n){ for(int i=0;i<n;i++) { if(status>>i&1) cout<<i+1<<" "; } ...