上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页
摘要: 题目大意:给你一张n个点m条边的图,有q次询问,每次让你找出一条从x至y的路径,使得路径上经过的边的最小值最大,输出这个最大的最小值。 显然,经过的路径必然在这张图的最大生成树上。 我们求出这个图的最大生成树后,用st表维护最小值,然后随便倍增下就好了。 阅读全文
posted @ 2018-10-05 21:41 AlphaInf 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 这题为啥我写得这么复杂。 首先我们不难发现,我们将序列$a$和序列$b$排序,考虑两序列内无相同元素,那么最小值显然为$\sum_{i=1}^{n} (a_i-b_i)^2$。 下面考虑做法 首先,我们将序列$a$和序列$b$离散化(以下提及序列$a$和$b$均为离散化后的数字) 然后,我们从前往后 阅读全文
posted @ 2018-10-05 21:35 AlphaInf 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你四个整数$n,m,k,x$,求$(x+m\times 10^k)%n$。 直接一个快速幂就好了,注意开$long\ long$。 阅读全文
posted @ 2018-10-05 20:57 AlphaInf 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目大意:请找到第$k$大的数,满足各位数字之和等于各位数字之积。其中$k≤10^{18}$。 首先我们要确定这个第$k$大的数有多大 我们用$f[i][j][he][ji]$表示我们要搜索一个$i$位的数字,还有$j$位没有确定,且确定的位总和为$i$,积为$j$的方案数。 我们发现:若$he+j 阅读全文
posted @ 2018-09-30 10:53 AlphaInf 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 题目大意:现有$n$条排成一行的木板,每个木板有一个目标颜色。你每次能将一个区间内的木板分别染成它们的目标颜色,而这次染色的代价为这个区间内不同目标颜色的木板的数量的平方。问将全部木板染成目标颜色的最小代价。 数据范围:$n≤50000$,颜色数量$≤50000$。 这题我们显然可以$dp$,令$f 阅读全文
posted @ 2018-09-30 08:12 AlphaInf 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 为啥我去年这么菜啊。。。。。 我现在想了$20min$后打了$10min$就过了$qwq$。 我们用$f[i][j]$表示当前深度为$i$,访问了状态$j$中的所有点的最小代价。 显然$f[i][j]=min(f[i-1][k]+i\times get(k,$j^k$)) $其中$k$为$j$的子集 阅读全文
posted @ 2018-09-27 10:22 AlphaInf 阅读(246) 评论(2) 推荐(0) 编辑
摘要: 当年太菜了啊,连$60$分的暴力都没拿满,只打了一个$30$分的。 考虑到这题最多只会询问到$30W$个点,且整个矩阵会去到$30W\times 30W$,显然不能将所有的点存下来。 对于每一行(除最右侧的数)我们维护一个$splay$,存储该位置的值,考虑到矩阵很大肯定不能全部开下,我们用一个节点 阅读全文
posted @ 2018-09-27 08:54 AlphaInf 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个长度为n的序列${a_1....a_n}$,有$m$次操作 每次操作有两种情况:修改$a_i$的值,询问$[l,r]$中所有子区间的异或和。 数据范围:$n,m≤10^5$,$a_i≤1000$。 对于序列$a$,我们对每一个二进制位开一个线段树,对于每个节点,我们存储六个值: $ 阅读全文
posted @ 2018-09-20 16:31 AlphaInf 阅读(606) 评论(0) 推荐(14) 编辑
摘要: 题目大意: 有一个水库,容量为$L$,一开始是空的。有$n$天。 对于第i天,每天早上有$v_i$单位的,水温为$t_i$的水流进来。每天晚上你可以放掉一些水,多少自定。但是必须保证第二天水库不会溢出。 现在问,对于每个$i$,在使用最优放水策略的情况下,第$i$天水库是满的情况下最高水温($i$之 阅读全文
posted @ 2018-09-20 16:13 AlphaInf 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一棵$n$个点的树,每个点有一个点权$x$,问你所有路径中点权异或和最大的路径的异或和 数据范围:$n≤30000$,$x≤2^{31}-1$。 如果是边上有点权的话非常简单,直接一个$trie$就可以水过去了。 然而这题是点权,非常烦人。我们考虑用点分治去解决。 假设当前需要遍历的树 阅读全文
posted @ 2018-07-29 11:20 AlphaInf 阅读(400) 评论(0) 推荐(3) 编辑
摘要: 题目大意:你有一个$n*m$的网格(有边界),你从$(1,1)$开始随机游走,求走到$(n,m)$的期望步数。 数据范围:$n≤10$,$m≤1000$。 我们令 $f[i][j]$表示从$(1,1)$随机游走到$(i,j)$的期望步数。不难推出: 如果$(i,j)$与边界不想邻,则有 $f[i][ 阅读全文
posted @ 2018-07-28 11:41 AlphaInf 阅读(502) 评论(3) 推荐(4) 编辑
摘要: 概述 多项式开跟是一个非常重要的知识点,许多多项式题目都要用到这一算法。 用快速数论变换,多项式求逆元和倍增法可以在$O(n log n)$的时间复杂度下求出一个$n$次多项式的开根。 前置技能 快速数论变换(NTT),多项式求逆元,二次剩余。 多项式的开根 给定一个多项式$A(x)$,其次数为$d 阅读全文
posted @ 2018-07-26 17:41 AlphaInf 阅读(2223) 评论(4) 推荐(26) 编辑
摘要: 我们构造$f(x)$的生成函数$G(x)$,那么显然$[x^k]G(x)=Ok^2+Sk+U$ 那么显然,答案即为$\sum_{i=1}^{n} [x^m]G^i(x)$ 我们构造答案的生成函数$F(x)=\sum_{i=1}^{n} G^i(x)$ 根据等比数列求和公式,$F(x)=G(x)\df 阅读全文
posted @ 2018-07-26 12:11 AlphaInf 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 又是一道FFT套路题 思路可以参考bzoj4503,题解 我们对串S和串T中出现的*处全部赋值为0。 反正最终的差异度式子大概就是 $C[i]=\sum_{j=0}^{|T|-1}S[i+j]T[j](S[i+j]-T[j])^2$ 然后和上一题一样的展开方式,将T串reverse一下做FFT再统计 阅读全文
posted @ 2018-07-25 20:00 AlphaInf 阅读(174) 评论(0) 推荐(0) 编辑
摘要: $FFT$套路题(然而我看错题了) 我们考虑化一下式子。 设当前比较的两个部分为$S[i....i+|T|-1]$和$T[0....|T|-1]$。 我们对串$T$中出现问号的位置全部赋值为$0$。 我们定义一个差异度$C[i]=\sum_{j=0}^{|T|-1}T[j](S[i+j]-T[j]) 阅读全文
posted @ 2018-07-25 18:04 AlphaInf 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 哇我太菜啦555555 不妨钦定我们需要访问的点集为$S$,在$S$已知的情况下,我们令$f(x) $表示从$x$走到点集$S$中任意一点的期望步数。 若$x∈S$,则显然$f(x)=0$,否则$f[x]=\frac{1}{d[x]}\sum f[ch[x]]+1$。其中$d[x]$表示与$x$相连 阅读全文
posted @ 2018-07-25 08:58 AlphaInf 阅读(390) 评论(2) 推荐(0) 编辑
摘要: 题目大意:给你$m$个数$a_i$,定义$n=\Pi_{i=1}^{m}a_i$。将$n$分解质因数为$\Pi p_i^{k_i} $,$p_i$是质数。请输出$2^{max(k_i)}-1$,以及存在多少个$k_i$,满足$k_i=max(k_i)$。 数据范围:$m≤600$,$a_i≤10^{ 阅读全文
posted @ 2018-07-03 17:51 AlphaInf 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 这题一看显然是一个裸的斯坦纳树 我们用$f[i][j]$表示经过的路径中包含了状态$i$所表示的点,且连接了$j$号点的最短路径。 显然,$f[i][j]=min\{f[i$^$k][j]+f[k][j]\}$, 其中$i $&$ k = k$。 转移完毕后,跑一个最短路去更新一遍。 那么显然这题的 阅读全文
posted @ 2018-07-01 09:50 AlphaInf 阅读(322) 评论(1) 推荐(0) 编辑
摘要: 题目大意:给你n个碗,求如何堆叠,使得它们的总高度最低。 首先,我们枚举碗的叠放顺序。 假设我们已经堆好了前i个碗,那么在堆第i+1个碗时,我们要将第i+1个碗与前i个碗比较,确定第i+1个碗的离地高度。 对于第i个碗和第j个碗的比较,我们分五种情况讨论(以下画图只画半个碗): 具体的细节可以看我的 阅读全文
posted @ 2018-06-30 10:29 AlphaInf 阅读(553) 评论(3) 推荐(0) 编辑
摘要: 题目大意:给你$n$个不大于$m$的质数,求有多少种方案,使得这$n$个数的异或和为$0$。其中,$n≤10^9,m≤10^5$。 考虑正常地dp,我们用$f[i][j]$表示前$i$个数的异或和为$j$的方案数。 我们构造一个数组$g$,若i为不大于$m$的质数,则$g[i]=1$,否则为$0$。 阅读全文
posted @ 2018-06-29 09:25 AlphaInf 阅读(233) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 下一页