05 2020 档案
摘要:前言:没错,这题的名字就这么直白。我们考试题。 你需要完成$n$道题目。有一些题目是相关的,当你做一道题的时候,如果你做过之前对它有帮助的题目,你会更容易地做出它。当然,如果题目$x$对题目$y$有帮助,题目$y$并不一定对题目$x$有帮助。你可以自由安排做题顺序。现在,你想要知道,你在完成所有题目
阅读全文
摘要:前言:一道水题。 题目链接 题目大意:给出数列$a_i$和$b_i$,问使$\sum_{i=1}^n (a_i-b_i)^2$最小的最少操作次数。 首先,如果两个数列相同位置的数排名相同,那么符合题意。现在我们证明一下: 证明:$a_i<a_j,b_i<b_j,(a_i-b_i)^2+(a_j-b_
阅读全文
摘要:前言:这题主要是要会设状态,状态找对了问题迎刃而解。 题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或
阅读全文
摘要:题目大意:求区间$[L,R]$中所有子区间产生的最大公因数的个数。 对于$gcd$,我们知道$gcd(a,b,c)=gcd(gcd(a,b),c)$。所以我们可以利用$gcd$的传递性来求区间的$gcd$。如果$gcd$相同,那么保留下来位置相对靠右的那一个,这与我们查询的方式有关。我们在查询时是$
阅读全文
摘要:前言:麻麻我会写状压DP了! 题目描述 愚人节到了!可爱的UOI小朋友要给孩子们送礼物(汗~原题不是可爱的打败图么= =..)。在平面直角坐标系上(欧氏的),有 N (N≤17)个点,分别代表 N 个小朋友的地理位置;还有一个点,这是UOI的家,UOI的所有礼物都放在这里,UOI必须驼着礼物从这里出
阅读全文
摘要:题目描述 CX在Minecraft里建造了一个刷怪塔来杀僵尸。刷怪塔的是一个极高极高的空中浮塔,边缘是瀑布。如果僵尸被冲入瀑布中,就会掉下浮塔摔死。浮塔每天只能工作 $t$秒,刷怪笼只能生成 $N$ 只僵尸,这些僵尸在一开始就全部生成,位于瀑布上。由于CX是拿着手机搭的浮塔,难免有些建筑方面的缺陷,
阅读全文
摘要:前言:状态贼鸡儿多,眼睛快瞎了。 题目链接 题目大意:给定$n(课程数),m(可换次数),v(教室数),e(无向边数)$,同时给定原定教室$c[i]$和可换教室$d[i]$,换教室成功概率为$k[i]$,边权为$w[i]$。问耗费体力的最小期望值。 设$f[i][j][0/1]$表示上完$i$节课,
阅读全文
摘要:题目链接 题目大意:给定$n,m,k$,求满足$k|C_i^j$的$C_i^j$的个数。$(0\leq i\leq n,1\leq j\leq \min(i,m))$。 关于组合数的递推不难想到。简略证明一下。 证明:$C_i^j=C_{i-1}^j+C_{i-1}^{j-1}$。 $ C_{i-1
阅读全文
摘要:前言:想了两个小时orz,最后才想到要用约数个数定理…… 题目大意: 给定$n,q,A[1],A[2],A[3]$ 现有$A[i]=(A[i-1]+A[i-2]+A[i-3])mod q$ 求$(\sum_{i=1}^n \prod_{d|i} d^{A_i})mod10007$的值。 $n\leq
阅读全文
摘要:题目大意:求无向图的连通图个数。由于个数可能很大,只需要求出结果$mod1000000009$的值。$n\leq 1000$ 对于一个含有$n$个结点的图,一共有$2^{\frac{n(n-1)}{2}}$种情况(把所有边连或不连都考虑到了,可以自行模拟出来)我们假设$h[n]=2^{\frac{n
阅读全文
摘要:题目大意: 给树上每一个结点赋值(值为正整数),要求相邻结点的权值不能相同。问树上最小权值和。$n\leq 10000$。 设$f[i][j]$表示以$i$为根的子树,根权值为$j$时子树的最小权值和。 朴素的$DP$是$n^3$的。这里我们有个结论:树上用到的颜色不超过$\log_{2} n$个。
阅读全文
摘要:前言:先食用同余,会有更好的学习效果。 中国剩余定理:若$m_{1},m_{2}...m_{n}$是两两互质的正整数,$M=\prod_{i=1}^{n} m_{i},M_{i}=M/M_{i}$,$t_{i}$是线性同余方程$M_{i}t_{i}\equiv 1(mod m_{i})$的一个解。对
阅读全文
摘要:前言:从寒假开始学了好几遍,都没完全掌握QAQ 在讲同余之前,我们先来讲扩展欧几里得。 扩展欧几里得算法 首先,我们知道这样一个式子: $gcd(a,b)=gcd(b,amodb)$。 辗转相除法,可以用来求两个数的最大公因数。 而扩展欧几里得($exgcd$),是用来求不定方程$ax+by=c$的
阅读全文
摘要:前言:寒假讲过树形DP,这次再复习一下。 基本的树形DP 实现形式 树形DP的主要实现形式是$dfs$。这是因为树的特殊结构决定的——只有确定了儿子,才能决定父亲。划分阶段的话一般是$f[i][j][0/1]$。$i$表示以$i$为根的子树,$j$一般表示保留$j$个子节点,$0/1$表示选/不选这
阅读全文
摘要:题目链接 题目大意:问使含有$p$个节点的子树分离至少需要去掉几条边。 设$f[i][j]$表示以$i$为根的子树保留$j$个节点所去掉的最少边数。 初始化$f[u][1]=c[u]$。$c[u]$是这个节点的度。 转移方程$f[u][j]=min(f[u][j],f[u][k]+f[v][j-k]
阅读全文
摘要:题目链接 题目大意:求序列内长度在$[L,R]$范围内前$k$大子序列之和。 考略每个左端点$i$,合法的区间右端点在$[i+L,i+R]$内。 不妨暴力枚举所有左端点,找到以其为左端点满足条件的最大子序列。 用贪心的思想,这些序列一定是满足题意的。统计后将该序列删除。 但这样直接删除肯定会丢失一部
阅读全文
摘要:单调队列是一种特殊的双端队列,其满足单调性,即内部元素单调递增或单调递减。单调队列可以用数组模拟,也可以用$STL$中的$deque$实现。 例题 最大子序和 给定一个长度为$N$的整数序列,从中找出一段长度不超过$M$的连续子序列,使得子序列中所有数的和最大。 $N,M\leq 3*10^5$。
阅读全文
摘要:题目大意:在一个长度为$n$的环型序列中取出$m$个数使这$m$个数的和最大,且要求这$m$个数互不相邻。 考虑维护$nxt$和$lst$,即一个数的前驱和后继。如果此数被选中,那么$a[now]=a[lst]+a[nxt]-a[now]$并且更新前驱和后继,再将更新过后的数扔入堆中。 即反悔机制。
阅读全文
摘要:题目大意:质数序列是指这个序列中任意两个数的和均为质数。先给出一个序列${a_{n}}$,从中取出元素构成最长质数序列,问其长度并输出序列。若长度相同则求和最大的序列。保证答案唯一。 小小的数学题。 1.偶数+偶数不是质数,奇数+奇数不是质数。但某些偶数+奇数($1$)是质数。所以这个序列中$1$是
阅读全文
摘要:考虑三种情况: 1.从左端点开始,是否要跨越。 2.从右端点开始,是否要跨越。 3.从中间开始,向两边延伸。 代码: void pushup(int index) { tree[index].s=tree[index*2].s+tree[index*2+1].s; tree[index].ls=ma
阅读全文

浙公网安备 33010602011771号