自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(274)
  • 问答 (1)
  • 收藏
  • 关注

原创 短网址应用程序

它是一个 web 缩短网址应用程序,《the way to go》书中项目它是一个 web 缩短网址应用程序。rpcgobjson项目结构key.gopackage mainvar keyChar = []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")func genKey(n int) string { if n == 0 { return string(keyChar[0])

2021-11-18 17:44:42 170

原创 vim配置

" An example for a vimrc file."" To use it, copy it to" for Unix and OS/2: ~/.vimrc" for Amiga: s:.vimrc" for MS-DOS and Win32: $VIM\_vimrc" for OpenVMS: sys$login:.vimrc" When started as "evim", evim.vim will already

2021-09-20 12:46:25 216

原创 tmux配置【mac】

set-option -g status-keys visetw -g mode-keys visetw -g monitor-activity on# setw -g c0-change-trigger 10# setw -g c0-change-interval 100# setw -g c0-change-interval 50# setw -g c0-change-trigger 75set-window-option -g automatic-rename onset-

2021-09-20 11:46:02 397 1

原创 Golang切片

切片:元素存哪里存了多少可以存多少扩容规则第一步:预估容量newCapoldCap*2 < cap : newCap = capOldlen < 1024 : newCap = oldCap *2newCap = 1.25oldCap第二步: newCap个元素多大内存内存管理模块会提前向操作系统申请内存块,分为常用的规格管理起来。申请内存时会帮我们申请到足够大,并且最接近的规格。第三步:申请到的内存匹配到合适的内存规格Golan

2021-09-02 11:57:42 82

原创 剑指offer第五周

