把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
摘要: 题面传送门 这道题到现在为止还只有我一个人做出来,还是蛮高兴的$QWQ$ 算了不说了,再说$90$分的$zj$会把我用唾沫星子淹死我的 想法$1$:暴力枚举:枚举四个点,求这四个点之间的欧几里得距离,看是否相等,相等即构成一个正方形。大概$30$分。 想法$2$:构造:枚举三个点,构造出第四个点,看 阅读全文
posted @ 2020-03-27 16:04 275307894a 阅读(76) 评论(0) 推荐(0)
摘要: 题面传送门 链表,顾名思义,就是一根链,由许多节点构成,每个节点分为两个部分:数据域和指针域,其中数据域可以包含很多数据,指针域只能包含一个指向对象,不然就成图了。链表可以$O(1)$插入和删除数据,但不能随机访问元素。 链表实现就不再乱说了。毕竟是个人都会。主要讲一些链表的应用。 这道题很简单,只 阅读全文
posted @ 2020-03-27 09:26 275307894a 阅读(81) 评论(0) 推荐(0)
摘要: 题面传送门 题目描述:给定一个标准串$a$,再给出很多串$b$,问$b$是不是$a$的子序列。 方法一:最长公共子序列(太无脑了) 方法二:首尾一个一个对过去比较 方法三:链表 对于每个$a_i$,令$s_i$指向下一个与$a_i$值相同的位置。 我们在匹配子序列时,对于一个$b_i$,原本我们要一 阅读全文
posted @ 2020-03-27 09:20 275307894a 阅读(49) 评论(0) 推荐(0)
摘要: 题面传送门 话说这不是一张真正的图啊,只是一根链表后面挂着一个可有可无的环儿。 一眼扫去,这道题如果没有环,那么就是记忆化搜索或$topo$,但有环,就不好办。 根据亡羊补牢原则,我们把这个环拆了不就好了。 接下来就可以缩点。即把一个环变成一个权值为这个环的权值之和的点。 我们可以把那些绕在环上的链 阅读全文
posted @ 2020-03-26 13:32 275307894a 阅读(58) 评论(0) 推荐(0)
摘要: 题面传送门 话说这道题题面和题目一点儿不沾边啊$QAQ$,而且还有错别字:大米有$32768$棵(颗)…… 扯了半天,题目要求解一个方程组:\(ax1+bx2+cx3+dx4=0\),\(0<=x1,x2,x3,x4<=m\) 第一想法:枚举:四重循环,枚举$x1$,\(x2\),\(x3\),\( 阅读全文
posted @ 2020-03-26 12:32 275307894a 阅读(51) 评论(0) 推荐(0)
摘要: 题面传送门 按照题目要求递推即可 代码实现: #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 阅读(48) 评论(0) 推荐(0)
摘要: 题面传送门 一看到最大最小值,而且是区间,立马想到两个东西:$st$和单调队列。这里介绍一种$st$表的做法。 但这可是二维,我们只学过一维的。 回想一下之前的前缀和和差分,我们是怎么一维转多维的。 维恩图! 首先是建表,肯定还是拿来拼,四个小正方形拼一个大正方形。 设$stmax_{i,j,k}$ 阅读全文
posted @ 2020-03-26 11:30 275307894a 阅读(54) 评论(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 阅读(66) 评论(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 阅读(74) 评论(0) 推荐(0)
摘要: 题面传送门 给出$n$与 $n$个特殊点的坐标 \((x_i, y_i)\) 。 从 $(0, 0)$出发, 只能向上和向右移动,求最优路径,或告知无解 首先最优化排序,使得其按$x$升序,$x$相同以$y$升序。排好后检查$y$是否全部升序,如果全部升序那么机器人一定可以到达,反之则不能。 那么从 阅读全文
posted @ 2020-03-25 20:41 275307894a 阅读(53) 评论(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 阅读(54) 评论(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 阅读(50) 评论(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 阅读(58) 评论(0) 推荐(0)
摘要: 题面传送门 看到这道题,想到$spfa$。 但这道题好像故意的,偏偏又路牌被拆的道路(在衢州的话负责那一段路的交警就该下台了), 所以我们不能只以$d_i$为$time$的唯一标准。 想象一下:如果下一条路是没有路牌的,而这时过来一条路,$time$比$d_i$大,但如果下一条路可以走得通怎么办?而 阅读全文
posted @ 2020-03-24 11:52 275307894a 阅读(50) 评论(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 阅读(38) 评论(0) 推荐(0)
摘要: 题面传送门 这道题似乎是板子,就是裸的$LCA$,然后我就打了个暴力$LCA$过掉了。 思路:先把两个点提到同一层,然后一起向上提,直到提到同一个节点停止,计算答案。 因为是满二叉树,所以时间复杂度$O(klog^mn)$ 代码实现: #include<cstdio> #define abs(x) 阅读全文
posted @ 2020-03-21 20:14 275307894a 阅读(33) 评论(0) 推荐(0)
摘要: 题面传送门 这道$dp$还是比较水的 首先考虑设$f_i$为以$a_i$结尾的最长长度,则向前循环枚举找到适合的转移就可以了,时间复杂度$O(n^2)$,估计$80$分 正解也不是很难想,因为这是位运算,所以我们要找到位运算的性质,$&$的性质就是两个数至少有一个相同位置同为$1$,那么只要枚举位置 阅读全文
posted @ 2020-03-20 19:53 275307894a 阅读(32) 评论(0) 推荐(0)
摘要: 题面传送门 三十分...... 于是我只能重新想思路。然后就只得了$35$分。 考试结束后老师叫我们自己去网上找题解,然而我发现,居然没有任何一篇$luogu$题解是正解。于是我准备发一篇题解来$k$掉$luogu$所有题解。 正解: 我们先把这个峡谷想象成一个时间轴,每个时间我们最多能带c个糖果。 阅读全文
posted @ 2020-03-20 18:20 275307894a 阅读(113) 评论(0) 推荐(0)
摘要: 题面传送门 平生第一次切$cf$$F$题祭 其实这道题主席树也可以做,但是我不会,所以只好用莫队水过 对于这道题,维护一个栈,栈中表示的是当前区间内个数为$1$的元素,再设$f_i$表示$i$这个元素在栈中的位置,来了一个数时,若是第一次出现,加入栈中,若是第二次出现,把栈中的这个元素与栈顶互换位置 阅读全文
posted @ 2020-03-20 18:17 275307894a 阅读(71) 评论(0) 推荐(0)
摘要: 题面传送门 这道题可以说是这几天来的最简单的一道题了。 首先,我们根据题目有一个最简单的结论:当一个女的前面的女的全都配对完之后,这个女的一定和离她最近的男的配对。 那么直接开栈模拟不就好了! 代码实现: #include<cstdio> using namespace std; int n,m,a 阅读全文
posted @ 2020-03-20 16:17 275307894a 阅读(36) 评论(0) 推荐(0)
摘要: 题面传送门 这道题的$dp$是很好想的,只要从上一行的可以转移的位置转移就好了,时间复杂度$O(nmt)$,可以有$80$分 接下来要优化,有两种思路 思路一:按照上面的状态,我们发现有一个区间求最值的$O(n)$复杂度,考虑用单调队列优化掉,因为这个区间向两边延伸,考虑用正反两次单调队列过去,每次 阅读全文
posted @ 2020-03-19 18:25 275307894a 阅读(41) 评论(0) 推荐(0)
摘要: 题面传送门 对于这道题,我们很容易想到分层图(大概是因为那道分层图优化成矩乘太出名了),则这道题只需要建两层就够了,一层表示横的,一层表示竖的。 首先思考两层图之间怎么连接,很明显,由本层的点向下一层的同一节点建一条双向的边权为$1$的边 其次思考同一层图中怎么建边,我们可以用两个$vector$来 阅读全文
posted @ 2020-03-18 19:41 275307894a 阅读(48) 评论(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 阅读(35) 评论(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 阅读(66) 评论(0) 推荐(0)
摘要: 题面传送门 算法简介:二分查找(答案),时间复杂度$O(log^2n)$.可以在一个有序表中快速查找某个数。可以利用这个性质来二分答案来做到快速有效枚举。 算法实现:对于一个有序表,二分查找一个数是否存在。 首先定义边界值:\(l=0\),\(r=max(a_{i})+1\);然后取中值$mid=\ 阅读全文
posted @ 2020-03-18 11:37 275307894a 阅读(61) 评论(0) 推荐(0)
浏览器标题切换
浏览器标题切换end