洛谷 P4427 求和】的更多相关文章

传送门啦 思路: 开始不肿么容易想到用倍增,但是想到需要求 $ Lca $ ,倍增这种常数小而且快的方法就很方便了.求 $ Lca $ 就是一个最普通的板子.那现在考虑怎么求题目中的结果. 树上差分可能听起来很高大上,但是前缀和并不陌生,树上差分就理解成树上前缀和就好了: $ sum[u] + sum[v] - sum[lca(u , v)] ; $ 树上差分之前要先预处理出 $ dis $ 数组, $ dis[i][j] $ 表示从 $ i $ 出发到根节点(本题中的1号节点)的 $ j $…
传送门 洛谷P4427 题意: 给你一个数,然后让你求这两个数之间的点的深度的k次方和. #思路: 很容易想到lca.因为lca可以说是求树上两个点的距离的好方法.而且lca还能遍历每一个点. 然后我们可以用一个数组pre来存储每一个点到深度的多少次方. 处理的时候在求深度的时候直接暴力求就行. # code: #include <bits/stdc++.h> #define int long long #define N 300010 #define M 1010 #define _ 0 u…
\(\Large\textbf{Description: } \large{一颗n个节点的树,m次询问,每次查询点i到点j的路径上所有节点点深度的k次方的和并对998244353取模(1\leq n,m \leq 300000,1\leq k\leq 50).}\\\) \(\Large\textbf{Solution: } \large{一开始看到这道题并没有思路,但是注意到k很小,所以我们可以预处理出每个节点到根节点1的路径上点的1到50次方的和,然后每次O(1)查询即可.\\}\) \(\…
P2671 求和 题目描述 一条狭长的纸带被均匀划分出了\(n\)个格子,格子编号从\(1\)到\(n\) .每个格子上都染了一种颜色\(color_i\)用\([1,m]\)当中的一个整数表示),并且写了一个数字\(number_i\) 定义一种特殊的三元组:\((x,y,z)\),其中\(x,y,z\)都代表纸带上格子的编号,这里的三元组要求满足以下两个条件: \(xyz\)是整数, \(x<y<z,y-x=z-y\) \(color_x=color_z\) 满足上述条件的三元组的分数规定…
题目传送门 求和 格式难调,题面就不放了. 分析: $ZYYS$的一道题. 很显然是大力推公式.我们分析一下题目,实际上限制条件就是:下标同奇偶且颜色相同的数,那么我们先拿这个公式$(x+z)*(num_x+num_z)$套三个变量$x,y,z$推一下: $(x+z)*(num_x+num_z)=num_x*x+num_z*z+num_x*z+num_z*x$ $(x+y)*(num_x+num_y)=num_x*x+num_y*y+num_x*y+num_y*x$ $(z+y)*(num_z+…
P1630 求和 题目描述 求1^b+2^b+……+a^b的和除以10000的余数. 输入输出格式 输入格式: 第一行包含一个正整数N,表示共有N组测试数据: 接下来N行,每行包含两个正整数a和b. [数据规模] 对于30%的数据中,满足N<=10,a,b<=1000; 对于100%的数据中,满足N<=100,a,b<=1000000000; 输出格式: 共N行,每行一个对应的答案. 输入输出样例 输入样例#1: 复制 1 2 3 输出样例#1: 复制 9 快速幂+优化 在我们fo…
题目描述 一条狭长的纸带被均匀划分出了nn个格子,格子编号从11到nn.每个格子上都染了一种颜色color\_icolor_i用[1,m][1,m]当中的一个整数表示),并且写了一个数字number\_inumber_i. 定义一种特殊的三元组:(x,y,z)(x,y,z),其中x,y,zx,y,z都代表纸带上格子的编号,这里的三元组要求满足以下两个条件: x,y,z是整数,x<y<z,y-x=z-y colorx=colorz 满足上述条件的三元组的分数规定为)(x+z)×(number_x…
题目链接:https://www.luogu.org/problemnew/show/P2671 这是noip2015普及组的第三题,谁说的普及组的题就一定水的不行,这道题就比较有意思的 这道题的暴力想法就是双重循环寻找所有情况 但是这会爆时间的 -------------------------- 做这题,需要找到一个结论 y-x=z-y的意思其实是x+z是偶数,也就是x,z是同奇偶的 这个结论有了当然就可以暴力了,虽然不能过 正解的思路 我们首先对每一个数来查找他的贡献... 但是单纯的查找…
一道数学题...... 采用分组的思想,我们要统计答案的数对满足两个条件:同奇偶,同颜色.所以可以按这两个要求分组. 然后就是分组处理了,对于每组(有k个数),这里面的任意两对数都是满足条件的,可推出下面的公式: x[k]*(y[k]*(k-2)+y[1]+y[2]+......+y[k]) x[]是数值,y[]是下标. 公式推导还是好推的,自己在草稿纸上列出式子,用数学方式处理. 由此可以得到代码: 1 #include<bits/stdc++.h> 2 using namespace st…
上模板题例题: [CQOI2007]余数求和 洛谷 BZOJ 题目大意:求 $\sum^n_{i=1}k\ mod\ i$ 的值. 等等……这题就学了三天C++的都会吧? $1\leq n,k\leq 10^9$.(一口老血喷到屏幕上) $O(n)$ 行不通了,考虑别的做法. 我们来看一下 $\lfloor\frac{x}{i}\rfloor$ 的值. $x=9$:(不包括0,只有4种取值?) i 1 2 3 4 5 6 7 8 9 10 x/i 9 4 3 2 1 1 1 1 1 0 $x=1…