数字序列中的某一位class Solution {public: int digitAtIndex(int n) { /* begin num len 1-9 9 1 10-99 90 2 100-999 900 3 1000-999 9000 4 */

2021-08-30 21:32:14 76

原创 剑指offer第4周

数字排列题意有重复数字的全排列。dfs思路1 2 2 3 ,枚举到第3个数,我们固定一个顺序,把第2个2放在第1个2之后。代码class Solution {public: vector<vector<int>>res; vector<bool>st; vector<int>path; vector<vector<int>> permutation(vector<int>&a

2021-08-30 21:31:30 59

原创 剑指offer第三周

反转链表代码:每次把节点往前加/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseList(ListNode* head) { Lis

2021-08-30 21:24:29 61

原创 Coap协议

什么是Coap协议CoAP是一种低开销的简单协议,专门针对受限设备(例如微控制器)和受限网络而设计。特征受限制的小型设备的Web传输协议异步消息交换低开销,非常易于解析URI和内容类型支持代理和缓存功能层次CoAP协议有两个不同的层:消息负载和请求/响应。消息层处理UDP和异步消息。请求/响应层基于请求/响应消息来管理请求/响应交互。Coap消息模型这是CoAP的最低层。该层处理端点之间的UDP交换消息。每个CoAP消息都有一个唯一的ID。这对于检测消息重复很有用。CoAP协议使

2021-08-21 14:54:46 996

原创 LeetCode 15. 三数之和

下标枚举i j k,i固定之后,双指针i k往中间靠class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>>res; sort(nums.begin(),nums.end()); for(int i=0;i<nums.size();i++){

2021-08-16 02:16:39 85

原创 LeetCode146【LRU Cache】

用一个list维护Cache,用一个map通过key快速找节点class LRUCache {public: struct node { int key,value; node *left,*right; node (int _key,int _value){ key=_key; value=_value; } }*L,*R; unordered_map<int,

2021-08-16 01:40:20 114

原创 MQTT【IOT】

MQTT精简发布 订阅模式:一对多的信息发布支持连续的会话控制客户端算力低服务质量:至多一次、至少一次、只有一次三种身份:发布者、订阅者、代理(服务器)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);payload,可以理解为消息的内容,是指订阅者具体要使用的内容。建立连接之后,提供一个基于TCP的连接,数据通过MQTT发送时候,MQTT会把服务质量与主题名相关联。客户端:发布订阅其他客户端的信息断开服务器连接

2021-07-20 11:08:43 96

原创 window系统通过Docker跑Go项目流程【Go】

docker部分window10,需要执行Services.msc,把servers服务启动拉取Ubuntu16.04镜像,换源、装g++、golang-go、window下GOPATH/src,目录映射。启动docker进入上次镜像目录配置.bashrc,文件拉取镜像、目录映射docker run -it ubuntu /bin/bashdocker run -t -i -v /D/Go/:/Go /D/Go/src/:/Go/srcubuntu:16.04 /bin/bashse

2021-07-14 11:07:20 301

原创 面试记录【计算机网络部分】

计算机网络OSI,TCP/IP,五层协议的体系结构OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。每一层的作用如下:物理层:激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。数据链路层:数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流

2021-05-14 12:45:43 241 3

原创 Nastya Studies Informatics(数学)

Nastya Studies Informatics(数学)题意a,b为两个正整数,l<= a,b <=r。x=gcd(a,b),y=lcm(a,b)。思路:如果直接暴力,利用xy=ab 来做的话,肯定会T!现在,我们设 a=nm,b=mz.那么,x=m,y=nmz,ab=nmmz。如果我们来枚举a的所有可能的话,1e9,太大,所以我们考虑枚举n的所有可能!!我们先来确定n的范围,最小为1,n最大值为sqrt(n*z),确定了范围后,就可以开始写了。...

2021-03-26 11:19:28 63

原创 B树、B+树小结

B树有n个分支的节点,有n-1个关键字,可以按照递增顺序排列,节点是在关键字中间空位置引出来的节点内关键字互相不相等。叶子节点在同一层每个节点的存储空间是相同大小的,都是阶数-1查找:从根节点扫描节点中的关键字, 要是找不到,就按照合适的分支到下一层查找,节点内有序数组。找到最下一层空指针,就没有查找到。插入先放好阶数-1个数,之后添加进行:节点拆分的操作。阶数/2下取整的位置,重新建立节点。也有可能拆分的节点放在上一层(要是上一层的节点有空位置的话),这种情况,左右俩半都是一个节点,上一

2021-03-15 09:01:06 108

原创 图书管理系统遇到的bug以及解决思路【数据库连接不上】【jar包不匹配】

记录一下改bug历程总结一堆报错,有几行是关于sql的新建一个JDBC用来访问数据库,发现失败新建JDBC代码,用输出语句+注释,找见通过DriverManager获取数据库连接有问题然后处理这个问题,期间发现mac的mysql端口号不是3306,还有一个语法问题,还有jar包的版本问题。以上操作使得JDBC可以连接数据库按这个思路成功把项目跑起来了过程Tomact问题在ljc好同志的帮助下,解决的众多bug。记录一下。首先在本地服务器tomcat跑遇到问题。刚开始的报错:MySQ

2021-02-02 18:02:38 2140 2

原创 vscode for mac配置C++环境

官网链接:vscode配置c++{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configu

2021-01-22 00:21:32 357

原创 访问GitHub图片加载不出来解决办法

访问GitHub图片加载不出来解决办法先找到hosts文件然后编辑这个文件,把以下数据粘贴到文件末尾cmd+s之后,刷新GitHub页面就OK了# GitHub Start 140.82.113.3 github.com140.82.114.20 gist.github.com151.101.184.133 assets-cdn.github.com151.101.184.133 raw.githubusercontent.com151.101.184

2021-01-11 20:18:41 368

原创 数据库Oracle【期末复习一】

基本结构是一种关系数据库管理系统、是一个数据容器包含了表、索引、视图、过程、函数、包等对象内部结构(逻辑存储结构)逻辑存储结构从技术概念上描述了Oracle内部数据的组织和管理方式数据块数据库读写数据的最小存储单元区连续的数据库组成逻辑单位段一个、多个不连续的区的集合表空间若干个段组成、是最大的逻辑存储单元。数据库被划分为一个、多个表空间的逻辑结构模式对象​用户可以操作的逻辑对象方案用户可以操作的对象集外部结构(物理存储结构)物理存储结构从操作

2021-01-05 22:20:03 230 2

原创 swift+xcode实现2048小游戏

介绍使用swift+xcode编写的2048小游戏,更多详情,请点击GitHub链接:https://github.com/xiongshou/2048兄弟们 给个star呀 、、考完试,会把注释写一下(大概率会鸽)开始游戏进行中失败时弹窗项目地址github地址...

2021-01-03 23:50:29 1206 2

原创 网络战争【分数规划】【网络流最小割】

网络战争题意思路先分数规划,转换为在图中跑最小割,这个题的边权可能为负数,因此我们把负数边都选上,然后在正数边权中跑最小割。每次二分分数规划mid值,我们把f[] 流量数组处理就行了代码#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 110, M = 810, INF = 1e8;const double eps

2020-12-23 23:11:11 185

原创 秘密挤奶机【图中不重复K条路的最大值中最小值】【网络流最大流判定】

图中不重复K条路的最大值中最小值题意无向图中起点到终点找出不重复的K条路,求出这K条路中的最长路径的最小值。思路最大中的最小。看能不能二分。二分最长路径,二分取值mid,若judge函数,可以定义为能不能找出K条路。0-mid中的路径,mid值越大越可能找出K条路现在的问题就是:能不能用最大流判断出0-mid长度走出K条路处理每次把一条边中权重小于mid的边,f[i] = 1,else f[i]=0。然后走网络流,因为容量为1,那么这些路肯定不重复。代码#include<iost

2020-12-22 20:53:58 175

原创 网络流板子1【无源汇上下界可行流】【有源汇上下界最大流】【有源汇上下界最小流】

无源汇上下界可行流题意给定一个包含 n 个点 m 条边的有向图,每条边都有一个流量下界和流量上界。求一种可行方案使得在所有点满足流量平衡条件的前提下,所有边满足流量限制。代码#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 210, M = (10200 + N) * 2, INF = 1e8;int n, m, S

2020-12-22 19:26:14 205 1

原创 Java web【期末复习】

测试与开发的关系W模型更能反映软件测试和软件开发的关系,测试的活动建立在软件开发的结果之上,测试的对象就是软件开发的阶段性成果,软件开发的进一步活动依赖于测试的结果,如果测试结果反映开发结果正确、良好,开发活动可以快速进入下一阶段。评审的方法不同、文档评审&管理评审技术评审:产品以及各个阶段的输出内容进行技术形评估,焦点在技术实现上文档评审:对软件过程中所存在的各类文档的格式、内容等进行评审,检查文档格式是否符合标准等等。非正式到正式的评审方式,这些的特点、内容、参加人员临时评审-轮查-

2020-12-22 18:02:49 5317

原创 软件测试【期末复习】

测试与开发的关系W模型更能反映软件测试和软件开发的关系,测试的活动建立在软件开发的结果之上,测试的对象就是软件开发的阶段性成果,软件开发的进一步活动依赖于测试的结果,如果测试结果反映开发结果正确、良好,开发活动可以快速进入下一阶段。评审的方法不同、文档评审&管理评审技术评审:产品以及各个阶段的输出内容进行技术形评估,焦点在技术实现上文档评审:对软件过程中所存在的各类文档的格式、内容等进行评审,检查文档格式是否符合标准等等。非正式到正式的评审方式,这些的特点、内容、参加人员临时评审-轮查-

2020-12-22 18:02:02 571

原创 Contest HDU - 5045【状态DP】【前i到题,题被写的状态为j】【状态都是1,全部置为0】

题意就是n个人,m道题,每个人做每道题有一个值。求做所有题目的最大值。但是!在任何时刻,无论哪个人都不能比其他所有人做的题多2道,或者更多。换句话说,如果n个人n道题,就必须一人一道。代码#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#includ

2020-12-22 11:56:47 87

原创 第21次CCF计算机软件能力认证【期末预测之最佳阈值】【期末预测之安全指数】

期末预测之安全指数题目描述首先,顿顿选取了如“课堂表现”、“自习时长”、“作业得分”、“社团活动参与度”等 ???? 项指标作为预测的依据。 然后,顿顿根据自己平日里对小菜的暗中观察,以百分制给每一项指标打分,即小菜同学第 ????(1≤????≤????)项指标的得分 ???????????????????????? 是一个 [0,100] 范围内的整数。 鉴于每一项指标的重要性不尽相同,顿顿用一个 [−10,10] 范围内的整数 ???????? 来表示第 ????(1≤????≤????)项指标的

2020-12-13 21:26:10 3467

原创 c语言实现Json解析器【兄弟节点用双链表】【兄弟节点用单链表表示】

my_cJson介绍尽量使用指针以及深拷贝实现c语言中字符串相关函数功能,实现了由字符串转化为Json格式,由Json格式转化字符串的功能。简单地基于C语言的JSON解析器,包含了基本的节点创建、解析、封装、输出等等功能。关于Json介绍在整体逻辑结构使用树来存储Json,使用左孩子右兄弟存储树。孩子节点由一个指针指向,兄弟节点使用双链表链接,可以快速增删改兄弟节点内容。typedef struct cJSON{ struct cJSON *next, *prev; struct

2020-12-06 14:35:01 422

原创 二分图的多重匹配问题【园桌问题】【同一公司的人在不同桌子上】【源点限制公司人数】【汇点限制桌位数】

二分图的多重匹配问题题目:圆桌问题有一些公司,每个公司有一些员工,还有一些圆桌,每个公司里面的员工分配到不同的园桌,每个圆桌有位置上限。建图每个公司里面的人分配到不同的桌子,求最大匹配数,抽象为二分图的多重匹配问题。每个公司抽象出点,然后在每个桌子上连边,意味着:这个公司向这个桌子分配一个人。每个公司有人数限制:流网络里面流入这个点的流量为这个人数每个桌子有座位限制:流网络流出这个座位的流量有限制建立源点:源点到每个公司的流量为这个公司的人数建立汇点:每个桌子到汇点的流量为这个桌子的座位数

2020-12-03 13:08:35 214

原创 网络流【二分图建图】【输出匹配=边是不是满的】

网络流-二分图求二分图的最大匹配,建图,网络流:源点、汇点。求最大匹配,就是求这个流网络的整数值最大流,使用Dinic求整数值最大流 (算法导论)输出匹配的话:考虑这个边是不是满的就可以了首先这个边是正向边然后枚举正向边,e[i] 的编号属于右边的集合然后,找到e[i]的前面的点,就是e[i^1]代码#include <iostream>#include <cstring>#include <algorithm>using namespace

2020-12-03 11:28:49 136

原创 Web程序设计基础

前端开发相关概念所有的浏览器对同一个CSS样式的解析都相同,因此页面在不同浏览器下的显示效果不一定相同URL(英文Uniform Resource Locator的缩写)中文译为“统一资源定位符”。URL其实就是Web地址,俗称“网址”。HTTP”是一种详细规定了浏览器和万维网服务器之间互相通信的规则。头部相关标签基本概念title标签设置的标题可作为默认快捷方式或收藏夹的名称link标签href设置外部文档的地址rel设置当前文档与引用的外部文档的关系type设置外部文档的类型

2020-11-26 13:01:09 803

原创 饼干【贪心确定序列】【类似整数划分DP】【记录中间状态,递归输出路径】

饼干n个孩子,m个饼干。每个孩子都有一个嫉妒值,嫉妒值=(有多少个孩子的饼干比他多)* g。求一种分配方式,使得总体嫉妒值最小思路先处理嫉妒值:贪心,处理每个孩子的顺序,使得分配的饼干数量单调下降。贪心流程:g值越大,多分配饼干,然后把孩子编号排序。排好序之后的题目:n个孩子,m个饼干的嫉妒最小值,并且这斜孩子的饼干数单调下降。类似整数划分的思想f[i] [j] : 前i个孩子,分配了j块饼干的情况状态转移:第i个孩子以及之前的孩子,那段区间都是1块饼干的个数考虑输出路径:输出路

2020-11-21 12:42:26 572 2

原创 绿色通道【二分】【单调队列优化DP】【序列中连续m不选】【序列中每m+1个选择一个】

绿色通道题意长度为n的序列,可以选择最长长度为len的空序列,保证剩下的序列能在T时间内完成。他最长的空题段len至少有多长就可以了思路首先,最长的空题段len:序列中len+1长度内选择1个,check出可以不可以。然后,要求这个len最少,二分模板中右半部分为true,左半部分为false,进行二分。考虑cheak函数序列中len+1中选择1个f[i] :序列中前i个序列,第i个位置选择的价值转移,i前面len+1个位置中最小的f[i] + a[i]用单调队列优化一下。把最小值从

2020-11-12 11:24:52 105

原创 旅行问题【单调队列优化DP】【顺时针变前缀和、逆时针变后缀和】【下标+1、-1】

旅行问题环形:2倍空间处理判断中间有没有油:油的前缀和 - 路程的前缀和顺时针,前缀和。逆时针,后缀和顺时针处理:要从后往前枚举:维护的单调队列长度为:n+1因为是前缀和,我们用i后面n个元素的最小值和i比较比较成功之后,i+1为true刚开始q[0] 放下标2*n+1逆时针处理(同理,注意下标)#include<iostream>#include<algorithm>using namespace std;const int N=2e6+100;

2020-11-12 10:33:13 112

原创 修剪草坪【单调队列DP】【f(i)前i个合法序列的最大值】

思路思路1长度为m+1的序列必须不选择1个的最大值反过来想,长度为m+1的序列中至少选择一个,选出来最小值,然后总和处理f[i] :前i个序列最后一个序列选的最小值转移:在i前面的m+1个f[i] 中选择最小的 + a[i]长度为m+1中f[i] 的最小值,单调队列优话思路2定义状态f[i] :前i个序列中合法的序列最大值第i个数选、不选不选:f[i-1]选选上这个点+之前的连续选点长度为1<=x<=m转移:f[i-x-1] + a[.

2020-11-11 19:40:12 95

原创 扑克牌【概率DP】【状态表示:每种类有多少个】

概率DP要抽象出:起点、中点转移的时候:一个点转移到n个点,然后记忆化题目Admin生日那天,Rainbow来找Admin玩扑克牌。玩着玩着Rainbow觉得太没意思了,于是决定给Admin一个考验。Rainbow把一副扑克牌(54张)随机洗开,倒扣着放成一摞。然后Admin从上往下依次翻开每张牌,每翻开一张黑桃、红桃、梅花或者方块,就把它放到对应花色的堆里去。Rainbow想问问Admin,得到A张黑桃、B张红桃、C张梅花、D张方块需要翻开的牌的张数的期望值E是多少?特殊地,如果翻开的牌

2020-11-10 20:21:03 353

原创 Unmerge( 序列拆分成小序列+,然后01背包 )

Unmerge( 找规律 + 01背包 )题意给出一个序列,把这个序列拆成俩个序列,这俩个序列每次取最前面的最小值,构成一个新序列,这个新序列是不是原来的序列。思路每个取俩个序列front的最小值。3 2 6 1 5 7 8 4,那么3 2 必定在一个序列、并且相邻若不在一个序列,那先输出2 然后 3若不相邻,那输出3之后,就不会输出2基于以上规律,拆分成若干小的序列。我们从这些小序列中选择出几个,看能不能构成俩个子序列中的一个。可以的话,输出yes这个过程就是01背包#incl

2020-11-06 14:48:25 195

原创 D. Rarity and New Dress【DP】【以一个点向上延伸的最长边长为DP】

D. Rarity and New Dress题意给出一个矩阵,求一下矩阵中类似图中斜方体的个数。思路DP:f[i] [j] :表示(i , j)这个位置,往上可以延伸的最大斜方体的边长(不是高度)那么f(i,j) = x就可以组合出来x种斜方体。关于f(i,j) 的推导:f(i,j) 恰好是:(i-1,j-1) 、(i-1,j+1 ) 、(i,j-2) 这三个点的最小值。转移条件为:那四个点一样,代码#include<iostream>#include<algori

2020-11-05 15:28:57 125

原创 第八大奇迹【区间查询第8大数】

第八大奇迹单点修改、区间查询第8大数思路线段树,节点里面必须存,区间的第8大的数。考虑,父节点能不能由俩子节点更新。直接是不能的,得加一些变量,为了维护父节点的第8大数,我们得知道,子节点的前8个数。然后像归并排序一样,更新。代码#include<iostream>#include<queue>#include<string>#include<vector>#include<algorithm>using namespac

2020-11-03 13:33:41 189

原创 最优包含【最短编辑距离类的DP】

最优包含我们称一个字符串 SS 包含字符串 TT 是指 TT 是 SS 的一个子序列,即可以从字符串 SS 中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与 TT 完全一样。给定两个字符串 SS 和 TT,请问最少修改 SS 中的多少个字符,能使 SS 包含 TT?输入格式输入两行,每行一个字符串。第一行的字符串为 SS,第二行的字符串为 TT。两个字符串均非空而且只包含大写英文字母。输出格式输出一个整数,表示答案。数据范围1≤|T|≤|S|≤10001≤|T|≤|S|≤1000

2020-11-02 20:37:47 785 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除