把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
摘要: 题面传送门 按照题目要求递推即可 代码实现: #include<cstdio> #define min(a,b) ((a)<(b)?(a):(b)) using namespace std; int n,f[10039],a[10039]; int main(){ register int i,j; 阅读全文
posted @ 2020-03-26 11:37 275307894a 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 一看到最大最小值,而且是区间,立马想到两个东西:$st$和单调队列。这里介绍一种$st$表的做法。 但这可是二维,我们只学过一维的。 回想一下之前的前缀和和差分,我们是怎么一维转多维的。 维恩图! 首先是建表,肯定还是拿来拼,四个小正方形拼一个大正方形。 设$stmax_{i,j,k}$ 阅读全文
posted @ 2020-03-26 11:30 275307894a 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题可以任意$\pm x$,所以可以$%x$考虑。将每一个数进来后$%x$并加入一个数组f中,设$f_i$为$%x=i$的数有几个。同时有一个指针为$head$。 若$head<x$,那么$f_>0$,\(head++\) 如果$head\geq x$,那么就要先满足小的,再来管大的。 阅读全文
posted @ 2020-03-26 08:00 275307894a 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题意简述:给定$n$,$a\times b\times c=n$且$a$,\(b\),$c$各不相等且都为正整数,求任意一组$a$,\(b\),\(c\)。 暴力即可,将$a$分解质因数后再分解一次就可以了,注意两次分解不能重复。 代码实现: #include<cstdio> #incl 阅读全文
posted @ 2020-03-25 20:43 275307894a 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 给出$n$与 $n$个特殊点的坐标 \((x_i, y_i)\) 。 从 $(0, 0)$出发, 只能向上和向右移动,求最优路径,或告知无解 首先最优化排序,使得其按$x$升序,$x$相同以$y$升序。排好后检查$y$是否全部升序,如果全部升序那么机器人一定可以到达,反之则不能。 那么从 阅读全文
posted @ 2020-03-25 20:41 275307894a 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 好无聊的题。英文好的同学跳过下面一段。 题意简述:给你$a,b,c,d$,$x1+x2+x3=d$且$a+x1=b+x2=c+x3$。求任意一组$x1$,\(x2\),\(x3\)。 那么我们只要先将所有补成一样的并使其最少,然后再判断,如果剩下的$d$为负或$d%3\neq 0$,那么 阅读全文
posted @ 2020-03-25 20:37 275307894a 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题数据这么小,一看就是搜索,只是细节比较多。 我们思考怎么通过一个点的半径确定另一个点的半径。两点的欧几里得距离显然是$\sqrt {(x1-x2)^2+(y1-y2)^2}$,那么减去那个点的半径$d$,那么可得式子为$\sqrt {(x1-x2)^2+(y1-y2)^2}-d$, 阅读全文
posted @ 2020-03-25 20:33 275307894a 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 简单题哈,简单题。 我们二分能组成的套数,再遍历一遍找到答案。若答案大于$m$,那么收拢右边界。如果答案小于$m$,那么收拢左边界。 代码实现: #include<cstdio> using namespace std; int n,m,a[139],l,r,mid,b[139]; lo 阅读全文
posted @ 2020-03-25 11:49 275307894a 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 看到这道题,想到$spfa$。 但这道题好像故意的,偏偏又路牌被拆的道路(在衢州的话负责那一段路的交警就该下台了), 所以我们不能只以$d_i$为$time$的唯一标准。 想象一下:如果下一条路是没有路牌的,而这时过来一条路,$time$比$d_i$大,但如果下一条路可以走得通怎么办?而 阅读全文
posted @ 2020-03-24 11:52 275307894a 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题考场上写挂了,咕了好久才补锅。现在看就是一个随手切的题。 题目中要求我们将所有$a$,\(b\),$c$满足$dist(a,b)+dist(b,c)=distr(a,c)$的缩成$a,c$,求最后的序列。 可以注意到$n\leq200$,所以可以直接$Floyd$预处理。 然后遍历 阅读全文
posted @ 2020-03-22 20:31 275307894a 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题似乎是板子,就是裸的$LCA$,然后我就打了个暴力$LCA$过掉了。 思路:先把两个点提到同一层,然后一起向上提,直到提到同一个节点停止,计算答案。 因为是满二叉树,所以时间复杂度$O(klog^mn)$ 代码实现: #include<cstdio> #define abs(x) 阅读全文
posted @ 2020-03-21 20:14 275307894a 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道$dp$还是比较水的 首先考虑设$f_i$为以$a_i$结尾的最长长度,则向前循环枚举找到适合的转移就可以了,时间复杂度$O(n^2)$,估计$80$分 正解也不是很难想,因为这是位运算,所以我们要找到位运算的性质,$&$的性质就是两个数至少有一个相同位置同为$1$,那么只要枚举位置 阅读全文
posted @ 2020-03-20 19:53 275307894a 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 三十分...... 于是我只能重新想思路。然后就只得了$35$分。 考试结束后老师叫我们自己去网上找题解,然而我发现,居然没有任何一篇$luogu$题解是正解。于是我准备发一篇题解来$k$掉$luogu$所有题解。 正解: 我们先把这个峡谷想象成一个时间轴,每个时间我们最多能带c个糖果。 阅读全文
posted @ 2020-03-20 18:20 275307894a 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 平生第一次切$cf$$F$题祭 其实这道题主席树也可以做,但是我不会,所以只好用莫队水过 对于这道题,维护一个栈,栈中表示的是当前区间内个数为$1$的元素,再设$f_i$表示$i$这个元素在栈中的位置,来了一个数时,若是第一次出现,加入栈中,若是第二次出现,把栈中的这个元素与栈顶互换位置 阅读全文
posted @ 2020-03-20 18:17 275307894a 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题可以说是这几天来的最简单的一道题了。 首先,我们根据题目有一个最简单的结论:当一个女的前面的女的全都配对完之后,这个女的一定和离她最近的男的配对。 那么直接开栈模拟不就好了! 代码实现: #include<cstdio> using namespace std; int n,m,a 阅读全文
posted @ 2020-03-20 16:17 275307894a 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题的$dp$是很好想的,只要从上一行的可以转移的位置转移就好了,时间复杂度$O(nmt)$,可以有$80$分 接下来要优化,有两种思路 思路一:按照上面的状态,我们发现有一个区间求最值的$O(n)$复杂度,考虑用单调队列优化掉,因为这个区间向两边延伸,考虑用正反两次单调队列过去,每次 阅读全文
posted @ 2020-03-19 18:25 275307894a 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 对于这道题,我们很容易想到分层图(大概是因为那道分层图优化成矩乘太出名了),则这道题只需要建两层就够了,一层表示横的,一层表示竖的。 首先思考两层图之间怎么连接,很明显,由本层的点向下一层的同一节点建一条双向的边权为$1$的边 其次思考同一层图中怎么建边,我们可以用两个$vector$来 阅读全文
posted @ 2020-03-18 19:41 275307894a 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 对于这道题,我们有一个显而易见的结论:当两条线分别为$x1$,\(x2\),\(y1\),$y2$时,且$x1>y1&&x2<y2$或$x1<y1&&x2>y2$时这两条线相交 从这之中又可以推出一个定理:若我们按照左边的顺序依次选了$k$条线互不相交,其下标记为$s_1,s_2.... 阅读全文
posted @ 2020-03-18 15:36 275307894a 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 贪心一般和排序逃不开关系。这一道题目是普及组原题的弱化版。 首先我们列出答案的式子$ans=\sum\limits_{(a_i\times\sum\limits_)}$ 乘法分配律,\(ans=\sum\limits_{i=1}^{n}{(a_i\times b_i+a_i\times 阅读全文
posted @ 2020-03-18 12:25 275307894a 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 算法简介:二分查找(答案),时间复杂度$O(log^2n)$.可以在一个有序表中快速查找某个数。可以利用这个性质来二分答案来做到快速有效枚举。 算法实现:对于一个有序表,二分查找一个数是否存在。 首先定义边界值:\(l=0\),\(r=max(a_{i})+1\);然后取中值$mid=\ 阅读全文
posted @ 2020-03-18 11:37 275307894a 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 今天的$ACM$模拟赛,最后一道题让我们抓耳挠腮了好长时间。这道题看似能贪心($50$分),又好像能搜索($50$分),其实就是$dp$,一道$01$背包的变体,问题中一个人要么到一边,要么到另一边。这不就是$01$背包嘛!不过还要控制人数。 下面有一个在$ACM$上过的,但是被民间数据hank掉的 阅读全文
posted @ 2020-03-18 11:22 275307894a 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 马拉车算法是一种计算最长回文子串的算法,以其优秀的线性复杂度闻名于世,相较于$O(n2)$的$dp$算法和会被特殊数据卡到$O(n2)$的暴力算法,马拉车算法无疑是求解最长回文子串的最优选择。 最长回文子串分为偶数串和奇数串,为了避免这些问题,马拉车算法将每个字符与字符间插入一个特殊字符,在两头插入 阅读全文
posted @ 2020-03-18 11:16 275307894a 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 很明显,$cf$第一题的老套路:构造题,只可惜这道构造题不太好,连暴力都能$A$ 我们来尝试构造一下,题目要求构造出$x$和$y$使得$lcm(x,y)+gcd(x,y)=n$,既然有了公约数,那我们就很容易往互质那方面想了,如果$x$,$y$互质,那么原式变为$1+xy=n$,只要解这 阅读全文
posted @ 2020-03-17 13:47 275307894a 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题一眼就是排序,但$O(nlog^2n)$的复杂度过不去(\(PS\):但有人卡过去了),所以我们要换一个思路 事实上这道题我有一个奇葩想法,居然拓展出了图论模型...... 好吧,既然这样,我就来讲讲。 题目中要我们求最长连续数列,那么这个最长连续数列一定是一条链的关系:$k$扣着 阅读全文
posted @ 2020-03-17 12:39 275307894a 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这道题首先要有一个思维的转换:对于选择满足$0\leq i< n$ 的任意下标$i$ ,并让$a$数组里下标为$i$处的值变为$sum$。把赋值的思维转化成选择一个下标,把除了这个下标的所有值加到它身上 这道题正着想很难想,俗话说得好,正难则反,所以我们不如倒着做 对于已经构造好的$a$ 阅读全文
posted @ 2020-03-16 13:47 275307894a 阅读(54) 评论(0) 推荐(0) 编辑
浏览器标题切换
浏览器标题切换end