![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 53
数据结构与算法
HKer_YM
退役菜ACMer、还走在Java之路上的小白白...
展开
-
ZJYYCOJ-最多水容量
题目链接: http://acm.oinsm.com/problem.php?cid=1022&pid=4解题思路这题,一开始,我一想,来个单调栈不就好了嘛,冲冲冲!wa了,那我就正的一遍,反的一遍,冲冲冲,emmmm,又wa了!(我就直接引用官方题解了,哈哈)双指针法这种方法背后的思路在于,两线段之间形成的区域总是会受到其中较短那条长度的限制。此外,两线段距离越远,得到的面...原创 2020-02-26 14:20:59 · 210 阅读 · 0 评论 -
牛客小白月赛22- 收集纸片
题目链接:https://ac.nowcoder.com/acm/contest/4462/D思路因为菜所以才参加小白月赛,这题,题目读完应该就晓得是一道搜索(不排除有更好的方法QAQ), 这题搞了我半天,错在于求最短的距离我写成了abs(ve[i - 1].x - ve[j - 1].x) + abs(ve[i - 1].y - ve[j - 1].y);题目规定了只能沿着x轴,y轴...原创 2020-02-23 12:56:16 · 166 阅读 · 0 评论 -
HDU-权利指数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1557思路这题,可以想到用搜索,或者枚举(QAQ,训练的时候竟然没搜明白,可能,没睡醒!!题目数据 n <= 20, 数据小直接上搜索,也可以用枚举,二进制枚举!真的得吐槽自己,真的越来越菜了…代码DFS#include <bits/stdc++.h>using...原创 2020-03-02 01:04:24 · 243 阅读 · 0 评论 -
ZJYYCOJ-商店繁荣度
题目链接: http://acm.oinsm.com/problem.php?cid=1027&pid=4思路今天周赛的一道题目,刚看到以为是一道单调栈的题目,后面写完,交了好几发,搓了一个样例,结果发现就错了!!这个8被丢掉了!所以还剩不到10分钟的时候立马转变了思路,用vector来存,从右往左,每次比较最后一个数如果比它小则加入vector,否则,就二分去找答案!510 3...原创 2020-03-08 20:07:02 · 369 阅读 · 0 评论 -
HDU-6676度度熊与运算式1
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6676思路训练赛的时候,一直WA,没找到问题所在,就结束了,错误的地方在于,最后还剩多少个1用来异或,算的写法写错了,应该用(1的总数-最后的最大值) 来算,而我直接用变量来统计了!!题解就直接引用官方的了:代码#include <bits/stdc++.h>using n...原创 2020-03-02 02:09:33 · 260 阅读 · 0 评论 -
牛客练习赛59-B牛能和小镇
题目链接: https://ac.nowcoder.com/acm/contest/4743/B思路题目读完应该可以晓得这是一道最小生成树的题目,模板题!!作为鲁莽型选手,必定得莽一莽!(QAQ… 内存超限了…好,没事,还有机会!首先我们分析一下,2点建路的代价为:我们设X 为那么 两点的代价就是| X1 - X2|然后要任意两点联通,那么对于n个点,我们只需n-1条边即可代码...原创 2020-03-18 20:36:06 · 171 阅读 · 0 评论 -
Machine Schedule HDU 1150 二分图最大匹配(最小点覆盖)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1150思路:题目大概意思:有n个任务,需要在电脑的不同模式下进行,可以在A组电脑的i模式下进行或者在B组的j模式下进行,刚开始电脑处于0模式,所以对于其他模式需要重启电脑,其次对于0模式下的任务,我们就无需去判断所以我们可以用二分图匹配,将A组模式看成一个集合,将B组模式看成一个集合,用A集合...原创 2020-03-31 13:26:52 · 172 阅读 · 0 评论 -
Codeforces Round #630 (Div. 2)B: Composite Coloring
题目链接: http://codeforces.com/contest/1332/problem/B思路这题题目还是容易看明白(依靠翻译,emmmmm就是最多只有11中颜色,让你进行涂色,对于两个数a,b 必须满足gcd(a,b) > 1 才能图相同的颜色,想到了对于相同的因子应该归为一类,但是,还不够 !来源: https://www.cnblogs.com/fisherss/...原创 2020-04-01 16:06:53 · 198 阅读 · 0 评论 -
HDU-5701中位数计数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5701思路一道思路题,自己思路不够啊(QAQ…中位数: 所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数。 (这题不用去判断偶数! 所以只需让这个数右边比他大的个数等于左边比他小的个数即可!所以,我们只需先扫一边右边,求别当前数大的数的个数与比...原创 2020-03-03 12:59:20 · 202 阅读 · 0 评论 -
ZJYYCOJ-会移动的盒子
题目链接: http://acm.oinsm.com/problem.php?cid=1031&pid=4思路滑动窗口的题,周赛的时候,读懂这题,就感觉似曾相识,所以当时可以想到需要去维护一个单调性,然后自己就傻傻的去用优先队列来维护了,压根就是忘掉了单调性这个概念了!(QAQ…首先,能想到用队列来实现,但是考虑到用从后放,从前取出,所以得用deque来实现,维护一次递减,一次递增...原创 2020-03-16 00:59:39 · 238 阅读 · 0 评论 -
Codeforces Round #630 (Div. 2) A: Exercising Walk
题目链接: http://codeforces.com/contest/1332/problem/A思路看了半天没看懂题目的是啥个意思(我用了翻译,还是看了半天题目大概意思: 有一只猫,可以往左走a步,往右走步,往下走c步,往上走d步,走过的点还可以再走,问你是否可以在给定范围内走动,不出界!代码#include <bits/stdc++.h>using namespa...原创 2020-04-01 15:09:35 · 349 阅读 · 0 评论 -
ZJYYCOJ-好基友
题目链接: http://acm.oinsm.com/problem.php?cid=1022&pid=4解题思路偷懒,我就直接 引用官方题解了解题思路:该题解题思路有多种,并查集以及贪心皆可以 AC。(1)贪心思路:根据我们的假设,可以制定按顺序让每张沙发上基友开心的策略。对于每张沙发,找到沙发上第一个人的基友,如果不在同一个沙发上,就把沙发上的第二人换成第一个人的基友。...原创 2020-02-26 16:31:50 · 232 阅读 · 0 评论 -
Codeforces Round #630 (Div. 2)C. K-Complete Word
题目链接: http://codeforces.com/contest/1332/problem/C思路题意: 给你一个字符串,让你修改最少的字母,使得这个字符串是回文串,并且,字符串从头以m的长度分为一段一段,这长度为m的字符串也得是回文串,让你求最少需要修改多少字符串才满足!刚开始想以第一段为为准,来改变,写完发现,好像不对,这样不是最少,应该是,以同一个位置上出现最多的字母为准,改变...原创 2020-04-03 13:19:16 · 249 阅读 · 0 评论 -
ZJYYCOJ-最大奇数和
题目链接: http://acm.oinsm.com/problem.php?cid=1031&pid=10思路可模拟可贪心首先,我们能想到,既然要和为奇数,那么必然是奇数个奇数相加,偶数随意!(QAQ… 这点比赛考虑到位了!其次必然要剪枝一下,或者再贪一下,(这个,比赛的时候我没考虑到位,超时n发,原因是我做了重复的相加操作,这里我没用前缀和优化一下即可然后我们可以再贪一下...原创 2020-03-16 12:13:46 · 362 阅读 · 0 评论 -
CodeForces - 873B: Balanced Substring
题目链接: http://codeforces.com/problemset/problem/873/B思路看到这题应该就会有一个前缀和的想法,那么我们把1看成1,0看成-1,那么我们求前缀和,如果 sum[i] == sum[j] (i < j), 那么说明 i到j之间0和1的个数是相同的!代码#include <bits/stdc++.h>using namesp...原创 2020-04-04 20:04:08 · 268 阅读 · 0 评论 -
HDU-6290奢侈的旅行
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6290思路昨天个人赛里的,题目,普通Dijstra直接内存炸了…以前没写过,堆优化的Dijstra,所以学习了一下大佬的写法!!博客: https://www.cnblogs.com/luoxiaoyi/p/9726829.html题解思路我就直接引用这位大佬的了!!题解讲的很明白,接下...原创 2020-03-01 16:02:59 · 201 阅读 · 0 评论 -
ZJYYCOJ-水流问题
题目链接: http://acm.oinsm.com/problem.php?cid=1022&pid=9题目思路题目读完,可能还是会有点朦朦的,题目意思就是,随意从一个点出发,问你是否能走到太平洋(即x == 1 || y == 1) 和 大西洋(即x == n || y == m), 然后看看数据范围,哦,可以搜!!( 或者是有别的解法!当然DFS,BFS 都是可以的!搜法: ...原创 2020-02-26 13:36:55 · 234 阅读 · 0 评论 -
ZJYYCOJ-路线方案数
题目链接: http://acm.oinsm.com/problem.php?cid=1022&pid=1思路比赛的时候,我看到这题,emmmm,一个递推题?,也许可以搜一下找规律,emmmm,n * n 的正方形,好像有点不好搜啊!!晚上,又看了一边题目,2 * n, !!!!想都不想,直接搜一下找规律!!暴搜找规律1 : 22 : 83 : 16 = 8 + 8...原创 2020-02-25 23:58:43 · 181 阅读 · 0 评论 -
ZJYYCOJ-吃鸡路线
题目链接:http://acm.oinsm.com/problem.php?cid=1022&pid=10题目后续会在大题库开放!题目思路读完题目,就应该知道是一道模板的最短路径,而且,点的个数最多也就150,那么Floyd或者Dijkstra都可以轻松解决(QAQ,可是我并没有解决…题目坑点从s到e,别以为是单向的(QAQ,生活常识也可以知道,首先: 自己到自己,肯定得为...原创 2020-02-25 23:17:25 · 278 阅读 · 0 评论 -
牛客小白月赛22-货物种类
题目链接: https://ac.nowcoder.com/acm/contest/4462/H思路作为无脑型选手,上来看到这种区间题,不考虑复杂度(因为不会算QAQ),直接上来搓一发线段树,那结果超时是必然的!!!(后面才想到有个差分序列… 所以STL套一套 + 差分序列,求前缀和,就可以了代码#include <bits/stdc++.h>using namespace...原创 2020-02-23 13:19:02 · 250 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1-nico和niconiconi
题目链接: https://ac.nowcoder.com/acm/contest/3002/I题解思路一道并不是很难,也很好理解的dp代码#include <bits/stdc++.h>using namespace std;const int MAXN = 300005;string dir[5] = {"nico", "niconi", "niconiconi"...原创 2020-02-22 15:08:18 · 200 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1-maki和tree
题目链接:https://ac.nowcoder.com/acm/contest/3002/F题解思路:思路统计连通块白点的个数(可用并查集,或者搜索)搜索: https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42763870并查集: https://blog.csdn.net/qq_42815188/art...原创 2020-02-22 13:58:04 · 182 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场场)_H题Second Large Rectangle
题目链接: https://ac.nowcoder.com/acm/contest/882/H思路:(转载自: https://www.cnblogs.com/pisceskkk/p/11229105.html)首先考虑求最大矩形:不妨考虑以第i行为底边的矩形,那么就转化成直方图求最大矩形面积。如图当我们遇到第三列时,第二列的高度已经不能拓展,因此将其清算掉,同时将第三列高度加入栈中。...原创 2019-08-07 03:23:21 · 226 阅读 · 0 评论 -
杭电多校训练第一场试题题解无代码(2019)
Blank定义dp[i][j][k][t]dp[i][j][k][t]dp[i][j][k][t]代表填完前ttt个位置后,{0,1,2,3}\{0,1,2,3\}{0,1,2,3}这4个数字最后一次出现的位置,排序后为i,j,k,t(i<j<k<t)i,j,k,t(i<j<k<t)i,j,k,t(i<j&...转载 2019-07-22 19:28:46 · 248 阅读 · 0 评论 -
马拉车算法(求最长回文串)
参考博客:https://blog.csdn.net/qq_43456058/article/details/9458872https://blog.csdn.net/u011469138/article/details/82431327https://blog.csdn.net/qq_40620465/article/details/90183663?utm_source=apphtt...原创 2019-07-26 01:00:57 · 510 阅读 · 1 评论 -
2019牛客暑期多校训练营(第一场场)_J题Fraction Comparision
题目链接: https://ac.nowcoder.com/acm/contest/881/J题意:输入x, a, y, b 问 x/a 与 y/b 的大小关系!思路:直接相除肯定是不行的会有精度丢失,以及 数字太大爆long long 的情况!所以可以考虑用Java 大数去判断 xb 与 ya 的大小关系!或者 用带分数进行比较!Java代码import java.math.BigIn...原创 2019-07-30 22:23:31 · 180 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场场)_E题ABBA(DP + 贪心)
题目链接: https://ac.nowcoder.com/acm/contest/881/E题意: 问你长度为2 * (n+m)的字符串由(n+m)个A和B组成,要求有n个AB子序列和m个BA子序列,这样的串有几个思路: 假设有一个合法串,因为子序列n个AB和m个BA,那么显然有前n个A必为AB的A,前m个B必为BA的B。因为如果我前n个A中有一个是BA的A,那我是不是可以从更后面随便找一个...原创 2019-07-30 22:04:09 · 233 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场场)_A题Equivalent Prefixes
题目链接: https://ac.nowcoder.com/acm/contest/881/A题意: 求一个最大p使得,在区间[1, p] 内的所有区间 a 序列 和 b序列的最小值下标相同思路: 用单调栈来维护单调递增序列!如果两个栈大小不同, 那么两个序列就是不等价的,因为题目要是的所有区间的最小值下表都相等!代码#include <bits/stdc++.h>using...原创 2019-07-30 21:24:01 · 182 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场场)_F题Partition problem
题目链接: https://ac.nowcoder.com/acm/contest/882/F因为看到数据也小,所以当时比赛的时候我们也尝试了爆搜,但是,T了,主要在于搜完了才去统计…代码#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MAXN = 35;int n;l...原创 2019-08-02 16:55:26 · 194 阅读 · 0 评论 -
线段树模板+模板题(HDU1166)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1166原来都是用的别人的模板, 这次自己又重新看了一遍线段树(基础), 重新回顾了一遍, 敲了一遍模板模板的注释写的蛮详细的, 这里就不讲解线段树了, emmmm代码#include <bits/stdc++.h>using namespace std;const int MA...原创 2019-08-20 02:18:21 · 395 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场场)_B题Coffee Chicken
题目链接: https://ac.nowcoder.com/acm/contest/890/B这道题,原本没什么思路,但听队友一提类似斐波那契数列,emmmmm,我看了一篇博客(也是关于斐波那契字符串的题目),突然就知道怎么写了(博客:https://blog.csdn.net/weixin_44405344/article/details/88379483)思路第n个字符串,它的前一半是第...原创 2019-08-20 02:30:45 · 203 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场场)_I题Points Division(线段树+DP维护区间最大值)
题目链接: https://ac.nowcoder.com/acm/contest/881/I题意: 给你n个点,每个点的坐标为(xi,yi),有两个权值ai,bi。现在要你将它分成A,B两部分,使得在满足“A的点不能落在在B的点的右下方”的条件下∑i∈Aai+∑j∈Bbj最大。思路:可以参考一下大佬的博客https://www.cnblogs.com/buerdepepeqi/p/11...原创 2019-08-20 21:34:09 · 254 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场场)_C题sequence(线段树+单调栈)
题目链接: https://ac.nowcoder.com/acm/contest/884/C题意:给你两个长度为n的序列 a, b, 选一个子区间[l, r], 会得到一个值为 a序列在[l, r] 中的最小值 乘上 b序列[l, r]的和, 问这个值最大是多少?思路:首先, 我们记录下 以当前这个数a[i], 它在那个区间内是最小值, 记录 L[i], R[i]然后我们用线段树维护...原创 2019-09-02 08:02:41 · 239 阅读 · 0 评论 -
单调队列和单调栈
参考博客偷个懒,关于这两个知识点的详细解释百度一堆,所以就直接用那些大佬的了!https://blog.csdn.net/u011893609/article/details/78806089https://www.cnblogs.com/hanruyun/p/9614115.html单调队列例题洛谷P1886 滑动窗口 : https://www.luogu.org/probl...原创 2019-09-02 22:55:16 · 225 阅读 · 0 评论 -
2019牛客暑期多校训练营(第七场场)_C题Governing sand(权值线段树+枚举)
题目链接: https://ac.nowcoder.com/acm/contest/887/C题意: 给你n种树,以及它的高度,被砍掉的代价,以及它的数量,问你,砍掉一些树后,使得剩下的树中,最高的树的数量是剩下总数的一半 + 1 以上!思路: 很明确,直接枚举,从最高的树往低的树枚举,然后用权值线段树来维护相应树的数量以及相应的代价!代码因为没写过权值线段树的代码,所以到师傅那学了下,自...原创 2019-09-06 03:23:45 · 208 阅读 · 0 评论 -
Educational Codeforces Round 72 (Rated for Div. 2)A题Creating a Character
题目链接: http://codeforces.com/contest/1217/problem/A题意:每种角色都有2个属性值一个是力量,一个是智力,然后每1点经验值可以提升1点的力量,或智力!给你一个原有的角色的两个属性值a (力量) b(智力), 以及c点经验值, 问最多可以创造出几个不同的力量角色(力量角色即力量值大于智力值)(智力或力量值不同,则认为是不同的角色)!思路: 一开始我就...原创 2019-09-06 03:34:58 · 167 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场场)_E题 Explorer(线段树+可撤销并查集)
题目链接: https://ac.nowcoder.com/acm/contest/888/E题意: 给你一张无向图,每条边ui,vi的权值范围为[Li,Ri],要经过这条边的条件是你的容量要在[Li,Ri],现在问你你有多少种容量使得你可以从1走到n。思路: 首先会想到离散化,离散l, r, 然后用线段树去维护这个区间(区间左闭,右开),每个节点存放这个容量可以通过哪些路径,最后遍历这颗树,...原创 2019-09-06 15:54:53 · 260 阅读 · 0 评论 -
并查集知识点回顾(最小生成树)
题目链接: https://www.luogu.org/problem/P1111思路: 先以时间排序,然后一条一条连接,直到连接了n-1条边,即可输出最小时间,否则输出-1;n个点要使得任意一个点与另一个相连,那最少需要n-1条边!代码#include <bits/stdc++.h>using namespace std;int vis[100005];struct no...原创 2019-10-04 15:20:14 · 184 阅读 · 0 评论 -
中缀转后缀表达式并计算
中缀转后缀表达式并计算的知识点可以参考: 点我访问题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1237此题我的代码必须用C++交才能过,估计涉及到精度问题!#include <iostream>#include <cstring>#include <string>#include <cstd...原创 2019-07-10 11:45:29 · 429 阅读 · 0 评论