首页 > TAG信息列表 > ZJOI2014
P3338 [ZJOI2014]力
求 \[E_j=\dfrac{F_j}{q_j} \]原式变成 \[\dfrac{\sum_{i=1}^{j-1}\dfrac{q_i\times q_j}{\left(i-j\right)^2}-\sum_{i=j+1}^n\dfrac{q_i\times q_j}{\left(i-j\right)^2}}{q_j} \]消去 \(q_j\) \[\sum_{i=1}^{j-1}\dfrac{q_i}{\left(i-j\right)^2}-\sum_{i[ZJOI2014] 力 - FFT
Description 给出 \(n\) 个数 \(q_1,q_2, \dots q_n\),定义 \[F_j~=~\sum_{i = 1}^{j - 1} \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j + 1}^{n} \frac{q_i \times q_j}{(i - j)^2} \]\[E_i~=~\frac{F_i}{q_i} \]对 \(1 \leq i \leq n\),求 \(E_i\) 的值。 S「ZJOI2014」力
题目链接:Click here Solution: 把式子拿下来 \[ E_k=\sum_{i=1}^{k-1} {q_i \over (k-i)^2} -\sum_{i=k+1} ^ n {q_i \over (i-k)^2} \] 构造一个生成函数\(C(x)=\sum_{i=1}^n {1 \over i^2} x^i\),那么式子就变成了这样 \[ E_k=\sum_{i=1}^{k-1} q_i C_{k-i} -\sum_{i=k+1} ^ n q_BZOJ 3527. [Zjoi2014]力
黑暗爆炸上没有spj。 第一部分的答案为 $\sum \limits_{j = 1}^{i - 1} q_j \times \frac{1}{(i-j)^2}$,直接卷积就行。第二部分就把 q 数组reverse一下再卷一遍。 #include <bits/stdc++.h> #define db long double const int N = 100000 * 3 + 7; db a[N], ans[N][2]; names[Zjoi2014]力(FFT/NTT)
[Zjoi2014]力(FFT,卷积) 题意:给定\(n\)个点电荷,排在单位数轴上,求每个点的场强 考虑每个\(i\)对于每个\(j\)的贡献,分析式子 \(E=\cfrac{q_i}{(j-i)^2}\) 令\(f(x)=\sum q_ix^i\) \(g(x)=\sum a_ix^i,a_i=i<0?-\frac{1}{i^2}:\frac{1}{i^2}\) \(g(x)\)每一项\(x\)的指数其实是\(j-i\)洛谷P3338 [ZJOI2014]力
水题都不会,对卷积形式不敏感\(QwQ\) 题目大意: 给出\(n\)个数\(q_i\),定义\(f_j\)如下: \[f_j=\sum\limits_{i<j}\frac{q_iq_j}{(i-j)^2}-\sum\limits_{i>j}\frac{q_iq_j}{(i-j)^2}\] 求\(E_i=\frac{f_i}{q_i}\) 真的稍微观察一下就可以知道 \(E_i=\frac{f_i}{q_i}=\sum\limits_{i<j[ZJOI2014] 力 - 多项式乘法 FFT
题意:给定 \({q_i}\),求 \[E_i = \sum_{i<j}{\frac{q_j}{(j-i)^2}} - \sum_{i>j}{\frac{q_j}{(j-i)^2}}\] Solution: 我们令 \[p_i = \frac{1}{(j-i)^2}\] 那么很容易将\(E_i\)处理为卷积形式 \[E_i = \sum_{i<j}{p_{j-i}q_j} - \sum_{i>j}{p_{i-j}q_j}\] 可以暴力地把两边分开处[题解] [ZJOI2014] 力
题面 题解 恩, 我们首先有这两个关系 \[ \displaystyle\begin{aligned} F_j &= \sum_{i < j}\frac{q_iq_j}{(i - j)^2} - \sum_{i > j}\frac{q_iq_j}{(i - j)^2}\\ &= q_j\cdot(\sum_{i < j}\frac{q_i}{(i - j)^2}-\sum_{i>j}\frac{q_i}{(i - j)^2})\end{BZOJ 3527: [Zjoi2014]力 FFT_卷积
Code: #include <cmath>#include <cctype>#include <cstdio>#include <cstring>#include <string>#include <algorithm>using namespace std; #define setIO(s) freopen(s".in","r",stdin) const int maxn = 30000[ZJOI2014]力
Description: 给出n个数qi, 给出Fj的定义如下:\(F_j = \sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{i>j}\frac{q_i q_j}{(i-j)^2 }\) 令Ei=Fi/qi,求Ei. Hint: \(n \le 10^5\) Solution: \(F_j=\sum_{i=1}^{j-1} f(i)*g(j-i)-\sum_{i=j+1}^nf(i)*g(j-i)\) \(F_j=\sum_{iLuogu3338 [ZJOI2014]力
题目蓝链 Description 给定一个长度为\(n\)的数列\(q_i\),定义 \[ F_j = \sum_{i < j} \frac{q_i q_j}{(i - j)^2} - \sum_{i > j} \frac{q_i q_j}{(i - j)^2} \\ E_i = \frac{F_i}{q_i} \] 求出所有的\(E_i\) Solution 直接上推导过程 \[ E_j = \frac{\sum_{i < j} \frac{q_i[ZJOI2014] 力 题解
题意: 发现Ei如果给出了Fi就很好算,所以目标其实是算Fi. 首先我们令\(F_j=A_j-B_j\). 其中\[A_j=\sum_{i<j}\frac{q_iq_j}{(i-j)^2}.\] \[B_j=\sum_{i>j}\frac{q_iq_j}{(i-j)^2}.\] 考虑将第一个式子变形为 \[A_j=\sum_{i=0}^{j-1}\frac{q_iq_j}{(i-j)^2}.\] 由乘法分配律,可以将\(q【ZJOI2014】力
转换一下式子然后卷积就可以了 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> typedef long double ld; struct C{ ld x,y; inline C(ld a=0,ld b=0){x=a,y=b;} inline C operator * (const C&b)const{return C(x*b