
vj 算法
心意310
亘古一片月。
展开
-
【题解】Lake Counting
给一个字符二维图. 每个W代表一个水池, 每个水池可以和它周围八个格子中的水池连通, 问最后最少有多少水池.原创 2022-06-19 10:29:41 · 186 阅读 · 0 评论 -
【题解】Is Bigger Smarter?
给定一系列大象的体重和IQ, 对于所有大象求一个序列, 要求序列中大象的体重严格上升, IQ严格下降.最长上升子序列变形, 比较基础的动态规划. 容易想到可以先对体重或者IQ排序, 如果是前者就求IQ的最长下降子序列, 如果是后者就求体重的最长上升子序列.一个容易忽略的点是sort对pair排序时优先对first上升排序, 如果相同就对second上升排序, 而这里因为如果对体重上升排序, 那么就要求对IQ下降排序, 所以如果直接用sort对pair排序必wrong....原创 2022-06-08 14:39:57 · 163 阅读 · 0 评论 -
【题解】Wormholes(spfa判负环)
题目链接:https://acm.sdtbu.edu.cn/vjudge/contest/view.action?cid=2486#problem/C题意: 给定F个样例,每个样例第一行给定n,m,w。共有n个点,接下来m行双向路径和w行单向路径,单向路径权值为负。问整个图中是否存在负环。思路: 很基础的判断负环的题目,可以用bellman_ford或者spfa,这里选择spfa。代码://#define _CRT_SECURE_NO_WARNINGS#include<iostream&g原创 2022-05-17 19:17:09 · 300 阅读 · 0 评论 -
【题解】A Perfectly Balanced String?
题目链接https://vjudge.csgrandeur.cn/contest/495457#problem/B题意: 给定n个串,对于每个串任意截取一段子串,每个在原串中出现的字符,在子串出现的频率之差不能大于1,如果符合条件就输出YES,否则输出NO。思路: 我们可以遍历一遍原串,记录每个字符出现的位置。然后再遍历每两个相同字符之间是否出现所有字符。如果是,那就说明符合条件,否则不符合。可以在纸上画画图比较直观。ps: 比较水的一题,但是开始一直在纠结找到yes或no的某些条件,忽略了这道题的本原创 2022-05-13 21:16:27 · 285 阅读 · 0 评论 -
【题解】继续畅通工程(kruskal+并查集)
题目:https://acm.sdtbu.edu.cn/vjudge/contest/view.action?cid=2484#problem/C题意: 给定n个点,n*(n-1)/2条边,每个边标记是否已经在集合中,问从剩余的边中加入集合得到最小生成树的代价。思路: 首先我们想到可以用prim或者kruskal,因为具体某些边可能已经被标记了,所以用kruskal更方便。那么怎么去处理被标记的边呢?并查集又一次展现了它的强大魅力 ,我们可将被标记的边加入集合,那么就可以很简单的处理标记和不标记边的区原创 2022-05-10 12:11:13 · 303 阅读 · 0 评论 -
【题解】Square Coins(母函数)
题目链接:https://acm.sdtbu.edu.cn/vjudge/contest/view.action?cid=2482#problem/A题意: 有无限多张1,2^2, 3^2, 4^2…… 17^2,共17种面值的货币,每次给定一个金额,问通过这17种货币有多少种换算的可能?思路: 母函数来做,估计做这个题的都是第一次听到这个名词吧,其实并没有很神秘,就是有n个多项式相乘,n代表有多少种货币。n个多项式累乘结果内部第j个变量的指数代表金额,系数是可能。至于母函数如何构造等等推荐这篇文章我是原创 2022-05-03 21:36:52 · 282 阅读 · 0 评论 -
背包问题
背包问题假如我们有一个容量为V的背包,现在有N个财物,第i个财物的价值为w[i],体积为v[i],怎样在背包中装入最大价值的财物呢。目前来看,背包就是通过逐步最优,最终达成最优解的一种算法。如果一件件的比对暴力去算计算量巨大。为了节省时间,我们不妨将问题简化为第N件财物是否放入。假设当放入i个物品时,占用体积为j,此时背包中的价值为f[i][j]。显然,第N件物品只有两种可能,放与不放。假如不,则我们目前可能获得的价值为f[i-1][V],假如放入,则我们可能获得的价值为f[i-1][原创 2021-05-19 17:19:40 · 95 阅读 · 0 评论