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