自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

积少成多,水滴石穿

一份辣子鸡,不要辣不要鸡

  • 博客(521)
  • 资源 (1)
  • 收藏
  • 关注

原创 Vue路由

路由简介1、简介(1)路由就是一组key-value的对应关系(2)路由要经过路由器的管理2、路由工作原理简介:(1)目的:为了实现导航区和展示区内容的切换(2)Vue中的router代表路由,可以实现页面不全部刷新进行切换,根据不同的route规则展示不同的组件。vue-router路由基本使用1、安装vue-router注意:在vue2中要安装vue-router3,在vue3中要安装vue-router4。安装vue-router3命令:npm i vue-rout

2022-03-25 10:00:16 1845

原创 Vue中的Vuex

Vue中的Vuex

2022-03-22 21:45:24 728

原创 js中+的特殊用法:将字符串类型转换为number类型

js中+的特殊用法:将字符串类型转换为number类型

2022-03-20 16:16:04 2568

原创 C++ prev()函数用法

含义:pre具有前一个的意思,该函数可用来获取一个距离指定迭代器 n 个元素的迭代器。具体用法如下图:#include <bits/stdc++.h>using namespace std;int main(void){ vector <int> vc; for(int i=0;i<5;i++) vc.push_back(i+1); vector<int>::iterator it = vc.end(); // a

2022-03-20 14:30:43 3789 1

原创 Vue入门知识(day2)

1、Object.defineProperty方法要求:通过修改number实现修改person中age的值结果:通过Object.defineProperty将number中的number和age绑定在一起(即修改一个值,另一个值也会发生改变)<body> <script type="text/javascript"> //要求:通过修改number实现修改person中age的值 let number = 18 let person = { n

2022-03-19 14:21:50 824

原创 Vue入门知识(day1)

1、{{name}}中的name一定是js表达式,比如:Date.getDate()之类的语句2、模板语法:插值语法(用在标签体里)指令语法,加上v-bind:(用在标签属性里)3、数据绑定4、_el与data两种写法:5、MVVM模型学习小结:学习了如何安装vue,模板语法,数据绑定(双向绑定和一些简写方法),MVVM模型(大部分前端框架都使用这种思想,将数据和页面相分离)。...

2022-01-18 16:19:00 401

原创 (AtCoder Regular Contest 128)A(贪心)

A思路:最终获得的金子重量为x*ai/aj (i<j),只要保证ai/aj最大即可。可以确定左边界ai的值,然后寻找后面aj的最小值,eg:n = 5,序列5 4 3 2 1,标记为1 0 0 0 1最合适。(1)寻找相邻非增序处找到最大的位置,并标记(注意这里一定要成对,所以要判断是不是最后一个)(2)在(1)中确定了最大值,这里只要向后寻找最小值即可,寻找相邻非递减位置,并和(1)配对标记参考文章代码:#include <bits/stdc++.h>using names

2021-10-20 12:03:34 114

原创 2021-07-11(浙大可视化暑期网上学校)--可视化设计、编码、变换

大纲可视化设计好的可视化(准则):最少的墨水、最小的空间、传递最多的信息1、真实度:图形实体(眼见不一定为实)(1)谎言因子:在实际效果中表达的变化量 / 在真实数据中表达的变化量(2)内容的展示(3)展示数据的变化2、表达都:信息表达的充分性(1)数据墨水占比越高,可视化程度越大但是不是所有的数据墨水都是没用的,某些情况下可以提高数据可读性(2)感知加工包括三个步骤,需要减少三个步骤的耗时①减少感知原始可视化信号②减少感知过程(模式识别)③合理的可视化映

2021-07-11 12:10:51 484 1

原创 2021-07-10(浙大可视化暑期网上学校)可视化的感知与认知

大纲:我们在专注做某件事时,无法感知到某些事物的变化。可视化可以作为一种辅助工具标注容易忽视的事物我们感知时要集中精力,可视化可以加强认知,使我们放松。感知过程中的特征:1、恒常性–亮度恒常性、图形恒常性(频闪效应、飞现象)亮度恒常性–感知是相对判断而并非绝对判断。图形感知–感知不是基于绝对判断,而是判断相对差异小结:这节课主要讲授可视化中认知与感知的内容,首先通过几个小游戏告诉我们人们在观察事物时会集中精力,我们在观察一个事物的变化时可能会忽视其他变化的事物。但是我们

