C++STL
C++ 标准模板库 (STL, Standard Template Library):包含一些常用数据结构与算法的模板的 C++ 软件库。其包含四个组件——算法 (Algorithms)、容器 (Containers)、仿函数 (Functors)、迭代器 (Iterators). 示例: 算法:sort(a.begin(), a.end()) 容器:queue<int> que 仿函数:greater<int>() 迭代器:vector<int>::iterator it = a.begin() 队列queue特点:先进先出 操作: 作用 操作 实例 构造 queue<类型> que queue< int > que; 进队 .push(元素) que.push(1); 出队 .pop() que.pop(); 取队首 .front() int a = que.front(); 取队尾 .back() int a =...
刷题日记3.19
1.埃氏筛法解决:找出所有小于等于n的质数问题。 思想:任意一个数(大于1),它的倍数均不是质数。 核心代码:vis[0]=vis[1]=true;//1表示不是质数,被筛掉 for(int i=2;i<=n;++i){ if(!vis[i])for(ll j=1ll * i * i; j<=n;j+=i)vis[j]=true; } 复杂度:O(n*log(logn)), 小于1e7可用,再大用欧拉筛法 欧拉筛法欧拉筛法的核心思想是:每个合数只被它的最小质因数筛掉一次。通过这种方式,避免了埃氏筛法中合数被重复标记的问题,从而提高了效率。 1234567891011// 初始化for (int i = 2; i <= n; ++i) is_prime[i] = true;// 筛选for (int i = 2; i <= n; ++i) { if (is_prime[i]) prime.push_back(i); //...
Redis
Redis是什么:基于内存的key-value结构的数据库 特点: 基于内存存储,读写性能高 适合存储热点数据(热点商品、资讯、新闻) 官网:https://redis.io/ 中文网:https://www.redis.net.cn/ 数据类型 常用命令:字符串: set key value—设置指定key的值 get key—获取指定key的值 setex key seconds value—设置指定key的值,并在seconds后过期(常用于验证码) setnx key value—只有在key不存在时设置key的值 哈希: hset key field value—设置指定key的字段和值 hget key field—获取指定key的字段的值 hdel key field—删除指定key的字段 hkeys key—显示所有字段 hvals key—显示所有值 列表: 集合: 有序集合: 通用命令: Java中操作Redis
苍穹外卖
本文章记录学习苍穹外卖的过程和遇到的问题。 首次接手苍穹外卖这个项目,可以发现并不是让我们从零开始建立的,我们是在一定基础上进行后续的功能开发的。并且提供了前端所有的源码以便于我们进行前后端联调测试,先把学习重心放到后端实现上来。 我首先关注到的是这个项目的结构,跟目录下分了3个包,分别是common(普通类)、pojo(实体类等)和server(业务逻辑类等),把前端用nginx启动后,直接在server包下的SkyApplication类启动这个项目。发现这个项目运行在本地的8080上,登录和登出功能已经是做好了的。 然后老师带我们进行了需求分析,导入需要实现的功能接口,老师演示的是Yapi导入的接口,由于它已经停止服务我便使用apifox进行了接口导入。 第一个功能->新增员工 查看接口 在控制层EmployeeController类新增一个方法作为对外的接口 123456789101112/*** 新增员工* @param employeeDTO* @return*...
springboot_xushu
跟着up主徐庶做了一个springboot的小Demo,在后端实现了user的增删改查。以下是对本次学习的记录。 首先我打开了IDEA软件创建了一个用maven管理的springboot项目,勾选了web,mysql...
刷题日记2.26
1.前缀和前缀和提供一个时间复杂的为O(1)的区间查询。通过前缀和右端点与左端点-1之差可以得到其区间和。 本题链接: 【模板】前缀和 | 星码StarryCoding | 算法竞赛新手村 | ACM、OI、蓝桥杯、天梯赛、CCF、ACM-ICPC、大学生信息学竞赛 今日题解如下: 12345678910111213141516171819202122232425262728#include<bits/stdc++.h>using namespace std;using ll = long long;const int N = 1e5 +9;ll a[N], pre[N];int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); int t; cin>>t; while(t--) { int n,q; cin >> n >> q; for(int i = 1; i <= n;...
刷题注意事项
1.scanf和printf 用于格式化输入输出 不能取消同步流 2.cin和cout(c++特性) 简洁,在取消同步流的情况下一般比scanf更快 取消同步流一定要写完整 1ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); 一般不要使用cout << endl;改用cout << ‘\n’; endl=’\n’+强制刷新缓冲区(比较慢而且一般也不需要) 3.输入就单独的输入,一会输入做io,一会做计算反而慢一点。 4.定义时一般使用using type xx = xxx;而不是#define xx xxx;前者为一个变量,后者为整体带入,如果没括号可能会导致计算错误。
编译原理
...
计算机科学学习记录
逻辑门的实现 NOT: AND: OR: XOR: 算术逻辑单元(ALU) 半加器(处理1+1以内的运算) 全加器(处理1+1+1以内的运算) 锁存器: 门锁: 矩阵排列门锁构成寄存器。
操作系统
操作系统概述定义操作系统(Operating...