随笔分类 -  题解

摘要:前言 首先说一下题意。就是每次给出 $x$ 和 $y$ 两个数,求 $x$ 到 $y$ 这个区间的最大子段和。 正文 分析 首先我们看这个数据范围,我们显然是要用线段树来做这道题。 我们考虑如何 pushup。 pushup 的操作 区间最大子段和 我们考虑一个区间的最大子段。 我们分 $3$ 种情 阅读全文
posted @ 2020-03-06 17:21 zhaohaikun 阅读(286) 评论(71) 推荐(0)
摘要:前言 这道题目是道好题,想通了之后就可以把轻松这道题做出来。 正文 结论 先把一个结论写出来。 无论所有奶牛怎么走,它们的体重从左往右组成的序列是不会发生改变的。 这个结论简单地说明一下。 首先我们可以把 \(2\) 头牛相遇看成 \(2\) 头牛走的方向不变,只是交换了体重。 如果这些奶牛的体重从 阅读全文
posted @ 2020-03-06 17:18 zhaohaikun 阅读(295) 评论(0) 推荐(0)
摘要:前言 这场比赛我发挥欠佳,各种小失误不断,也需要我自己去反思吧,以后打模拟赛也要有选择性地去打,毕竟一天 \(3\) 场比赛肯定会有影响。 正文 1. 子数整数 错点 考试的时候蒟蒻把 No 打成了 NO。 分析 这道题实际上就是个小模拟,您只要会 \(for\) 循环就可以轻松过掉此题。 答案是直 阅读全文
posted @ 2020-03-06 17:11 zhaohaikun 阅读(193) 评论(0) 推荐(0)
摘要:前言 这道题目呢,真的很复杂。 考试的时候呢,看到如此小的数据,就写了个搜索,写好之后一测,发现不对了。发现了一种情况。 然后我就 $fst$ 了,还有 $5$ 分钟,我终于想到了 $dp$,这也就是正解。 然后没写完 $qwq$。 正文 分析 我们定义:$f_{i,j,0/1}$ 代表前 $i$ 阅读全文
posted @ 2020-03-06 17:07 zhaohaikun 阅读(240) 评论(0) 推荐(0)
摘要:第$1$种方法 也是最暴力的一种 我们熟知,$c++$中的$set$可以既去重,有排序,这题,我们可以用set来搞,虽然我们不需要排序的功能,但毕竟方便,一共是$10$个数,所以暴力一点也没事 时间复杂度是$O(\log2{n})$ \(code:\) #include <bits/stdc++.h 阅读全文
posted @ 2020-02-18 17:07 zhaohaikun 阅读(300) 评论(0) 推荐(0)
摘要:讲讲我的做法 分析题意 如果两人的面积一样大怎么办? 然后发现 输出仅一行一个字符串,若正方形面积大则输出 Alice,否则输出 Bob。 所以一样输$Bob$ 算面积 $Alice$的面积就是:\(a^{2}\) $Bob$的面积就是:\(b*c\) 所以就有了代码 long long Alice 阅读全文
posted @ 2020-02-18 16:59 zhaohaikun 阅读(297) 评论(3) 推荐(0)
摘要:这是本人的第一篇题解 请多多宽恕 这一道题其实不要用数组 我们来观察一下n=3时的情况: 原: 1 2 3 4 5 6 4 1 5 2 6 3 2 4 6 1 3 5 1 2 3 4 5 6 我们去观察2的位置 第一次的位置:2 第二次的位置:4 第三次的位置:1 因为2是前半堆牌,所以可以直接乘2 阅读全文
posted @ 2020-02-18 16:56 zhaohaikun 阅读(192) 评论(0) 推荐(0)
摘要:正文 简单描述一下题意: 士兵想要过河,他每一次可以往下走一格,也可以往右走一格,但马一步走到的地方是不能走的,问走到$n$行,$m$列有多少种走法 我们显然应该先根据马的位置将不能走的格子做一下标记 于是,就会写下这段代码: void work(long long x,long long y){ 阅读全文
posted @ 2020-02-18 16:52 zhaohaikun 阅读(183) 评论(0) 推荐(0)
摘要:好像没有人搞$\color{green}map$反映,没有人用$\color{green}map$反映搞并查集! $\color{green}map$第一个好处是作为一个数组,可以开很大! 我自认为$\color{green}map$是一个特别好的东西,如果你的数组要开很大,但会爆炸,就最好用$\c 阅读全文
posted @ 2020-02-18 16:49 zhaohaikun 阅读(131) 评论(0) 推荐(0)
摘要:讲讲我的做法 看了题目发现要用区间$dp$,为什么? 我们发现区间$dp$有一个性质——大区间包涵小区间,这道题就符合这样的一个性质 所以我们要用区间$dp$来解决这道题。 如何设计状态 那么我们要怎么设计状态,我们想,每给人进入队伍里,只有2种可能,1种是从左边加入,另外1种是从右边进入,所以我们 阅读全文
posted @ 2020-02-18 16:45 zhaohaikun 阅读(152) 评论(0) 推荐(0)
摘要:前言 其实这道题的关键就是在于预处理,其方法类似于 合唱队形 正文 求最大子段和 要想求出双子序列最大和,首先我们要会求出最大子段和 最大子段和的求值方法很简单 定义 \(f_i\) 为以第 \(i\) 个数结尾的最大子段和 #include <bits/stdc++.h> using namesp 阅读全文
posted @ 2020-02-18 16:14 zhaohaikun 阅读(288) 评论(0) 推荐(0)
摘要:讲讲我的做法 刚开始做这道题的时候,看到$n<=15$,我这个$6$年级的蒟蒻的第1反应是状压$dp$。貌似不好做。然而,等到我在省中集训的时候,老师的一席话,让我豁然开朗。今天我准备来分享一下。 老师的话是:除了第1行,其他格子要不要翻是由上一行决定的。 听到这里,我想应该跟那时的我一样——豁然开 阅读全文
posted @ 2020-02-18 15:17 zhaohaikun 阅读(213) 评论(0) 推荐(0)
摘要:前言 首先,看到这道题目,我首先想到的是暴搜,通过$vector$来搞,代码也是很短的。 这里用了一个类似于分治的思想 把一个大问题转化为小问题 先枚举第一个单词,之后把能拼接在它后面的单词都一个一个的去试,哪个最优选哪个 #include <bits/stdc++.h> using namespa 阅读全文
posted @ 2020-02-18 15:11 zhaohaikun 阅读(209) 评论(1) 推荐(0)
摘要:前言 $ZHK$私人博客体验更佳 这道题目,\(n<=10^5\),显然在暗示我们使用$n \log n$的做法,我就是用了一个简单的贪心,通过了此题。 正文 在这道题中,我们发现,可以把 \(Bessie\) 每次走的路看成是对序列的一段区间染色。 for(int i=1;i<=n;i++){ i 阅读全文
posted @ 2020-02-18 15:09 zhaohaikun 阅读(355) 评论(0) 推荐(0)
摘要:讲讲我的做法 题目大意:对一个字符串进行折叠是它长度最小 看一眼数据范围:哇!字符串长度不超过100!这是一道省选题,不可能给你太宽裕的时限,所以,题目基本暗示你要用$n^{3}$多一些的算法复杂度。 这是一道最优化的题目,常见求最优化问题的算法比如贪心,模拟,枚举我都想不出什么好办法,唯独觉得像一 阅读全文
posted @ 2020-02-18 15:05 zhaohaikun 阅读(180) 评论(0) 推荐(0)
摘要:前言 这场比赛,在最后 \(5\) 分钟,我想到了这道题的 \(Idea\),但是,没有打完,比赛就结束了。 正文 题目意思 这道题目的意思就是说,一棵树上每次给 \(x\) 和 \(y\) 节点连 \(1\) 条边,问 \(a\) 到 \(b\) 之间有没有长度为 \(k\) 的边。 分析 一开始 阅读全文
posted @ 2020-02-17 20:38 zhaohaikun 阅读(201) 评论(0) 推荐(1)
摘要:我来讲讲 \(dp\) 的做法 前言 昨天 \(PHY\) 大佬问我,这题怎么做?考虑到他没学过 \(set\) 、 \(priority\_queue\) 和 \(queue\) 。之后,我就想到了可以用 \(dp\) 来解决这道题。 正文 设置状态 很显然,我们可以用 \(f[i]\) 表示第$ 阅读全文
posted @ 2020-01-26 11:40 zhaohaikun 阅读(393) 评论(6) 推荐(1)
摘要:来讨论区大摇大摆地逛了一圈后,我发现竟然大家的代码 都很长 然而代码真的要写那么长吗 首先,来分析问题,1,2,4,8,这些数显然是有特点的,也许你已经想到了没错,它们都是2的次方数。 1是2的0次方 2是2的1次方 4是2的2次方 8是2的3次方 知道这个就好办了,用什么呢?没错是位运算,哈哈! 阅读全文
posted @ 2020-01-13 21:09 zhaohaikun 阅读(1039) 评论(0) 推荐(1)
摘要:显然是$dp$,是用$STL$当中的\(map\)可以做到30分 #include <bits/stdc++.h>//万能头文件 using namespace std; int l,n,s,t; map<int,bool>m;//记有没有石头 map<int,int>dp;//最少踩到石头的个数 阅读全文
posted @ 2020-01-12 14:56 zhaohaikun 阅读(470) 评论(2) 推荐(0)
摘要:博客园体验更佳 讲讲我的做法 确定做法 首先,看到这道题,我直接想到的是递归,于是复杂度就上天了,考虑最短路。 如何用最短路 首先,看一张图 我们该如何解决问题? 问题:$3$做$5$阶段的零件$1$要不要做呢? 其实,实质就是看$3$到$1$有没有长度为$5$的路径。 问题:$3$做$7$阶段的零 阅读全文
posted @ 2020-01-11 19:14 zhaohaikun 阅读(3621) 评论(5) 推荐(8)