2021-07-10 10:29:51 367 1

原创 2021-07-09(浙大可视化暑期网上学校)

大纲:一、基础知识1、可视化目的:分析数据得到有用的信息2、可视化基本思路:(1).帮助我们思考(2).利用感知来减轻认知(3).作为增强工作记忆的外部辅助手段(4).提高我们的认知能力二、可视化现状(讲解可视化应用很广泛)微软的BI、Adobe Analytics(面向企业)、阿里云DataV数据可视化可视化是大数据分析的核心图形学-图形、渲染、复刻可视化-数据分析与理解可视化 need 数据 + 交互可视化和数据挖掘的目标一致关系密切,数据挖掘一般用自动的

2021-07-09 14:21:05 228

原创 C Cat Virus(构造)

题目链接:传送门思路:画出2~9的树的构造形状;可以发现,①如果k为奇数,就给当前节点增加左右孩子,同时k/2。②如果n是偶数,就给当前节点增加一个孩子,同时k-1。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 2e5+10;int a[N][2],tot = 0;int main(void){ ll k; scanf("%lld",&

2021-05-16 17:10:07 465

原创 B Build Roads(结论+kruskal)

题目链接:传送门思路:1、如果点数大于1000,结果就是n-1;但是如果L==R,结果就是(n-1)*L;2、如果n小于等于1000,跑kruskal。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1005;struct Edge{ int u,v,w;};vector <Edge> vc;int n,L,R,a[N],fa[N] =

2021-05-16 15:56:19 573

原创 F. Fair Distribution(分块)

题目链接:传送门题意:n只能减少(并且n不能为0),m只能增加,求出最终达到状态使n*k=m时,n减少的值与m增加的值之和最小。思路:n可以减小,所以最终n的值一定小于等于n的。(1)如果m比n小或者等于,答案就是n-m;(2)如果m比n大,我们可以枚举n来求出最终答案,但是枚举并不是一个一个加,因为中间的值在跳跃,所以我们每次确定一个l ,r = (m-1)/( (m-1)/l )。然后下一次的l = (上一次的r + 1)。代码:#include <bits/stdc++.h&gt

2021-05-16 13:11:24 831

原创 牛客IOI周赛25-普及组 D(二分+搜索)

题目链接:传送门思路:因为数据ai不大,所以可以二分枚举差值;然后枚举左端点,判断当前区间是否找到一条合适的路径。代码:#include <bits/stdc++.h>using namespace std;const int N = 120;int a[N][N],n;bool vis[N][N];int dx[4] = {0,0,1,-1};int dy[4] = {1,-1,0,0};void dfs(int x,int y,int mi,int mx){

2021-05-01 22:01:23 103

原创 Codeforces Round #717 (Div. 2) D(思维+倍增+质因子分解)

题目链接:传送门思路:考虑将每个数字分解,判断当前这个数字a[i]的质因子是否在前面出现过,如果在位置j出现过,就代表前面这个数字a[j]不能和当前数字a[i]在一个区间。我们这样统计出每个数字最远能向后到达的位置后的一个位置。然后倍增更新这个位置,dp[i][j] = dp[ dp[i-1][j-1] ][j-1];,在计算最终结果时,我们可以将大区间分割为小区间,求出所有区间能分割的数量。代码:#include <bits/stdc++.h>using namespace std

2021-05-01 17:14:36 217

原创 2017秦皇岛ccpc G(大数除法、取余+均分)

题目链接:传送门参考文章题目:输入一个n,m求出 序列ai,满足Σai = n,最终使序列ai序列或值最小。思路:1、考虑将n均分为m个数字2、考虑特殊情况n = 314,m = 10;此时如果均分为32,31,但是32|31 = 63,因为从n/m到n/m+1的二进制数字进位了,所以这样分并不能使最终或值最小。可以对每次的除数x = n/m+1,然后判断x二进制数字是不是等于2^k;(1)如果x == 2^k,分配2 ^ k数字,防止进位导致过大;eg:给314分配(314/32)个3

2021-04-29 15:46:00 159

原创 CCPC.2017哈尔滨站 B(二分+思维)

题目链接:传送门参考文章题意:输入一个长度为n的序列a,用序列a中长度大于等于k的子串的第k大数构成b数组,输出b数组的第m大数字是多少?思路:(1)假设第m大的数字是x,如果x越小,所能满足的m越大。根据这个性质,可以二分x,找出最合适的x。(2)给出x,每次判断x是第几(tpk)大的数字,如果tpk>=m,说明tpk可能过小了,需要增加区间l = mid+1.(3)给出x,求出x是第几(ans)大的数字,可以设置做右区间[l,r],枚举区间端点r,如果当前区间[l,r]范围内已经有k

2021-04-26 15:36:16 132

原创 CCPC.2017哈尔滨站 M(判断三点共线+求三点外心+随机数)

题目链接:传送门思路:1、随机选择三个点,成功的概论未1/8,所以用随机数多试几次就可以;2、判断三点共线+求三点外心模板,判断这个圆求判断是否有大于(n+1)/2个点的距离为r。(相信自己的代码,多试几次)代码:#include <bits/stdc++.h>using namespace std;const int N = 1e5+10;const double eps = 1e-6;struct Node{ double x,y;}cur[N];struc

2021-04-26 14:13:15 115

原创 CCPC.2017哈尔滨站 H(思维)

题目链接:传送门思路:1、求出sum的所有质因子c[i] ( 1<=i<=tot )2、判断如果当前x = c[i]时,求出当前x下所需要的最小和ans3、最小和ans的求法:求出1~n中a[i]对x取模后的数组b[i],对b[i]进行排序,分别取出b的左右两个端点,如果当前b[l] + b[r] > x,则以较小的代价ans += (x - b[r])将b[r]化为x,同时削减b[l] -= (x - b[r]);如果b[l] + b[r] <= x,增加b[r]的值

2021-04-26 12:07:06 79

原创 第十八届浙大城市学院程序设计竞赛 G(思维,对序列的操作)

题意:给你两个序列a和b(序列由1~n构成,而且序列中每个元素大小都不相同)现在给你对a序列两种操作:1、将a序列中的第一个元素删除,在a序列尾部追加任意一个数字;2、将a序列中的任何一个元素改为任意一个数字;问最少操作多少次才能将a序列变为b序列。思路+代码:/*执行k次1操作相当于将(k+1~n)的数字向前移动k位,最后k位自动匹配;我们记录数组a向前移动k位就和数组b上的数字匹配的数字的个数cnt = mp[k],只要找到最大的一组cntMax = (mp[k],k∈(0,n-1))

2021-04-08 15:00:00 136

原创 第十七届浙江大学宁波理工学院程序设计大赛 H(思维)

题目:传送门思路+代码:/*思路:考虑将n进行分解为素数的幂次方的乘积的形式。n = (p1^c1) * (p2^c2) * …… * (pn^cm) = t1 * t2 …… * tm;集合中任意两个数的最大公约数都是n,所以每个元素都是每次都从t1~tm中去除m-1个元素作为乘积,此时可以得到的集合中的元素个数为m个,再加上n本身,所以最终结果ans = m+1;*/#include <iostream>#include <cmath>#include &lt

2021-04-07 23:03:08 126

原创 第十七届浙江大学宁波理工学院程序设计大赛 E(循环节)

题目:传送门思路+代码:/*首先,k一定是偶数才能0和1数量相同(1)统计0~k-1个循环节位置上所包含的0或者1的数量(2)按照循环节上1的数量从小到大排序(3)将前k/2个循环节位置上的1变成0(因为前面1少,0多),将k/2后面的循环节位置上的1变成0(因为后面1多)Note:为什么是在k/2的地方作为分界线,因为要求k个数字中1的个数为k/2,0的个数为k/2;*/#include <iostream>#include <cstdio>#include

2021-04-07 22:49:00 139 1

原创 hdu 6567 (树的重心+树上节点距离之和)

题目链接:传送门题意:给出两颗树,要在两颗树之间加一条边,构成一个新的树T,求出T中任意节点距离之和(就是Σdis(i,j) ,i∈[1,n] , j∈[i+1,n]).思路+代码:/*方法:(1)求出树一的重心g1,求出树二的重心g2;(2)将两个树的重心相连,得到就是总路径和最短(因为在不连通之前树一内部的dis之和已经确定,树二内部的dis之和也已经确定,现在只要两棵树相连后得到的dis之和最短就好了,所以只要重心相连,树一上的点到树二上的点dis之和就最小)(3)连接两颗树之后计

2021-04-07 22:10:13 179

原创 JAVA知识复习

1、JAVA中一个变量在使用之前必须被声明和初始化;2、命名常量标识符final3、int num = 10 * i++;等价于int num = 10*i; i = i+1;(Note:i++语句的优先级大于a+b语句的优先级)4、ceil向上取整,eg:ceil(2.1) = 3.0;floor向下取整,如floor(2.1) = 2.0;5、String类是引用类型,使用引用类型声明的变量为引用变量;eg: String message = “Hello”;message是一个引用变

2021-04-06 16:04:02 241 1

原创 B树与散列

M阶的B树满足的特征:(1)树的根是一片树叶,或者是儿子数在2到M之间,即[2,M)(2)除根外,所有非树叶节点的儿子数在⌈M/2⌉ \lceil {M/2} \rceil ⌈M/2⌉到M之间,即[⌈M/2⌉ \lceil {M/2} \rceil ⌈M/2⌉,M)。(3)所有树叶都在相同的深度。(4)一个节点最多容纳M-1个数。散列1、冲突:当两个关键字到同一个值时称为冲突。2、解决冲突:分离链接法和开放定址法3、填装因子:散列表中的元素个数与散列表的大小之比。4、分离链接法:将散列到

2021-02-19 12:04:44 70

原创 数据结构知识总结(一)--算法分析

递归:当一个函数用它自己来定义的时候,这个函数就是递归。int f(int x){ if(x == 1) return 1; //基准情况 return x*f(x-1); //调用递归函数}递归的四条基本法则:1、基准情况:确定某种情况,无需递就能解出。2、不断递推:每一次递归调用都必须使求解情况朝着基准情况推进。3、设计法则:假设所有递归调用都能运行。4、合成效益法则:求解一个问题的同一实例时,切勿在不同的递归调用中做重复性的工作。算法:求解一个问题所要遵循的、清楚指定的简单

2021-02-18 08:46:44 141

原创 《Linux就该这么学》第11章 使用Vsftpd服务传输文件

11.1 文件传输协议FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据传输链路的主机。FTP协议有下面两种工作模式。主动模式:FTP服务器主动向客户端发起连接请求。被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。

2021-02-10 22:48:27 134

原创 《Linux就该这么学》第10章 使用Apache服务部署静态网站

10.1 网站服务程序目前能够提供Web网络服务的程序有IIS、Nginx和Apache等。(1)IIS(Internet Information Services,互联网信息服务)是Windows系统中默认的Web服务程序,这是一款图形化的网站管理工具,不仅可以提供Web网站服务,还可以提供FTP、NMTP、SMTP等服务。(2)Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速、可靠、简单的API扩展。10.2 配置服务文件参数在http

2021-02-10 09:58:25 177 1

原创 《Linux就该这么学》第9章 使用ssh服务管理远程主机

9.1 配置网卡服务1、使用nmtui命令来配置网络2、创建网络会话RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。创建成功后显示创建的网卡(请把虚拟机系统的网卡(网络适配器)切换成桥接模式)使用nmcli命令配置过的网络

2021-02-09 18:24:07 149

原创 《Linux就该这么学》第8章 Iptables与Firewalld防火墙

8.1 防火墙管理工具1、防火墙的作用:防火墙使用预先定制的策略规则监控出入的流量,若流量与某一条策略规则相匹配,则执行相应的处理,反之则丢弃。这样一来,就可以保证仅有合法的流量在企业内网和外部公网之间流动了。2、相关的服务:iptables服务会把配置好的防火墙策略交由内核层面的netfilter网络过滤器来处理,而firewalld服务则是把配置好的防火墙策略交由内核层面的nftables包过滤框架来处理。8.2 Iptables8.2.1 策略与规则链1、简介:(1)防火墙会从上至下

2021-02-08 22:48:20 143

原创 《Linux就该这么学》第7章 使用RAID与LVM磁盘阵列技术

7.1 RAID磁盘冗余阵列1. RAID 0RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。如图7-1所示,数据被分别写入到不同的硬盘设备中,即disk1和disk2硬盘设备会分别保存数据资料,最终实现提升读取、写入速度的效果。2. RAID 1在图7-2所示的RAID 1技术示意图中可以看到,它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当

2021-02-08 17:17:27 274 1

原创 C++ 面向对象(Object-Oriented)的特征 & 构造函数& 析构函数

(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)

2021-02-07 21:53:43 262

原创 《Linux就该这么学》第6章 存储结构与磁盘划分

6.1 一切从“/”开始1、Linux中的文件Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。另外,Linux系统中的文件和目录名称是严格区分大小写的,并且文件名称中不得包含斜杠(/)。6.2 物理设备的命名规则1、硬盘号:所以一般的硬盘设备都会是以“/dev/sd”开头的。而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也很有讲究:(1)

2021-02-07 19:04:35 230

原创 《Linux就该这么学》第5章 用户身份与文件权限

5.1 用户身份与能力1、root管理员:Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码即UID(User IDentification)的数值为0。2、系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。3、普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。4、用户组:通过使用用户组号码(GID,Group IDentif

2021-02-07 13:50:20 220

原创 《LINUX 就该这么学》第4章 Vim编辑器与Shell命令脚本

4.1 Vim文本编辑器1、三种模式:(1)命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。(2)输入模式:正常的文本录入。(3)末行模式:保存或退出文档,以及设置编辑环境。命令模式常用的命令:末行模式常用命令:4.2 编写Shell脚本1、举例一个shell脚本:(1)脚本的编写第一行的脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行该脚本;第二行的注释信息(#)是对脚本功能和某些命令的介绍信息,使得自己或他人在日后看到这个脚本内容时,可

2021-02-07 09:16:31 127

原创 C++重载函数、带有默认参数的函数、内联函数

重载函数1、定义:在同一个名字空间中存在两个或者多个具有相同名字的函数所构成的语法现象。Note:(1)调用重载函数的语句,是由编译器在编译期确定的。(2)编译器判断某个函数调用语句所对应的重载函数时,判断依据是***函数参数的类型、个数和次序***。(3)如果编译器无法判定,就会报告二义性错误。带有默认参数值的函数内联函数1、普通函数调用:函数调用时:参数及部分CPU寄存器的内容进栈,控制流跳转函数返回时:返回值及寄存器值出栈,控制流跳转2、目的:减小函数调用开销3、方法:代码插

2021-02-04 17:45:24 184

原创 C++内存的知识 & 常量与指针 & const

C++变量存放的位置简介1、stack(栈):编译器自动分配、释放(存放局部变量,函数参数,返回数据,返回地址等内容)2、heap(堆):一般由程序员分配、释放(为动态内存分配提供地址空间)3、全局区/静态区:全局区和静态区存放在同一个区,程序结束释放4、常量区:常量不可修改存储位置堆向高地址方向生长;栈向低地址方向生长;数组和指针在内存中的位置1、char a[] = “world”;对于数组a,a是数组a的首地址的别名,要访问数组元素可以用a[i]或者*(a+i);2、char

2021-02-04 16:43:28 217

原创 《 Linux 就该这么学》第3章 管道符、重定向与环境变量

3.1 输入输出重定向1、简介:输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。(1)标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。(2)标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。(3)错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。输出重定向中注意两点:(1)>是清空然后再填写,>>是追加(2)1可以省略,2不能省略(3)-----li

2021-02-04 15:03:59 154

原创 C++--auto和decltype自动类型推导

1、类型系统1、定义:在编程语言中,“类型系统”是将“type”属性指定给不同计算机程序构造块的规则集。2、使用类型系统的好处:类型系统可以减少程序中可能出现的bug类型系统减少BUG的方法是:定义不同程序块间的接口检查多个块之间是否以一致的方式连接在一起3、静态类型&动态类型程序设计语言的类型系统机制会检查连接在一起的多个块的一致性(计算机程序的构造块:计算机程序构造块是不同大小粒度的计算机程序组成部分,它包括变量、表达式、函数或者模块等。)上述检查若发生在编译期,称为静

2021-02-03 20:18:03 151 1

原创 C++风格的强制类型转换--static_cast<type> value

C风格的强制类型转换格式:(type) value举例:#include <iostream>using namespace std;int main(void){ int x = 11; double ans = (double)x; printf("%.3f\n",ans); return 0;}C++风格的强制类型转换语法:static_cast (value)举例:#include <iostream>using namespace std;

2021-02-03 18:19:21 276 1

考研数学一考研大纲原文

考研数学大纲

2020-02-23

空空如也

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

TA关注的人

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