草庐IT

Acwing linux 第五讲git

代码部分我给大家在最后单独整一个页面好看,正文内容里面也有大家可以一边看一用!!!!!!!!!!!!!!!!!!!!昨天讲了ssh内容,今天讲解git,git是个灰常重要的工具,所以我要给大家先讲一下陌生的git。先放网上解释:Git 是一种分布式版本控制系统,即,代码的本地克隆就是一个完整的版本控制存储库。通过这些功能齐全的本地存储库,无论脱机还是远程都能轻松工作。开发人员会在本地提交其工作,然后再将存储库的副本与服务器上的副本进行同步。这种范例不同于集中式版本控制,后者要求客户端必须先与服务器同步代码,然后才能创建新版代码。 Git 的灵活性和受欢迎程度使其成为所有团队的绝佳选择。很多开发

前缀和例题:子矩阵的和AcWing796-Java版

//前缀和模板提,在读入数据的时候就可以先算好前缀和的大小//计算前缀的时候用:g[i][j]=g[i][j-1]+g[i-1][j]-g[i-1][j-1]+Integer.parseInt(init[j-1]);//计算结果的时候用:g[x2][y2]-g[x1-1][y2]-g[x2][y1-1] +g[x1-1][y1-1]+"\n"//一些重复加的地方都需要减掉,如计算前缀和的时候g[i-1][j-1]包括在了前面的g[i][j-1]+g[i-1][j],多减去一次//g[x1-1][y1-1]也被包括在前面两项表达式,只需减去一次importjava.io.BufferedRead

acwing算法基础之动态规划--背包问题

目录1基础知识2模板3工程化1基础知识(零)背包问题描述:有NNN个物品,每个物品的体积是viv_ivi​,价值是wiw_iwi​,现有容量是VVV的背包,求这个背包能装下的物品的最大价值。01背包问题:每个物品只有1个。完全背包问题:每个物品有无穷多个。多重背包问题:第iii个物品有sis_isi​个。分组背包问题:有N组物品,每组有sis_isi​个物品,但只能选择其中一个。(一)01背包问题讲解。状态定义f[i][j]:从前iii个物品中选择总体积不超过jjj的物品的总价值的最大值。状态转移:不选择第iii个物品,即从前i−1i-1i−1个物品中选择总体积不超过jjj的物品,根据状态的定

acwing算法基础之动态规划--线性DP和区间DP

目录1基础知识2模板3工程化1基础知识线性DP:状态转移表达式存在明显的线性关系。区间DP:与顺序有关,状态与区间有关。2模板3工程化题目1:数字三角形。解题思路:直接DP即可,f[i][j]可以来自f[i-1][j]+a[i][j]和f[i-1][j-1]+a[i][j],注意f[i-1][j]不存在的情况(最后一个点)和f[i-1][j-1]不存在的情况(第一个点)。C++代码如下,#includeusingnamespacestd;constintN=510;intn;inta[N][N];intf[N][N];intmain(){cin>>n;for(inti=0;in;++i){fo

第3章:搜索与图论【AcWing】

文章目录图的概念图的概念图的分类有向图和无向图连通性连通块重边和自环稠密图和稀疏图参考资料图的存储方式邻接表代码邻接矩阵DFS全排列问题题目描述思路回溯标记剪枝代码时间复杂度[N皇后问题](https://www.luogu.com.cn/problem/P1219)题目描述全排列思路O(n!)O(n!)O(n!)代码枚举思路O(n!)O(n!)O(n!)代码树的重心**题目描述**思路O(n)O(n)O(n)代码参考资料相关题目BFS二叉树的层序遍历思路O(n)O(n)O(n)代码参考资料走迷宫思路O(nm)O(nm)O(nm)代码相关题目有向无环图的拓扑序列有向无环图拓扑序列BFS思路O(

acwing算法基础之动态规划--DP习题课1

目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:最长上升子序列,要求时间复杂度为O(nlogn)O(nlogn)O(nlogn)。解题思路:保存每个长度下的最小的结尾元素值,遍历数组元素时,通过二分找到它,然后更新它即可,返回len。C++代码如下,#includeusingnamespacestd;constintN=1e5+10;intn;inta[N];intq[N];intmain(){cin>>n;for(inti=0;in;++i)cin>>a[i];intlen=0;q[0]=-2e9;for(inti=0;in;++i){//在q中找到intl=

acwing week2 基础算法3总结

acwingweek2基础算法3总结总结点1:双指针算法//常用模版框架for(inti=0,j=0;i题1:最长连续不重复子序列我们用指针i指向子序列的终点,j指向子序列的起点。每次指针i后移时,这个序列中重复的那个数只可能是s[i],所以我们判断一下s[i]出现的次数是否大于1,如果大于1,说明子序列中s[i]这个数重复了,那么就更新答案和起点,继续循环。判断出现的次数,我们用数组a做标记。代码:#includeusingnamespacestd;intn;constintN=100010;ints[N],a[N];intmain(){ cin>>n; for(inti=0;i>s[i];

【算法 | 模拟No.4】AcWing 756. 蛇形矩阵 & AcWing 40. 顺时针打印矩阵

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助🍓希望我们一起努力、成长,共同进步。原题链接:点击直接跳转到该题目目录一、AcWing756.蛇形矩阵1️⃣题目描述2️⃣题目解析3️⃣解题代码二、AcWing40.顺时针打印矩阵1️⃣题目描述2️⃣解题代码一、AcWing756.蛇形矩阵1️⃣题目描述2️⃣题目解析代码中:dx[]和dy[]数组分别表示了在四个方向上x和y的变化量。x和y则是当前要填充的位置坐标,d则代表方向,

AcWing第98和99周赛

第98场周赛竞赛-AcWing 1、大整数4947.大整数-AcWing题库 题目给定两个整数 n,k。请你输出一个 n 位数,要求其各位数字均为 k。输入格式共一行,包含两个整数 n,k。输出格式一个整数,表示满足要求的 n位数。数据范围前三个测试点满足 1≤n≤3。所有测试点满足 1≤n≤100,1≤k≤9。输入样例:32输出样例:222 简单题直接看代码吧! 代码importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc

AcWing 算法基础课week 1 总结(万字长文)

AcWing算法基础课week1总结总结点1:快速排序(分治思想)题1:从小到大排序主体思路:定义一个数x属于数组s,利用双指针,将数组分为大于等于x和小于等于x的两部分,然后递归处理。(具体步骤如下)1.如上图所示,我们定义一个数组s用来储存n个数据,然后定义两个指针ij,分别指向数组的左右两端,同时i指针逐个向右移动扫描数组,j指针同理向左。2.当i,j指针扫描的过程中,当s[i]>x时,指针i就停止移动,同理当s[j]while(ix,移动停止,j同理doj--;while(s[j]>x);if(i3.重复以上操作,直到i>=j为止。然后相同的方式利用递归处理左右两半边的数组,直到子数组