
算法
文章平均质量分 67
openallzzz
计算机交流群:743998243,2023CCPC河北省大学生程序设计竞赛银牌、2022CCPC河北省大学生程序设计竞赛铜牌、第十四届蓝桥杯C++B组河北省赛一等奖(全省22名)、第十四届蓝桥杯C++B组决赛国家二等奖、笔试辅导、教学+邮箱:zythrough@gmail.com
展开
-
小红书2023/08/06Java后端笔试 AK
【代码】小红书2023/08/06Java后端笔试 AK。原创 2023-08-06 21:21:53 · 931 阅读 · 0 评论 -
优快云周赛第58期
如果输入字符串的首字符是元音字母,而末字符不是元音字母,那么最后一个输入的字符可能是输入字符串的首字符或末字符。综上所述,我们只需要判断输入字符串的首尾字符是否为元音字母即可确定最后一个输入的字符的可能性。思路:根据题意将符合要求第一个的at字符串替换为@,以及所有符合要求的dot替换为.即可。如果输入字符串的首尾字符都是元音字母,那么最后一个输入的字符一定是输入字符串的首字符。如果输入字符串的首尾字符都不是元音字母,那么最后一个输入的字符就是输入字符串的末字符。思路:根据题意模拟即可。原创 2023-06-15 09:55:02 · 185 阅读 · 0 评论 -
【蓝桥杯真题】包子凑数(裴蜀定理、动态规划、背包问题)
每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。比如一共有3种蒸笼,分别能放4、5和6个包子。不等于1,那么他们不存在不能够凑出的最大数,等价于不能够凑出的包子数量为无限个INF(infinity)。个包子可以被凑出,因为我们不需要选择任何蒸笼就已经凑出。原创 2023-03-27 00:22:29 · 862 阅读 · 0 评论 -
【优快云竞赛第33期】C++题解
两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。贪心,假设当前客栈的的颜色为c,最低消费为d,如果d不大于题意中的最低消费p,那我们 记下当前位置idx(颜色为c的位置),接下来判断,如果idx不小于上一个颜色为c的位置,那么当前颜色的客栈我们可选的有之前出现颜色为c的客栈总数,接着答案加上当前颜色的可选数量(具体构造方案:咖啡店选择最后一个满足最低消费不大于p的,客栈也固定选择和咖啡相同的一家,另外一个客栈在相同的颜色的可选客栈中任选一个即可)。原创 2023-03-03 17:45:41 · 515 阅读 · 0 评论 -
第十四届蓝桥杯第三期官方模拟赛C\C++题解
第三届蓝桥杯官方模拟赛是一项计算机编程竞赛,本次比赛的 C/C++ 题目涵盖了数据结构、算法和编程基础等多个方面。其中,数据结构方面包括链表、栈、队列和堆等;算法方面包括贪心、动态规划和搜索等;编程基础方面则包括字符串处理和文件读写等。本次比赛的题目难度较高,需要参赛者具备一定的编程基础和实践经验。同时,本次比赛还为参赛者提供了详细的题解和样例代码,帮助参赛者更好地理解和掌握解题思路。原创 2023-02-27 22:27:36 · 5937 阅读 · 23 评论 -
洛谷 P5764 [CQOI2005]新年好
重庆城里有n个车站,m条双向公路连接其中的某些车站。每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费的时间可能不同。在一条路径上花费的时间等于路径上所有公路需要的时间之和。佳佳的家在车站1,他有五个亲戚,分别住在车站abcde。过年了,他需要从自己的家出发,拜访每个亲戚(顺序任意),给他们送去节日的祝福。怎样走,才需要最少的时间?原创 2023-02-10 22:07:49 · 527 阅读 · 0 评论 -
蓝桥杯练习系统 【试题】【算法训练】 礼物
(也就是前半段的最后一个元素位置或者理解成前半段的右端点),二分地考虑前半段的左端点在哪里,由于元素非负,则前缀和数组是单调增加的,在。需要在一个非负的整数数组中选择一个长度为偶数的子数组,这个子数组需要满足前一半元素的和需要小于等于。回到问题,很直观的是我们可以枚举答案子数组中间靠左的一个元素位置。是满足条件的,我们可以取到这种情况下的左端点位置。的左侧找左端点的过程中,如果二分出来的左端点。左半部分考虑结束,右半部分的考虑是类似的。,并且后一半元素的和需要小于等于。过小,使得前半段的和。原创 2023-02-06 21:28:23 · 757 阅读 · 0 评论 -
AcWing第88场周赛题解
AcWing第88场周赛题解原创 2023-01-28 20:24:43 · 650 阅读 · 0 评论 -
LeetCode n位数字,移除其中k位,使得结果最小
那我们就可以知道:要求最终的结果最小,那么前缀中的数字要尽可能的小。,如果我们选择移除栈顶元素,那么数字序列的前缀将变大,不符合题目要求,所以我们不应该移除栈顶元素。需要大于0),我们可以用一个栈来维护这个数字序列,枚举该序列,假设当前枚举的数字为。到这里我们就需要考虑每一个数字的前面哪些较大的数,并且能够将他们移除(移除的次数。如果当前元素等于栈顶元素,我们考虑紧接着要枚举到的元素。,如果大于,则弹出该栈顶元素,继续执行该过程,直到①。,n为数字序列的长度,每个数字至多会被。,判断栈顶的数字是否大于。原创 2023-01-08 15:10:48 · 655 阅读 · 0 评论 -
优快云第11期周赛题解
csdn第11期周赛题解原创 2022-11-28 03:05:00 · 741 阅读 · 0 评论 -
第十四届蓝桥杯第二期模拟赛题解
第十四届蓝桥杯第二期模拟赛题解原创 2022-11-22 14:46:38 · 3220 阅读 · 6 评论 -
AcWing-第78场周赛
AcWing、单调栈、二分原创 2022-11-20 00:53:12 · 515 阅读 · 0 评论 -
第五届“传智杯”全国大学生计算机大赛(练习赛)传智杯 #5 练习赛] 平等的交易
你有n道具可以买,其中第i的价格为ai。你有w元钱。你仅能用钱购买其中的一件商道具。当然,你可以拿你手中的道具换取其他的道具,只是这些商道具的价值之和,不能超过你打算交换出去的道具。你可以交换无数多次道具。道具的价值可能是0,但是你不能使用空集换取价值为 0 的商品。请问,在这个条件下,最多可以换取多少件道具?原创 2022-11-19 17:31:22 · 205 阅读 · 0 评论 -
第61场牛客小白月赛-题解
第61场牛客小白月赛、BFS、枚举、原创 2022-11-18 23:17:27 · 674 阅读 · 0 评论 -
AcWing 3250. 通信网络
分别表示正向边和反向边,在本题中枚举每一个点即可,在枚举某一点。,判断正向和反向所能到达的点数为。能够到达的点,用两个$bool。$数组进行标记可到达的点即可。在邻接表中申明两个链表数组。,枚举每个点的时间为。原创 2022-11-16 19:59:46 · 206 阅读 · 0 评论 -
第四届传智杯初赛_小卡与质数2
小卡迷上了质数!原创 2022-11-16 13:37:19 · 853 阅读 · 0 评论 -
第十四届蓝桥杯第一期模拟赛题解[官方模拟赛]
14届蓝桥杯、第一期模拟赛、题解C++、Java、算法原创 2022-11-15 00:08:14 · 2996 阅读 · 0 评论 -
LeetCode周赛 + AcWing周赛(T4/T3)分析对比
对类似算法(子数组问题)题的分析原创 2022-06-26 23:16:54 · 472 阅读 · 0 评论 -
P3371 【模板】单源最短路径(弱化版)
思路题中节点nnn个数的数据级为10410^4104,边mmm的个数的数量级为10510^5105,由数据范围反推算法,可以知道我们应该选择堆优化版的DijkstraDijkstraDijkstra算法来解题,因为该算法的时间复杂度为O(m×log2n)O(m \times log_2n)O(m×log2n),很匹配不是吗hh。所以直接默写板子就好了。c++代码#include <iostream>#include <cstring>#include <algori原创 2022-04-24 23:38:44 · 1176 阅读 · 0 评论 -
LeetCode 剑指offer 68【二叉树的最近公共祖先】
思路一般情况下,对于一颗树root来说,如果节点p、q分别分布在root的左右子树中,那么节点p、q的最近公共祖先为root;对于特殊的情况,即p、q均只分布在root的一侧(左子树或者是右子树)中,我们则可以递归的处理相同的问题,即在一颗子树(root->left或者root->right)中判断节点p、q的最近公共祖先。细节处理在递归的过程中,如果遇到空节点(root == nullptr),我们可以断定此时必定返回的祖先节点是nullptr,因为此时的树已经为空,找不到祖先节点,也原创 2022-03-12 23:09:09 · 8382 阅读 · 1 评论 -
最短路算法模板(Dijkstra、Bellman_ford、spfa、Floyd)
最短路算法模板总结图论当中将图为有向图和无向图,这里只考虑有向图的算法。对于无向图,我们将其看做是一种特殊的有向图,对所有的无向边u↔vu \leftrightarrow vu↔v都看做是u→vu\to vu→v和v→uv \to uv→u。约定:nnn表示图中点数,mmm表示图中边数。稠密图:mmm 与 n2n^2n2数量级大致相同稀疏图:mmm 和 nnn数量级大致相同建图一般常用的建图方式有两种:邻接矩阵:定义二维数组 g[N][N]g[N][N]g[N][N],g[i][j]g[原创 2022-02-14 01:48:52 · 1389 阅读 · 23 评论