- 博客(115)
- 收藏
- 关注
原创 5.5 刷题
要注意ans初始化时初始化为-0x3f3f3f3f,因为数组中的值可能为负数,如果初始化为0就错了。yysy头还晕,但是太久没学习了。要注意选择基准的末尾(当前右端最大)
2023-05-05 10:43:13
255
原创 4.5 一些特殊的贪心
很显然就是一个哈夫曼树的题目。每个堆都是下面的一个叶子节点,合并的结果就是3a+3b+2c+2d+2e。如果想让这个值最小,很显然就是让最小的数值放在层次最深的节点中。
2023-04-05 15:25:19
186
原创 3.30 二分图
二分图的定义是:设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。简而言之,就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。参考二分图详解。
2023-03-30 23:07:31
251
原创 3.29 最小生成树算法
接上图,如果我们需要在某城市之间修建道路,点与点之间的加权边就是两城市道路的维修费,如果我们想找到一种将所有城市都连通起来并且使得道路修建费用最小的一种方案,那么就要选择使用最小生成树。用点t更新集合外点到集合的距离,就是找集合外和t有连接的点,如果更小就更新,最后将点t放入集合中。生成树是指一个联通图的极小的连通子图,它包含了图中的所有n个顶点,并只有n-1条边(构成一棵树)最小生成树是针对一个带权图来说的,就是指原图中能构成的所有生成树中,边权和最小的一颗生成树。(该集合是一个已经确定了的连通块)
2023-03-29 20:50:13
427
原创 3.21 最短路
由于出现了2+(-3)+(-1)B如果想走最短路径的话就会无限重复这个环在bellman算法中,每次进行最短路径的更新,那么如果从1到n有路径的话,那么最多n-1条路径(n个点)就可以到达。如果循环到了n或者更大,那么说明一定存在负环了。
2023-03-21 20:14:49
278
原创 3.20 有向图的拓扑序列
若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x在 A 中都出现在 y之前,则称 A 是该图的一个拓扑序列。如果此时j的入度为0,那么就可以将j放进队列中。然后可以删去t和j之间的边,将t的入度–图的拓扑序列是针对有向图来说的。所有入度为0的点都可以排在开头。枚举所有t的出边如(t->j)将所有入度为0的点t放入队列。,因此其也被称作拓扑图。
2023-03-20 19:40:04
535
原创 3.16 区间贪心
这题一直在想按照左端点排序怎么做,结果一直想不出来。换一种排序方法:按右端点排序就很容易了。但是一般要对数据进行预处理,如排序等。本题在思想上和细节上很值得注意。贪心问题很多的思想都比较简单。多看一下,这个代码恶心到我了。
2023-03-16 16:33:03
75
原创 2.22 位运算
的结果就是k最后一位的二进制数,因为1的二进制是0001,k前面的位都被&为0了。由于二进制是从0开始标记位数的,因此n>>k就使得最后一位是第k位置,> 将某个数的二进制向右移动几位。首先注意二进制位数从0开始记录,即。,左移k位即相当于乘上2的k次方。,左移k位即相当于除以2的k次方。故lowbit(52)=100。对二进制按位进行与运算。求该位置是几,&1即可。
2023-02-22 21:24:36
425
原创 7.19 二叉树
在数据结构这门课上也学过,给一个满二叉树,就可以通过孩子的序号得到其双亲的序号,及(双亲序号=孩子序号/2)因此本题只需要将两个孩子的序号的所有祖先写出来,然后遍历查询最近的相同的那个就可以。本题比较简单,直接观察二叉树特性就可得出。......
2022-07-19 09:20:29
124
1
原创 7.18 正方形数组的数目
默认对于相同的,一定要把序号小的放置在前面,如果遍历到某一个数,但是和它数值相同不过序号在它前面的那个数还没被用,此时这个数就不能被用。那么就先对数进行排序,这样的话相同的数就会放在一起了。错误原因是没有考虑重复出现的排列,这也是本题的重点。112(123)括号内为序号。本题其实就是对于一个全排列进行剪枝。为了满足题意剪枝的第一个条件就是。第一个很容易满足,第二点就要考虑如。30min过3/10。...
2022-07-18 16:23:06
121
原创 7.17 最低票价
暑假混到了现在,我是一页都没看啊。今天本来也不打算学习了,不过还是要监督自己,将每日一题坚持下来。明天又是周一,也是我暑假好好学习的第一周✨。
2022-07-17 22:41:06
117
原创 Lecture 2 System Development Life Cycle
SDLCThe System Development Life Circle系统开发的阶段(phase)project planning确定设计系统的目的,以及团队如何进行设计(怎样的计划)包括可行性分析analysis确定了系统的使用者,系统的功能,何时何地被使用design设计系统的实现方式,如算法和数据结构,用户界面,数据库等implementation实际构建系统supportSDLC的方法论方法论:methodology以过程为中心 process-center
2022-05-31 16:35:39
163
原创 5.24 算法课程OJ
加工生产调度没咋理解记住就好吧#include<iostream>#include<algorithm>using namespace std;const int N=1100;int n;struct node{ int a; int b; int num;//序号 int min;};struct node q[N];int a[N];int b[N];bool cmp(node x, node y){ return x.mi
2022-05-24 14:49:29
112
原创 5.23 算法课程oj
食物链(一)题目太长,附上链接建立一个图实际上,只要从入度为0的点bfs道出度为0的点即可要注意保存每个点的后继节点,这样才方便dfs此外,记忆化搜索!!!仿照滑雪的代码十分重要!!!#include<iostream>using namespace std;/*利用食物链建图实际上,只要从入度为0的点bfs道出度为0的点即可 */const int N=1001;int ans=0;int path[N];int ru[N];int
2022-05-23 11:35:27
150
1
原创 5.20 算法课程OJ
八皇后摆放吐了,本来以为很快就能做出来。结果。。花了好久下面总结几个要点:对于正对角线和副对角线,可以直接根据规律来,如果找方程的话,因为数组的下标和坐标轴的刻度其实是不统一的,不方便转换。dfs的时候直接搜索那些没有被先占的行,因此不需要使用行判断数组需要有一个映射数组,将未被占领的行映射刚开始一直不对就是因为没有找到避免重复的方法😣#include<iostream>using namespace std;const int N=10;int map[N][
2022-05-20 10:17:39
108
原创 5.19 算法课程OJ
最近最近混了好几天。靠😭我不喜欢等待,最近几天有几个事等着开奖,我急死辽,希望都有个好的结果。今天必须开始好好学习!连续子段的最大和模板题,要记住状态转移公式,之前老是忘可以思考一下,连续字段的最大和:其实就是要思考一个问题,当前扫描到的这个数字是否要加入当前的序列。并不能简单的思考成正数我就要负数就不要。设dp[i]为前i个中连续字段的最大和,那么对于第i个,要么要,要么从它开始,因此dp[i]=max(dp[i-1]+a[i],a[i])因为如果加上a[i]比a[i]还小,那就
2022-05-19 17:00:27
172
原创 5.11 算法课程OJ
前言本专题用于记录算法设计与分析课程中的习题。求解掷色子游戏问题一道简单的dp问题用时8m10s/*本题是一个dp问题 设dp[i][j]为第i次时走了j步的方案数 */ #include<iostream>using namespace std;const int N=10;int dp[N][N];int n;int main(){ cin>>n; //走一次 for(int j=1;j<=6;j++)
2022-05-11 16:19:33
484
4
原创 2021蓝桥杯国赛真题
最近一直没有在学习。蓝桥杯侥幸进了决赛,要好好准备一下,不能像省赛时候一样混了。今天开始好好学习,认真记录一下。A5分B5分直接暴力枚举C0分这题答案是977,我写成了978,是因为文件读入的时候,把最后一行的空行也读入了,因此要注意文件写入时候的格式,文件要检查一下是否标准。本题我的做法就是用excel弄出日期,然后放到文档里文件写入,十分方便。本题主要学习文件读入的写法。#include<iostream>using namespace std;#i.
2022-04-30 12:46:40
520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人