随笔分类 -  侃侃--每日一题

每日一道算法题
摘要:题目: 题目大意: 给一个序列,要求两个相邻的 数之间不能相等(a[i 1] != a[i]),每次 a[i] 增加 1 则 相对应的需要花费 b[i] 的代价,问整个序列都要满足 a[i] != a[i 1] 这样的条件需要 花费的最小代价。 分析: 首先要明白一点:两个相邻的数之间有三种关系:a 阅读全文
posted @ 2020-05-13 21:20 IceSwords 阅读(233) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一个序列,然后问序列中的某个数是否可以通过序列中的一段连续的数相加得到(一个数是不行的)。 满足这样的条件的数有几个? 侃侃: 最初想法: 因为是连续,而序列中一定存在一个最大值,如果说一段连续的值相加之和都超过最大值了,必然是不满足条件的, 这时候就可以直接break了。 最 阅读全文
posted @ 2020-05-12 20:35 IceSwords 阅读(178) 评论(0) 推荐(0)
摘要:饭前点心: 之前做过的一道题,当时做的时候一把过了,这次竟然想不起来了,唉,几天 不思考,脑子锈掉了。 题目: 题目大意: 找到一个最小值,满足按照序列给的方式走到终点。 侃侃: 题目说一定存在这样一个值,而且是找一个最小值,显然这个最小值一定在 1 ~ n + 1 之间,满足单调性,我们就可以二分 阅读全文
posted @ 2020-05-10 21:10 IceSwords 阅读(160) 评论(0) 推荐(0)
摘要:饭前点心: 区间Dp我也不会,哈哈,正好一起学习一下,做一下这道区间DP入门题。 摘要: 区间DP其实也是线性dp的一种,只是由于其实在太规律,所以分成一类以方便学习!! 要点:状态必然包含区间是哪个[i,j],通过枚举区间分界点进行转移。 也就是说一个大区间是由两个子区间合并来的或者是两个子区间加 阅读全文
posted @ 2020-05-07 20:59 IceSwords 阅读(183) 评论(0) 推荐(0)
摘要:关于知识点的讲解: "最长上升子序列讲解及二分优化" 例题: 最长上升子序列题目链接: "Bridging signals" 普通版本: 最长不上升子序列例题: "小明爱拦截" 侃侃: 这个题是在最长上升子序列版本上的改动,如果最长上升子序列搞懂了, 这个应该不难。 普通版: 阅读全文
posted @ 2020-05-06 20:26 IceSwords 阅读(249) 评论(0) 推荐(0)
摘要:题目: 一个M N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。 例如:3 3的矩阵: 1 3 1 2 1 3 3 1 2 和最大的子矩阵是: 3 1 1 3 1 2 题目链接: https://www.51nod.com/Challenge/Problem.h 阅读全文
posted @ 2020-05-04 20:37 IceSwords 阅读(197) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一棵树,然后从树上拿出来几个点,问这几个点是否在同一条链上或者某些点和这条链的距离是否为1,满足 这样的条件 即 Yes,反之则 No. 考察点: LCA、最近公共祖先 侃侃: 同一条链上的点有啥特征呢? 在同一条链上,最深的点与较浅的点的最近公共祖先一定是 较浅的点。 所以, 阅读全文
posted @ 2020-05-03 19:44 IceSwords 阅读(155) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一个数组 A ,有一个 K ,代表子序列的区间大小是 k ,可以向数组 A 中插入元素组成一个新的数组,问 是否可以使得新数组满足 每个 区间大小为 k 的子序列的元素和相同。 考察点: 构造、贪心、思维 侃侃: 构造题是真的不好想啊,这里需要想清楚几个点: 1、如何使得我们构 阅读全文
posted @ 2020-05-02 21:08 IceSwords 阅读(314) 评论(0) 推荐(0)
摘要:题目: 考察点: 数位 DP 数位DP 的板子戳这里: https://www.cnblogs.com/prjruckyone/category/1754376.html 侃侃: 这道题与模板只有一点点稍微的不同,还需要判段一下 前导 0 因为我们是从高位开始枚举的,枚举到最后可能会出现这样的情况 阅读全文
posted @ 2020-04-29 20:50 IceSwords 阅读(180) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一个序列,将这个序列分成两部分,一部分内是相同的元素,另一部分内是不同的元素。 然后不同的元素里面可以出现不同的元素里面的元素,但是位置不能相同。 问满足这样的条件的最大序列。 侃侃: 哈哈,一言难尽,实际上这道题不难,有一个点一直没有 get 到,导致 WA 了好几次。 显而 阅读全文
posted @ 2020-04-28 19:17 IceSwords 阅读(219) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一棵树,接着给一个节点,作为一棵子树的根节点,问以这个节点为根的树的重心是多少? 树的重心不了解的戳这里: https://www.cnblogs.com/prjruckyone/p/12793007.html 侃侃: 这道题问的比较清晰易懂,但是实现起来较有难度,主要是利用树 阅读全文
posted @ 2020-04-28 18:51 IceSwords 阅读(150) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一个序列,然后给你一个数 s ,从头开始进行累加,不能超过 s 在累加的过程中,你可以 跳过 一个数 进行累加,最后保证累加的 数量是最多的,不是累加的和哦,输出你跳过的那个数在序列中的位置。 (根据样例推断,似乎只能从前开始累加,否则第一个样例就有误了,嘻嘻) 考察点: 签到 阅读全文
posted @ 2020-04-26 19:54 IceSwords 阅读(236) 评论(2) 推荐(0)
摘要:题目: 考察点: 最小生成树,语文阅读能力的水平 侃侃: 首先,题目中给的 K 并不是要我们去从所有的关系中找 k 个人,而是告诉我们 现在已经有 K 个人组成一团了,那么还有几个人孤苦伶仃呢?当然是 n k 个 人了,假设 原先的那 k 个人就是一个整体,那么现在要将这 n k 个人和 k 组成一 阅读全文
posted @ 2020-04-25 18:54 IceSwords 阅读(133) 评论(0) 推荐(0)
摘要:题目: 题目链接: https://www.luogu.com.cn/problem/P1016 考察点: 反悔贪心、思维 侃侃: 这种题目就像是中学的应用题,让你读着读着就崩溃了(当然大佬不会崩溃了,像我 这样的菜鸡就会了,嘻嘻) 我没猜错的话你一定会贪心,就算不会至少也听说过贪心。但是反悔贪心你 阅读全文
posted @ 2020-04-24 23:24 IceSwords 阅读(177) 评论(0) 推荐(0)
摘要:题目: 题目链接: https://vjudge.net/contest/369847 problem/A 考察点: 并查集的变种、并查集补集 并查集补集是个什么东东: 相信大家听到补集这个词语应该不会感到陌生,但是在这里并查集补集的概念有一丢丢不同。 这里通俗一点说就是一种相反的关系。比如 A 和 阅读全文
posted @ 2020-04-23 20:00 IceSwords 阅读(178) 评论(0) 推荐(0)
摘要:题目: 考察点: DFS序、线段树、树状数组、区间操作的数据结构 DFS序不了解的戳这里: https://www.cnblogs.com/prjruckyone/p/12754936.html 线段树不了解的戳这里: https://www.cnblogs.com/prjruckyone/p/12 阅读全文
posted @ 2020-04-22 19:28 IceSwords 阅读(172) 评论(0) 推荐(0)
摘要:题目: 题目大意: 给一个数组,每隔 k 个间隔,从这 k 个数里面选 出 第 k 大,放到 B 数组中, 最后输出 B 数组中第 M 大的数。 考察点: 二分、尺取、逆向思维 分析: Code: 后记: 感谢师傅大佬的贴切讲解,万分感谢,解决了我在这道问题上的诸多疑问。 学到了一些什么东西呢? 首 阅读全文
posted @ 2020-04-21 19:14 IceSwords 阅读(220) 评论(0) 推荐(0)
摘要:题目: 考察点: 差分数组,思维。 分析: Code: 阅读全文
posted @ 2020-04-20 23:10 IceSwords 阅读(237) 评论(0) 推荐(0)
摘要:题目: 考察点: 最小生成树、prim算法 Code: 阅读全文
posted @ 2020-04-19 22:18 IceSwords 阅读(131) 评论(0) 推荐(0)
摘要:题目: 题目大意: 有三个数组,从每个数组中选一个数使得 (x y) ^ 2 + (y z ) ^ 2 + (z x) ^ 2 的值最小。 考察点: 思维推理、二分、longlong 的最大值范围 侃侃: 题意还是比较好懂得,纯暴力去做的话样例过去都有点悬,所以要怎么优化呢? 一般这类题都是观察这个 阅读全文
posted @ 2020-04-17 16:54 IceSwords 阅读(193) 评论(0) 推荐(0)