摘要: “类欧几里得算法”第二题 P5170 【题意】已知$n,a,b,c$,求 $$ \begin{aligned} f_{1}(a,b,c,n)&=\sum_{i=0}^n\lfloor\dfrac{ai+b}{c}\rfloor\\ f_{2}(a,b,c,n)&=\sum_{i=0}^n\lfloo 阅读全文
posted @ 2019-01-21 21:53 nosta 阅读(207) 评论(0) 推荐(0) 编辑
摘要: “类欧几里得算法”第一题 sum 【题意】 给入$n,r$,求$\sum_{d=1}^n( 1)^{\lfloor d\sqrt r \rfloor}$。 【分析】 只需要考虑所有$d$中,$\lfloor d\sqrt r\rfloor$为偶数的个数。显然$\lfloor x\rfloor$为偶数 阅读全文
posted @ 2019-01-21 15:55 nosta 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 「题意」给你一棵树,每次询问若在在选中的k个点两两连接无相边,边权为原来树上的点对距离,求这些边的:1)权值和 2)最短的边 3)最长的边。所有k之和$\le$2 n。 「分析」虚树模板题。(但是独立写出来还是很振奋人心的合)直接考虑对虚树dp,设pmn[x]为x到x的子树内的关键点的最短距离,pm 阅读全文
posted @ 2019-01-11 18:23 nosta 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 「题意」给定$g[0]=1$,$g[1~n 1]$求序列$f[i]=\sum_{j=1}^i f[i j] g[j]\ , i\in[1,n 1],f[0]=1$。 「分析」分治处理区间[l,r],先递归求出[l,mid],在统计[l,mid]对[mid+1,r]的贡献,可以发现 $$f[x]+=\ 阅读全文
posted @ 2019-01-09 09:58 nosta 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 按照常规思路,选一个点x作为分治中心,拼接x出发到子树各点的路径。对于拼接时两段接口处(即x连出的那条边,若没有,设为0号边:颜色为0,长度为0,到达0号儿子)颜色的影响,可以记录每段的路径权值、边数以及该段的接口,将所有的路径以接口颜色为第一关键字,接口编号为第二关键字排序。显然,对于同一接口的路 阅读全文
posted @ 2019-01-06 22:00 nosta 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 考虑在树上选个点rt作为根,并且快递中心就选这儿。计算出所有配送的代价(2 两段之和),设他们的最大值为Max。若此时存在下列情况时,可以判定Max已经为最优解。 1)存在代价为Max的配送(u,v)且uv分别属于rt的不同的两个“儿子的子树”。 2)存在代价为Max的配送(u1,v1)(u2,v2 阅读全文
posted @ 2019-01-06 19:59 nosta 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 设f[i]为形成极长回文串i的最小操作数。答案为min f[i]+n len[i]。 在不形成偶回文的情况下形成奇回文的最小操作数为该串长度。可以不考虑(但ans赋为len)。 正确性基于: 1)奇、偶回文嵌套形成最终的偶回文一定可以转化为由在不形成奇回文的情况下形成偶回文。 2)奇、偶回文嵌套形成 阅读全文
posted @ 2019-01-03 22:06 nosta 阅读(224) 评论(0) 推荐(0) 编辑
摘要: sum a[i] a[i]可以理解为两个独立但同时进行的游戏得到同一个输出序列的方案数。 设f[l,i,j]为每个游戏都已经推出了l个珠子时,第一个游戏里上边儿的管道已经推出了i个,第二个游戏中上边儿管道推出了j个的方案数。 考虑到若要推出序列相同,那么对于每个阶段l,两个游戏的推出序列应始终相等。 阅读全文
posted @ 2019-01-03 15:53 nosta 阅读(210) 评论(0) 推荐(0) 编辑
摘要: ~~并查集水题。~~维护变量的对应位的相关关系,判断不确定点(自由元)的个数即可。 代码中的p数组:p[1] 值的id, p[2~k+1]每个变量的第一位的id。 以下为输入格式: 第一行:k(k 阅读全文
posted @ 2019-01-02 10:58 nosta 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 设F[i,j]为长度为i是,前缀和为j的方案数。 【转移】 F[i,j] = F[i+1,j+i] F[i,j] = F[i+1,j i] 【原理】 由于A[0]=0,所以有A[1]= 1或A[1]=1 。又要满足|A[i] A[i 1]|=1,所以 这样思考: 从F[i, ]转移到F[i+1, ] 阅读全文
posted @ 2018-12-29 21:09 nosta 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 使用树状数组求出初态下出f[i]、g[i]表示位置小(大)于i且值大(小)于a[i]的元素个数。显然ans|初=sum f[i]=sum g[i]。 考虑第一个删去的点x,删去以后,ans减少f[x]+g[x];再考虑第二个删去的点y,删去以后,ans减少f[y]+g[y]?不,f[y]、g[y]中 阅读全文
posted @ 2018-12-29 11:26 nosta 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 明显的二合一问题。贪心的想,要个数最少,那么久从页数多的开始选。于是对于前50%的数据,可以直接预处理(1~x,1~y)矩阵内大于等于k的元素个数、元素之和的前缀和,然后二分k值来验证;对于后50%的数据,已经退化为一维情形,若再使用前面的方法会mle(5e5 1e3 4),那么考虑使用主席树来维护 阅读全文
posted @ 2018-12-29 08:20 nosta 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 想不出什么办法能直接算的(~~别跟我提分块打表~~),不如二分答案吧:设$f(x)=\sum_{i=1}^n [i不是“完全平方数”]$, 显然f(x)与x正相关。再结合筛法、容斥,不难得到: $$ f(x)=\sum_{i=1}^{sqrt x } \mu(i)\lfloor\frac{x}{i^ 阅读全文
posted @ 2018-12-28 16:00 nosta 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 下面给出这道一脸不可做的题的鬼畜性质: 1)对于一个点来说,其归属状态是确定的:走不到、A党或B党 。(黑白格染色) 方便起见,将包含所有不可达的点的极小矩形向外扩展一圈,设为矩形M。 2)矩形M的最外圈上相邻两点点到(0,0)的最短曼哈顿距离差值不超过1。 3)矩形M外任意正对于矩形M的点到垂直走 阅读全文
posted @ 2018-12-27 20:59 nosta 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 可以发现,(ai+t) bi和ai (bi+t)可以表示为ai bi+x(x in [ m,m])。 对于一对: (ai+x bi)^2==ai^2+bi^2+x2+2(ai bi)x 2aibi 再求和 sum (ai+x bi)^2=sum(ai^2)+sum(bi^2)+nx^2+2x (su 阅读全文
posted @ 2018-12-27 14:50 nosta 阅读(99) 评论(0) 推荐(0) 编辑