摘要:
win 1.下载安装包 地址:https://dev.mysql.com/downloads/mysql/ 下载完成,解压 2.配置系统变量 变量名:MYSQL_HOME 变量值:D:\app\mysql-8.4.1-winx64 3.安装MySQL D:\app\mysql-8.4.1-winx6 阅读全文
摘要:
近期在队友的影响下,开始学习《算法竞赛进阶指南》这本书。对于本来就有一定算法基础的我来说,这本书不论是对于学习不常见的新算法还是对于基础算法的巩固都有很大的帮助。其中,数据结构和图论的一些巧妙的算法令我非常感兴趣。 就数据结构方面的算法来说,线段树在书中是一个重头,这个算法在维护区间上有着很优秀的时 阅读全文
摘要:
问题: 给定无向连通图$G$和$m$种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求$G$的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答$”NO”$。 解析: 对于每个点选择颜色$i$时判断其与所有相连的已着色的点是否发生颜色冲突,若未发生冲突,则$dfs$向后 阅读全文
摘要:
问题: 给定字符集和每个字符出现的频率,构造最优前缀码。 解析: 贪心构造最优前缀码,按照频率从小到大排序,最小两个字符频率相加后产生新的字符频率加入优先队列中,频率越小离树根越远。 设计(核心代码): 1 while (q.size() > 1) { 2 x = q.top(); 3 q.pop( 阅读全文
摘要:
题意: 给出三个长度为$n$的正整数序列,一个区间$[L,R]$的价值定义为:三个序列中,这个区间的极差(最大值与最小值之差)的乘积。 求所有区间的价值之和。答案对$2^{32}$取模。 思路: 枚举右端点,设三个序列分别是$a,b,c$,线段树维护$a,b,c,ab,ac,bc,abc$的$max 阅读全文
摘要:
问题: 有n项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时举行,问如何选择这些活动,从而使得被安排的活动数量达到最多。 解析: 如果我们选择开始时间最早的节目,得不到最优解 如果我们选择时间最短的节目,也无法得到最优解 可以用数学归纳法证明,我们的贪心策略应 阅读全文
摘要:
问题: 给定序列$X,Y$,求最长公共子序列。 解析: 设$dp[i][j]$表示前$i$个$x$和前$j$个$y$的最长公共子序列。 $dp[i][j]=max(dp[i][j],dp[i-1][j],dp[i][j-1])$ 当前最长由前一个转移过来 $if(x[i]==y[j]) dp[i][ 阅读全文
摘要:
问题: 设$n$个矩阵序列,其中第i个矩阵是$p[i-1]*p[i]$阶矩阵,给定矩阵链的向量$P$,求一种乘法次序,使得基本运算的总次数最小。 解析: 设$A[i][j]$为$\prod_{k=i}^{j}{a[k]}$ 设$F[i][j]$为$A[i][j]$的最少运算次数。 $F[i][j]= 阅读全文
摘要:
题意: 给定 $n,m$,给定 $m$ 个无序对 $(a,b)$ 代表位置 $a$ 上的数字和位置 $b$ 上的数字进行比较。且这 $m$ 个无序对无重复。 让你寻找两个序列: 第一个序列由 $1 \sim n$ 组成,元素互不相同且唯一。 第二个序列,要满足和第一个序列对于 $m$ 个比较的结果相 阅读全文
摘要:
题意: 有$n$件商品,每天可以卖一件,每件商品的售价是$p[i]$元,在$a$的倍数天可以获得$x$%的利润,在$b$的倍数天可以获得$y$%的利润,利润可叠加。 如果需要获得$k$的利润,问最少需要卖多少天。 思路: 二分答案。对于售价高的商品分配给前$mid$天中利润高的时间。 代码: 1 / 阅读全文