首页 > 区间权值
头像 ZeRoLJ42
发表于 2020-07-21 09:53:39
题意: 给定两个长度为 的数组 和 ,求 。结果对 取模。 题解: 喜闻乐见的简单推式子题。 先令 ,即 为 的前缀和;,即 为 的前缀和。 那么: 分开算一下 左边: 第一步和式变换,我是从具体表示意义直接写出右边的式子的。两个和式表示的 的所有子区间,原来是先枚举 ,再枚举 。变 展开全文
头像 luo想要个气球
发表于 2020-07-20 23:29:10
题意 思路: .............. .... #include <cstdio> using namespace std; typedef long long ll; const int mod = 1e9 + 7; const int N = 3e5 + 10; int n 展开全文
头像 hnust_yangyanjun
发表于 2020-07-26 23:51:12
题意:给你一个a数组和一个w数组,定义请你求 的值? 思路:由于n<=5 * 10^5,所以暴力肯定是不行的,所以我们可以按暴力求法列出式子看是否能优化。当n=5时,结果=f(1,1)+f(1,2)+f(1,3)+f(1,4)+f(1,5)+f(2,2)+f(2,3)+f(2,4)+f(2,5 展开全文
头像 合情合理
发表于 2020-07-20 23:08:52
对于这种式子 一般情况下,我们先仿照答案写出前几项,看看有没有规律 定义前缀和 ,把要求出的式子展开来写 然后,通过观察发现,可以把每一个列 相加的值,合并到一起 建议列成一排这样约分一眼就看出来了,每次都是前面空出几项,后面空出几项 通过观察式子,我们发现 对应 加一项 减去 展开全文
头像 sunsetcolors
发表于 2020-07-20 23:17:03
NC19798 区间权值 题目地址: https://ac.nowcoder.com/acm/problem/19798 基本思路: 求一个序列里这个玩意的结果;换句话说,就是将序列里所有长度为区间的和去乘以这种长度的权值作为这种区间长度下的结果,然后再将下的结果求和。看上去还是很绕,我们假 展开全文
头像 Acapplella
发表于 2020-07-22 15:57:52
代码如下: #include <iostream> #include <cstdio> using namespace std; typedef long long LL; const int mod = 1e9 + 7; const int maxn = 3e5 + 5; 展开全文
头像 dilingtian
发表于 2022-11-02 16:46:18
求解:∑l=1n∑r=lnwr−l+1∗∑i=lrai\sum_{l=1} ^n \sum_{r=l} ^n w_{r-l+1}*\sum_{i=l} ^ra_i∑l=1n​∑r=ln​wr−l+1​∗∑i=lr​ai​ 定义:si=∑j=1iaj,sumi=∑j=1isjs_i=\sum_{j=1 展开全文
头像 CoolGuang!
发表于 2020-07-23 02:13:27
题目思路 首先注意到这个式子表示的含义即为,所有区间的区间和*区间长度的累加和 把式子拆开: 设a数组的前缀和是fa,b数组的前缀和是fb ( fb(r)-fa(l) )* b_(r-l)  = fa(r)*b_(r-l) - fa(l)*b_(r-l) 所以说我们 展开全文
头像 Canan
发表于 2020-07-24 20:56:35
题意: 分析:(不想打字所以放了张图片) 对于每个前n项和,可以用前缀和进行预处理求出,然后负数取模注意下就可以了。 代码: #include<iostream> #include<algorithm> #include<stdio.h> #include&l 展开全文
头像 wut_xt
发表于 2022-05-18 20:37:20