- 博客(10)
- 收藏
- 关注
原创 多重背包问题
有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。
2024-07-11 15:08:48
620
原创 完全背包问题
有 N 件物品和一个容量是 V 的背包。每件物品只能无限次。第i件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。
2024-07-09 14:33:36
672
原创 【洛谷】P1629 邮递员送信 Dijkstra
首先一定一定要注意的就是在返回起点的时候肯定是不可以走来时候的路,那么现在只要抛开不看这条路,那么从这个点到1的最短路是不是就相当于1到这个点的另一条最短路(抛开来时的路不看),这就是反向建图的内涵所在!假如说现在1到2之后需要从2回到1,首先它并不是一个双向图,所以他只能走其他路径回到1,从图上可以看出他必须要经过5再回到1,那么2到1的最短路径就相当于2到5到1,那么是不是变相的说就是1到5再到2呢?仔细读题不难发现题意是让求从1到所有点的最短路径和,再加上所有点到1的最短路径和,很像Floyd。
2024-05-06 22:28:28
742
原创 牛客小白月赛(耕种时间到!)
只用对这个pair数组中的每个数据元素进行遍历即可,如果他的等级小于x了,那么就没有更新的必要了,直接continue即可,然后每一个数据计算出更新后的等级,直接在原有的位置上进行更新,如果更新后的等级刚好等于x那么让这一轮的x值加一下代表这一轮能够得到的x 的值,每个元素遍历完后对答案进行一下更新,然后判断一下,如果最高等级的那个种子已经小于x后那么就没必要再继续播种直接结束即可。为什么我要把这个题但单独拉出来那肯定是因为他有让我十分痛恨的地方,看题解前希望各位都记住 不开long long 见祖宗!
2024-04-29 19:31:56
247
原创 [蓝桥杯 2022 国 B] 出差(最短路问题,dijkstra+优先队列)
4 45 7 3 41 2 41 3 52 4 33 4 5输出样例:13题解:这道题仔细都题目就会发现也算是一道很典型的最短路径问题,只不过多了一个条件就是题目中所叙述的多了一个隔离时间,所以在最短路的判断时加上隔离时间即可,所以只能说是换汤不换药。像这种典型的最短路问题,而且不带负权边的题,直接dijkstra算法加上一个堆优化直接Ac了其实也算是一个板子题,我这里存图的时候用的vector存图,vector容易本来就可以看成一个数组,现在又给他开了一个node结构体
2024-04-28 19:00:29
349
原创 Codeforces//Cardboard for Pictures
那么直接就可以结束累加总面积的那么循环直接出来进行二分的判断去进行二分边界的更新,题中的含义是让寻找到画和底板边的距离w,每组样例都给了每幅画的边长s,和所i用底板的总面积,而且所有画w的是一样的,那么很容易看出这就是一道二分题,只需要将每次二分的值mid当作w,带入公式去计算得到底板的总面积,拿去和题目给出的底板总面积c做比较即可,并且每次去更新一下边界就ok了(如果不会二分的话,建议先去补一下二分的知识)。这道题就是一道很典型的二分题,唯一的难点有两个。
2024-04-28 16:43:30
1540
原创 Greatest Common Divisor
min(al,al+1,...,ar)表示区间(l,r)中的最大元素,gcd(al,al+1,...,ar)表示区间(l,r)中所有元素的最大公因数。对于一个数组的连续的区间(l,r),如果min(al,al+1,...,ar)=gcd(al,al+1,...,ar),则称这个区间为好区间。特别的,规定区间的长度为1的min(ai)等于ai本身,区间的长度为1的gcd(ai)等于ai本身。他将给你一个数组,该数组为一个排列,你需要求出数组中最长的好区间的长度。
2024-04-27 22:08:45
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人