12 2021 档案
摘要:问题引入:在物流网络中,从一个城市(称为源结点)发送一批货物到另一个城市(称为汇点)。假设源结点可以源源不断地提供货物,汇点可以来者不拒地接收货物;路径连接在任意两个城市之间,但路径上有运输容量有限制。货物从源结点到汇点可以选择不同的运输路径。问:在不违反任何路径容量限制的条件下,从源结点到汇点运送
阅读全文
摘要:问题描述:给定一个带权重的有向图$G = (V , E)\(,其权重函数为:\)\omega : E \to R$。在图中,对所有的结点对$u , v \in V$ , 找出从结点$u$到结点$v$的最短路径。 该问题的解以表格(二维数组)的形式给出:第$u$行第$v$列给出从结点$u$到结点$v$
阅读全文
摘要:给定一个带权重的有向图$G = (V , E)\(和权重函数\)\omega : E \to R$。图中一条路径$p= <v_0,v_1 , ...,v_k>\(的权重\)\omega(p)$是构成该路径的所有边的权重之和: \[ \omega(p) = \sum_{i = 1}^{k} \omeg
阅读全文
摘要:一些定义: 生成树:无向图$G$的一个无环连通子集$T$称为图$G$的生成树 对于带权图,生成树的成本等于树中所有边的权重之和 最小生成树:具有最小权重的生成树称为最小成本生成树,简称最小生成树(\(MST\)) 最小生成树并不唯一 如何求最小生成树: 一个贪心策略设计如下:在每个时刻,该方法生长最
阅读全文
摘要:T1 5963. 反转两次的数字 题目描述:给你一个整数$num$,反转 \(num\) 得到 \(reversed_1\) ,接着反转 \(reversed_1\) 得到 \(reversed_2\) 。如果 \(reversed_2\) 等于 \(num\) ,返回 \(true\) ;否则返回
阅读全文
摘要:问题描述: 已知$n$个正数的集合$W={w_1, w_2, …, w_n}$和正数$M$。找出$W$中的和数等于$M$的所有子集。 例: \(n=4,W = (w_1,w_2,w_3,w_4)=(11,13,24,7), M=31\)。则满足要求的子集有: 直接用元素表示:$(11,13,7)\(
阅读全文
摘要:T1 5946. 句子中的最多单词数 题目描述:给你$n$个句子,求出含有最多单词的句子所含有的单词数 思路:根据题意模拟即可 时间复杂度:\(O(\sum|S|)\) 参考代码: class Solution { public: int mostWordsFound(vector<string>&
阅读全文
摘要:背景:需要压缩一个有$10$万个字符的数据文件。 分析:采用二进制字符编码,每个字符用唯一的二进制串表示,称为码字。 定长编码:每个字符的长度一样。考虑有六个字符的数据文件,可使用$3$位码字对每个字符编码,$10$万个字符需要用$30$万个二进制位来对文件编码。 变长编码:每个字符赋予不同长度的码
阅读全文
摘要:问题描述:假定有一个活动的集合$S$含有$n$个活动${a_1,a_2,…,a_n}$,每个活动$a_i$都有一个开始时间$s_i$和结束时间$f_i$,\(0\leq s_i< f_i < \infin\)。同时,这些活动都要使用同一资源(如演讲会场),而这个资源在任何时刻只能供一个活动使用。活动
阅读全文
摘要:背景:语言翻译,从英语到法语,对于给定的单词在单词表里找到该词 方法:创建一棵二叉搜索树,以英语单词作为关键字构建树 目标:尽快地找到英语单词,使总的搜索时间尽量少 思路:频繁使用的单词,如the应尽可能的靠近根;而不经常出现的单词可以离根远一点 前提假设:所有元素互异 一些定义: 二叉搜索树 二叉
阅读全文
摘要:以下内容和相关链接内的内容大多摘抄自王多强老师的PPT 循环不变式:把在第一次进入循环之前成立、以后每次循环之后还成立的关系称为‘循环不变关系“或’循环不变式‘、’循环不变性质 利用循环不变关系证明循环的正确性 分三步: 初始化:证明初始状态时循环不变式成立,即证明循环不变式在循环开始之前为真 保持
阅读全文
摘要:问题描述:给你两个字符串$s$和$t$,找出这两个字符串的最长公共子序列 一些定义: 子序列 给定两个序列$X=<x_1,x_2,...,x_n>$和序列$Z = <z_1 , z_2 , ...,z_k>$,若存在$X$的一个严格递增下标序列$<i_1 , i_2 , ...,i_k>$,使得对所
阅读全文
摘要:两个矩阵的乘积: 已知$A$为$p \times r$的矩阵,$B$为$r\times q$的矩阵,则$A$与$B$的乘积是一个$p \times q$的矩阵,记为$C$: \[ C = A_{p\times r} \times B_{r\times q} =(c_{ij})_{p\times
阅读全文
摘要:问题描述: $Serling$公司购买长钢条,将其切割为短钢条出售。不同的切割方案,收益是不同的,怎么切割才能有最大的收益呢? 假设切割工序本身没有成本支出 假定出售一段长度为$i$英寸的钢条的价格为$p_i(i = 1 , 2 , ...)$ ,给定以下价格表: length \(i\) 1 2
阅读全文
摘要:问题描述:给你一个长度为$n$的序列$a$ , 选出其中连续且非空的一段使得这段和最大。即求 \[ \mathop{MAX}\limits_{1 \leq i , j \leq n}\{ \sum_{k = i}^{j}a_k\} \] 问题一 P1115 最大子段和 数据范围: \[ 1 \leq
阅读全文
摘要:问题描述:给你$n$个在二维平面上的点,让你求任意两个点之间的欧几里得距离的最小值 P1257 平面上的最接近点对 此题$2 \leq n \leq 10^4$ ,所以可以暴力枚举任意两个点求距离然后取最小值 时间复杂度:\(O(n^2)\) 可以通过此题 参考代码: #include<bits/s
阅读全文
摘要:M-SOLUTIONS Programming Contest 2021(AtCoder Beginner Contest 232) A - QQ solver 题意:自己看题目 思路:根据题意模拟即可 参考代码: #include<bits/stdc++.h> using namespace st
阅读全文
摘要:T1 5956. 找出数组中的第一个回文字符串 题目描述:给你一个字符串数组,找出第一个是回文的字符串。 思路:遍历即可 时间复杂度:\(O(\sum|s|)\) 参考代码: class Solution { public: string firstPalindrome(vector<string>
阅读全文
摘要:327. 区间和的个数 题目描述:给你一个整数数组$nums$,求它的所有子数组中满足$lower \leq sum(sub_{nums}) \leq upper$ 的个数。其中$sub_{nums}$表示数组$nums$的一个子数组,$sum()$表示对该数组中的元素求和。 思路:先考虑前缀和,那
阅读全文
摘要:DFS序就是将树形结构转化成线性结构,使得树上对某一结点为根的子树的操作变成对一个区间的操作。 将树读入之后,进行$dfs$,$dfs$过程中记录初始访问的时间戳$intime$和返回时的时间戳$outtime$,那么以该结点为子树的所有结点都在区间$[intime , outtime]\(内。每次
阅读全文
摘要:题目链接:D 与 S 题目描述: $S$在追杀$D$。 现在,\(D\) 在一张有$N$点$M$边的无向图的$1$号点(顶点从$1$开始编号)。 每一秒$S$会剪掉与$D$相邻的一条边,然后$D$会走到一条没被剪掉的边的终点。有$K$个关键点,如果$D$到达了其中一个关键点,则$D$逃跑成功。$S$
阅读全文
摘要:T15952. 环和杆 题目描述:给你最多九根杆子,每个杆子上有若干红色、绿色、蓝色的环,问你含有三种颜色的环的杆子的数量 思路:根据题意模拟即可,可以使用set辅助实现 时间复杂度:\(O(n)\) 参考代码: class Solution { public: int countPoints(st
阅读全文
摘要:T1 5934. 找到和最大的长度为 K 的子序列 题目描述: 找到长度为$k$的和最大子序列 思路:记录一下下标排序之后选出最大的$k$个,然后再排序回去即可。 时间复杂度:\(O(nlogn)\) 参考代码: class Solution { public: vector<int> maxSub
阅读全文
摘要:暂存的题目集,后面再做整理 先对树跑一遍dfs获得其dfs序,然后对以某个结点为根的子树进行操作,转化为dfs序上对区间的操作,这个过程可以使用线段树完成 欧拉序:跑dfs的时候,将第一次出现该点的时候,记录为1,第二次出现时记录为-1,对树上链的操作就转化成前缀和了,过程可用线段树维护区间和 询问
阅读全文
摘要:T1 5942. 找出 3 位偶数 题目描述: 给你一些数字,找出所有使用其中任意三个数字组成的不含前导$0$的偶数。 思路: 考虑到数字个数很少,直接暴力三重循环然后用$map$判重并统计答案即可,注意最后要对答案数组进行排序。 时间复杂度:\(O(n^3)\) 参考代码: class Solut
阅读全文

浙公网安备 33010602011771号