自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 软件质量-知识点整理

考试形式概念题重要的概念英文缩写的中文含义论述题重要概念的理解(举例说明)综合题计算(度量方法)构造(度量模型)具体步骤内容软件度量的内容软件度量的方法软件度量的模型软件项目任务需求 -> ?? -> 产品计划,执行,跟踪评估按时交付预算之内质量合格完成计划内的事项软件项目管理问题我们项目的开发生产率是多少(KLOC/人月)?KLOC(千行代码)是一个计算机程序有多大或者需要多少人来完成其编

2021-11-18 20:36:44 2526

原创 软件质量-概念整理

考试形式概念题重要的概念英文缩写的中文含义论述题重要概念的理解(举例说明)综合题计算(度量方法)构造(度量模型)具体步骤重要的概念整理KLOC:千行代码,是一个计算机程序有多大或者需要多少人来完成其编码工作的一个传统的度量标准。这些代码通常是源代码。Defects pre KLOC:千行代码缺陷率软件度量:对软件开发项目、过程及其产品进行定量化的过程,目的在于对其加以理解、预测、评估、控制和改善。CMM对质量的定义:一个系统、组件或过程符合特

2021-11-17 14:46:11 817 1

原创 1.4 浅层神经网络

文章目录1.4.1 神经网络概览(Neural Networks Overview)1.4.2 神经网络表示(Neural Network Representation)1.4.3 计算神经网络的输出(Computing a Neural Network’s Output)1.4.4 多样本向量化(Vectorizing across multiple examples)1.4.5 向量化实现的解释(Explanation for Vectorized Implementation)1.4.6 激活函数(A

2021-10-10 18:54:55 514

原创 1.3 Python与向量化

文章目录1.3.1 向量化(Vectorization)1.3.2 更多向量化的例子(More Vectorization Examples)1.3.3向量化logistic回归(Vectorizing Logistic Regression)1.3.4 向量化logistic回归的梯度输出(Vectorizing Logistic Regression’s Gradient Output)1.3.5 Python中的广播(Broadcasting in Python)1.3.6 关于python/nump

2021-10-09 19:39:15 2075

原创 1.2 神经网络基础

上节课我们主要对深度学习(Deep Learning)的概念做了简要的概述。我们先从房价预测的例子出发,建立了标准的神经网络(Neural Network)模型结构。然后从监督式学习入手,介绍了Standard NN,CNN和RNN三种不同的神经网络模型。接着介绍了两种不同类型的数据集:Structured Data和Unstructured Data。最后,我们解释了近些年来深度学习性能优于传统机器学习的原因,归结为三个因素:Data,Computation和Algorithms。本节课,我们将开始介绍神

2021-10-08 11:45:39 314

原创 梯度下降算法总结

参考:梯度下降算法原理讲解1. 概述梯度下降(gradient descent)在机器学习中应用十分的广泛,不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。本文将从一个下山的场景开始,先提出梯度下降算法的基本思想,进而从数学上解释梯度下降算法的原理,解释为什么要用梯度,最后实现一个简单的梯度下降算法的实例!2. 梯度下降算法2.1 场景假设梯度下降法的基本思想可以类比为一个下山的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(

2021-10-06 22:37:37 557

原创 1.1 深度学习概述

什么是神经网络简单来说,深度学习(Deep Learning)就是更复杂的神经网络(Neural Network)。假如我们要建立房价的预测模型,一共有六个房子。我们已知输入x即每个房子的面积(多少尺或者多少平方米),还知道其对应的输出y即每个房子的价格。根据这些输入输出,我们要建立一个函数模型,来预测房价:y=f(x)。其实这个简单的模型(蓝色折线)就可以看成是一个神经网络,而且几乎是一个最简单的神经网络。我们把该房价预测用一个最简单的神经网络模型来表示,如下图所示:该神经网络的输入x是房屋面积

2021-10-04 16:50:42 196

原创 git用法

git教程代码托管平台:git.acwing.com1. git基本概念工作区:仓库的目录。工作区是独立于各个分支的。暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。版本库:存放所有已经提交到本地仓库的代码版本版本结构:树结构,树中每个节点代表一个代码版本。2. git常用命令git config --global user.name xxx # 设置全局用户名,信息记录在~/.gitconfig文件中git config --global us

2021-10-03 18:00:20 99

原创 tmux和vim

tmux教程功能:分屏允许断开Terminal连接后,继续运行进程结构:一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。操作:tmux :新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框;tmux a :打开之前挂起的session;Ctrl + d :关闭当前pane,如果当前window的所有pane均已关闭,则自动关闭wind

2021-10-03 17:59:26 185

原创 ssh用法

ssh登录AC Terminal配套远程服务器账号homework 4 getinfoUser: acs_554HostName: 123.57.47.211Password: xxxxxxxx远程登录服务器:ssh user@hostname # 用户名@IP地址或域名登录特定端口默认登录端口号为22。如果想登录某一特定端口:ssh user@hostname -p 22配置文件服务器别名创建文件 ~/.ssh/config 。然后在文件中输入:Host myserv

2021-10-03 17:58:06 589

原创 shell 语法

文章目录概论运行方式(解释器或者作为可执行文件):注释变量定义变量使用变量只读变量删除变量变量类型字符串默认变量文件参数变量数组定义读取数组中某个元素的值读取整个数组数组长度(实际用到的长度)expr命令字符串表达式整数表达式逻辑关系表达式read命令echo命令显示普通字符串显示转移字符显示变量显示换行显示不换行显示结果定向至文件原样输出字符串,不进行转义或取变量(用单引号)显示命令的执行结果printf命令用法示例test命令与判断符号[]逻辑运算符&&和||test命令文件类型判断文件

2021-09-03 18:24:27 1069

原创 文艺平衡树(fhq-treap) 模板

#include <bits/stdc++.h>#define rep(i, a, n) for (int i = a; i <= n; ++i)#define per(i, a, n) for (int i = n; i >= a; --i)#ifdef LOCAL#include "Print.h"#define de(...) W('[', #__VA_ARGS__,"] =", __VA_ARGS__)#else#define de(...)#endifus

2021-08-16 21:44:55 184

原创 替罪羊树 模板

#include <bits/stdc++.h>#define rep(i, a, n) for (int i = a; i <= n; ++i)#define per(i, a, n) for (int i = n; i >= a; --i)#ifdef LOCAL#include "Print.h"#define de(...) W('[', #__VA_ARGS__,"] =", __VA_ARGS__)#else#define de(...)#endifus

2021-08-16 20:59:41 103

原创 fhq-treap 模板

#include <bits/stdc++.h>#define rep(i, a, n) for (int i = a; i <= n; ++i)#define per(i, a, n) for (int i = n; i >= a; --i)#ifdef LOCAL#include "Print.h"#define de(...) W('[', #__VA_ARGS__,"] =", __VA_ARGS__)#else#define de(...)#endifus

2021-08-16 20:57:41 106

原创 D-Double Strings 2021牛客多校5

D-Double Strings题意给两个字符串 AAA 和 BBB (1≤∣A∣,∣B∣≤5000)(1\le |A|,|B| \le 5000)(1≤∣A∣,∣B∣≤5000)​ , aaa 是 AAA 的子序列, bbb 是 BBB 的子序列,求有多少个子序列组合满足两个子序列的长度相同并且 ∃i∈{1,2,…,∣a∣},Aai<Bbi,∀j∈{1,2,…,i−1},Aaj=Bbj\exists i \in \{1, 2, \dots, |a|\},A_{ai} < B_{bi},\f

2021-07-31 21:25:52 227

原创 2021杭电多校第一场 Xor sum 字典树 维护子树下标最大值

[Xor sum](Problem - 6955 (hdu.edu.cn))题意一个长度为 nnn 的数组,找到一个最短(长度相同选左边)的区间,使得区间所有数的异或和大于等于 kkk 。题解用字典树维护数组的前缀和,并维护字典树上结点的子树对应的前缀数组下标的最大值,也就是插入前缀数组的时候,维护通过每个结点的下标最大值;先把 000 插入字典树,对应下标也为 000 ;然后遍历前缀和,贪心的去在字典树上剪枝搜索,找和这个前缀和异或大于等于 kkk 的最大下标。代码#include &

2021-07-28 20:29:12 142

原创 字典树 检索字符串 维护异或极值

字典树字典树维护字符串根结点编号为 111 ,字典树用边代表某个字母,从根结点到某一个结点的路径就代表一个字符串(用 cnt[i]cnt[i]cnt[i]​​ 来维护这个点是不是字符串的结尾以及这个字符串的数量)。一个结构体封装的模板struct Trie { int son[maxn][26], idx = 1, cnt[maxn]; // 根结点下标为1 void insert(char s[]) { // 插入字符串 int p = 1; fo

2021-07-28 16:20:37 156

原创 python 代码块(模板)

{ // 输入int数组 "input_array": { "prefix": "ina", "body": "list(map(int, input().split()))", "description": "input_array" }, // 快读 "fast_io": { "prefix": "fast_io", "body": [ "import os", "import sys", "from io import BytesIO,IOBase"

2021-07-16 15:24:11 353

原创 c++代码块(模板)

{ "Head": { "scope": "cpp", "prefix": "ac", "body": [ "#include <bits/stdc++.h>", "#define rep(i, a, n) for (int i = a; i <= n; ++i)", "#define per(i, a, n) for (int i = n; i >= a; --i)", "#ifdef LOCAL", "#include \"Print.

2021-07-16 15:21:53 496

原创 E. Increasing by Modulo

E. Increasing by Modulo题意一个长度为 nnn 的数组a,每次可以选择一部分 aia_iai​ ,使得 ai=(ai+1) mod ma_i = (a_i + 1)\space mod \space mai​=(ai​+1) mod m ,求最少需要几次操作使得这个数组单调不减。题解二分操作次数;每个数都有 midmidmid 次操作机会,保证单调递增的同时尽量让当前的数尽可能的小。代码#include <bits/st

2021-07-01 16:29:15 102

原创 G. Mike and Feet 思维,数据结构

G. Mike and Feet题意一个长度为 nnn 的数组,询问所有长度为 kkk 的区间最小值的最大值(k=1,2,…,nk = 1,2,\dots,nk=1,2,…,n)。题解可以换个角度考虑,求答案为 aia_iai​ 时,区间长度的可取范围;这个可以先把数组按照值的大小排序,然后用 set 维护每个区间,一个严格小的数可以分隔较大的数的答案,然后看看每个数所在的区间长度即可;区间长度的可取范围是 [1−len[i]][1-len[i]][1−len[i]] ,那么按照 aia_ia

2021-06-28 18:18:16 105

原创 Time to Raid Cowavans 分块,离线

Time to Raid Cowavans题意一个长度为 nnn 的数组 a ,给出 qqq 个询问,询问给出两个值 pos,xpos, xpos,x ,要求给出 $a_{pos} + a_{pos + x} +a_{pos + 2 \cdot x} + \dots $ 的值。题解B=nB = \sqrt nB=n​ ,如果 x≥Bx \ge Bx≥B ,那么直接暴力即可,复杂度 O(nx)<O(n)O(\frac{n}{x}) < O(\sqrt n)O(xn​)<O(n​)

2021-06-26 15:26:02 129

原创 Codeforces Round #726 (Div. 2) F. Figure Fixing

F. Figure Fixing题意一个 nnn 个点 mmm 条边的无向图,每个点有一个当前权值 aia_iai​ 和一个目标权值 tit_iti​。如果 uuu 和 vvv 之间有边,那么可以把 u,vu,vu,v 的权值都加 kkk ,问能否通过有限次这样的操作,使得所有点的权值变成目标权值。题解令 ai=ai−tia_i = a_i - t_iai​=ai​−ti​ ,那么只需要让所有 aia_iai​ 的权值为 000 即可;每次操作所有权值的和变化 2⋅k2\cdot k2⋅k ,不

2021-06-25 19:25:59 83

原创 Codeforces Round #726 (Div. 2) D. Deleting Divisors

D. Deleting Divisors题意给一个正整数 nnn ,每轮可以减掉 nnn 的一个因子,但不能是 111 或 nnn 。轮到自己回合不能行动算输。Alice 先手,问谁能赢。题解如果 nnn 是一个奇数:如果 nnn 是质数那么 Alice 不能行动,Bob 获胜;否则 nnn 可以表示为两个奇数的乘积, Alice 行动之后 nnn 必定是一个偶数,并且有奇数因子(所以不可能是 222),那么 Bob 可以把 nnn 减掉一个奇数因子,这样 nnn 又变成一个奇数。所以这种情

2021-06-23 21:30:09 107 1

原创 Codeforces LATOKEN Round 1 (Div. 1 + Div. 2) E. Lost Array

E. Lost Array题意给你 nnn 个数,每次可以询问 k(1≤k≤n)k(1 \le k \le n)k(1≤k≤n) 个数的异或和,要求用最少的询问得到所有 nnn 个数的异或和。如果没有可能的方案,则输出 -1。题解异或奇数次等价异或一次,异或偶数次等价于没有异或;这个问题等价于一个经典的问题,有 nnn 枚正面朝上的硬币,每次可以选择 kkk 个硬币翻转,怎么用最少的操作次数让所有硬币反面朝上;枚举翻转中正面朝上的个数即可。代码#include <bits/stdc

2021-06-21 16:20:15 101

原创 Codeforces LATOKEN Round 1 (Div. 1 + Div. 2) D. Lost Tree

D. Lost Tree题意先给定一个树,你每次可以询问某个点到 nnn 个点的距离,要求通过最多 $\left \lceil \frac{n}{2} \right \rceil $ 次询问,得到树的结构。题解以 111 作为根节点,先询问根到其他点的距离,就得到了每个点的深度;把所有 nnn 个点染两种颜色,也就是深度奇偶相同的点是同一种颜色;如果距离为 111 那么两个点之间有一条边;询问颜色数少的节点。代码#include<bits/stdc++.h>#define

2021-06-21 09:23:49 161

原创 VScode 配置

launch.json{ "version": "0.2.0", "configurations": [ { "name": "g++.exe build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}

2021-06-20 22:03:35 132

原创 Codeforces Round #724 (Div. 2) E. Omkar and Forest

E. Omkar and Forest题意一个矩阵,要求矩阵的相邻数字之差最大为 111 ,如果数字非零,那么至少严格大于其中一个相邻的数字。给出一个矩阵,要求填满这个矩阵,问有几种方案。题解在给出的 #的子集中选择一部分为0,那么剩下的非零的值是确定的,非零的单元值等于到最近的0的距离。对于一个非零单元,这个单元到最近的 0 的值为 ddd,那么这个非零单元的值不可能大于 ddd ;这个非零单元的值不可能大于 ddd:假设大于 ddd ,从这个单元格到最近的0,每次移动一步最多减一,所以单元

2021-06-20 01:01:15 95

原创 Educational Codeforces Round 107 (Rated for Div. 2) D. Min Cost String

D. Min Cost String题意一个字符串的权值等于同时满足 si=sjs_i=s_jsi​=sj​ 和 si+1=sj+1s_{i + 1} = s_{j + 1}si+1​=sj+1​ 的索引对的数量。请用 kkk 的字母构造长度为 nnn 的最小权值字符串。题解可以用 kkk 字母构造长度为 k⋅kk \cdot kk⋅k 的权值为 000 的字符串;如果 k⋅k<nk \cdot k < nk⋅k<n ,那么复制前面的字符串即可。代码#include&lt

2021-06-09 20:51:25 109

原创 Educational Codeforces Round 96 (Rated for Div. 2) E. String Reversal

E. String Reversal题意给出一个由小写字母组成的字符串,如果通过交换相邻字母的操作将这个字符串翻转,最少需要多少次操作。题解对于相同的字母,原本在左边的,一定会通过交换操作放到左边;找到原始字符串的每个字母翻转后对应的位置,得到一个长度为 nnn 的排列;排列的逆序对个数即为最少的操作次数;因为每次交换操作一定会使这个排列的逆序对个数减少 111 ,最终翻转完成后逆序对个数为 000。代码#include<bits/stdc++.h>#define rep

2021-06-07 20:50:44 78

原创 Codeforces Round #723 (Div. 2) D. Kill Anton

D. Kill Anton题意给出一个只有 444 个字母组成的字符串 SSS,请对这个字符串重新排列得到字符串 TTT,使得对字符串 TTT 需要做最多次变换得到字符串 SSS 。每次变换可以交换相邻的两个字母。题解从 TTT 到 SSS 的变换过程,一定不会交换相邻相同的字母;从 TTT 到 SSS 的变换次数等于从 SSS 到 TTT 的变换次数;TTT 一定是相同的字母连续出现,一共有 444 种字母,所以一共有 4!=244!=244!=24 种可能的答案,选出变换次数最多的即可。

2021-06-06 19:45:11 163

原创 Codeforces Round #707 C. Going Home

C. Going Home题意给 n(1≤n≤2⋅105)n(1\le n \le 2\cdot 10^5)n(1≤n≤2⋅105) 个数,每个数 1≤ai≤2.5⋅1061\le a_i \le 2.5\cdot 10^61≤ai​≤2.5⋅106 ,要求找到四个不同的数 x,y,z,wx,y,z,wx,y,z,w ,使得 ax+ay=az+awa_x+a_y=a_z+a_wax​+ay​=az​+aw​ 。不能找到则输出 NO。题解注意到 aia_iai​ 的范围为 1≤ai≤2.5⋅1061

2021-03-18 21:25:13 181

原创 Codeforces Round #705 (Div. 2) C. K-beautiful Strings

C. K-beautiful Strings题意给一个长度为 n(1≤n≤105)n(1\le n \le 10^5)n(1≤n≤105) 的字符串,要求找到字典序最小且字典序大于等于当前字符串的长度为 nnn 的字符串,满足所有字母出现次数被 kkk 整除。题解如果 nnn 不是 kkk 的倍数,那么答案显然不存在,否则答案一定存在;首先检查自身是否符合条件,如果不符合,从后往前贪心。每次把当前遍历到的字母加一,这时候后面的字符就是任意的,结合前缀检查是否可能满足条件;如果可以满足条件,计算

2021-03-16 17:37:40 143

原创 牛客练习赛78 CCA的子树

CCA的子树题意一棵 nnn 个点的带权树,根节点为 111 。要求选出两个节点,两个节点子树没有交集,最大化两个节点的子树点权和,如果找不到合法的子树,输出Error。题解如果两个节点子树没有交集,那么必然可以向上找到两个兄弟节点,使得这两个节点分别是两棵子树根的祖先。维护 b[u]b[u]b[u] 表示以 uuu 为根的子树中,可以找到的最大的子树权值和。在遍历节点 uuu 的所有孩子节点的时候,维护答案等于这个孩子节点的 b[v]b[v]b[v] + 最大的兄弟节点 b[vv]b[vv]

2021-03-13 14:11:12 109

原创 Codeforces Round #706 B. Let‘s Go Hiking(博弈)

B. Let’s Go Hiking题意有一个长度为 nnn 的排列。首先Qingshan选择一个数 aaa ,Daniel选择另一个数 bbb 。Qingshan先手,每次移动到相邻的数 a′(a′<a,a′!=b)a'(a'<a,a'!=b)a′(a′<a,a′!=b),然后Daniel移动到相邻的数 b′(b′>b,b′!=a)b'(b'>b,b'!=a)b′(b′>b,b′!=a)问Qingshan初始有多少种选择可以必胜。题解把这个排列分割成若干单

2021-03-10 23:15:48 282

原创 牛客 数码

牛客 数码题意对于所有满足属于区间 [l,r][l,r][l,r] 的 numnumnum,把 numnumnum 所有因子写下来,对于写下来的数,只保留最高位数,求 1−91-91−9 每个数出现的次数。题解为了简化问题,可以求从 [1,l−1][1,l-1][1,l−1] 和 [1,r][1,r][1,r] 的情况,然后做差得到 [l,r][l,r][l,r] 的答案,这样可以不用管左边界,接下来就是要求 [1,n][1,n][1,n] 的答案即可;因子都是成对出现的,所以把 numnumn

2021-01-29 00:43:54 162

原创 Acwing 1402. 星空之夜 连通块哈希

Acwing 1402. 星空之夜题意给一个二维01矩阵,寻找连通块,相似的连通块用同一个字母表示,可以通过旋转、对称得到的就是相似。要求输出的矩阵字典序最小。题解dfs搜索即可哈希方式:计算每两个点的欧几里得距离之和,就是这个连通图的哈希值。相似的图形哈希值一定相同,大部分情况下是哈希值不会重复。代码#pragma region//#pragma optimize("Ofast")#include <algorithm>#include <cmath>#i

2021-01-28 20:33:50 251 2

原创 牛客 Shortest Path 树形dp

牛客 Shortest Path题意一棵 n(保证n是偶数)n(保证n是偶数)n(保证n是偶数) 个点的树,边带权。要求找出 n2\frac{n}{2}2n​ 对点,使得每个点对的距离之和最小。题解首先一条边不会被覆盖两次,如果覆盖了两次,一定有更优的组合方案;对于一个点 uuu ,一定是优先子树内部消耗,否则 uuu 和 uuu 的父亲节点的边会被多次计算;如果点 uuu 的子树大小是偶数,那么一定会内部消耗,否则 uuu 需要连向 uuu 的父亲节点。代码#pragma region

2021-01-27 15:28:01 102

原创 牛客 Rinne Loves Edges 树形dp

牛客 城市网络题意有一棵 nnn 个点的树,首先选取一个点 sss ,选择性的删除一些边,删边的代价是边的边权,要求删边之后没有原图中度为 111 的点可以到达 sss 。求最小的删边代价。题解树形dp,以 sss 为根建树;对于每一个点 uuu ,要么孩子 vvv 也不可到达,要么删除连向 vvv 的边,即 dp[u]=min(dp[v],w)dp[u]=min(dp[v],w)dp[u]=min(dp[v],w)。代码#pragma region//#pragma optimize(

2021-01-18 00:16:26 125 1

原创 牛客 城市网络 树上倍增

牛客 城市网络题意给一棵 nnn 个点的树,每个节点代表一个城市,每个城市卖价值为 aia_iai​ 的珠宝,有 qqq 次询问,每次询问从 uuu 城市到 vvv 城市,一开始有价值为 ccc 的珠宝,如果当前经过的城市珠宝价值大于已有的所有珠宝的最大价值,就购买。保证 vvv 在 uuu 到根的路径上。问这次行程有几次购买。题解一次次的跳转到自己的父亲显然时间复杂度过大,所以考虑倍增跳转;对于每次询问,在 uuu 的下方连一个虚拟的城市,城市卖价值为 ccc 的珠宝;用 f[u]

2021-01-17 15:13:16 69

空空如也

空空如也

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

TA关注的人

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