做天猫网站多少钱,服务器公司网站,商标分类表45类明细,广州室内设计装修CF641D. Little Artem and Random Variable
Solution
设给定的两个序列为mx1..n,mn1..nmx_{1..n},mn_{1..n}mx1..n,mn1..n。 令第一个骰子投到1..n1..n1..n的概率为p1..np_{1..n}p1..n 令第二个骰子投到1..n1..n1..n的概率为q1..nq_{1..n}q1..n 显然有 mxi(∑j≤ipj)…CF641D. Little Artem and Random Variable
Solution
设给定的两个序列为mx1..n,mn1..nmx_{1..n},mn_{1..n}mx1..n,mn1..n。 令第一个骰子投到1..n1..n1..n的概率为p1..np_{1..n}p1..n 令第二个骰子投到1..n1..n1..n的概率为q1..nq_{1..n}q1..n 显然有 mxi(∑j≤ipj)(∑j≤ipj)−(∑jipj)(∑jipj)mx_i(\sum_{j\leq i}p_j)(\sum_{j\leq i}p_j)-(\sum_{ji}p_j)(\sum_{ji}p_j)mxi(j≤i∑pj)(j≤i∑pj)−(ji∑pj)(ji∑pj) mni(∑j≥ipj)(∑j≥ipj)−(∑jipj)(∑jipj)mn_i(\sum_{j\geq i}p_j)(\sum_{j\geq i}p_j)-(\sum_{ji}p_j)(\sum_{ji}p_j)mni(j≥i∑pj)(j≥i∑pj)−(ji∑pj)(ji∑pj) 可以把∑j≤xpj\sum_{j\leq x}p_j∑j≤xpj当成横坐标把∑j≤yqj\sum_{j\leq y}q_j∑j≤yqj当成纵坐标这样就形成一个1∗11*11∗1的矩形mxi.mnimx_i.mn_imxi.mni分别为其中一个LLL形矩阵面积可以求得 1−∑j≤imximni1(∑jipj)(∑jiqj)1-\sum_{j\leq i}mx_imn_{i1}(\sum_{ji}p_j)(\sum_{ji}q_j)1−j≤i∑mximni1(ji∑pj)(ji∑qj) ∑mni1(∑jipj)(∑jiqj)\sum mn_{i1}(\sum_{ji}p_j)(\sum_{ji}q_j)∑mni1(ji∑pj)(ji∑qj) 这样就可以通过求解一元二次方程求出(∑jipj)(\sum_{ji}p_j)(∑jipj)和(∑jiqj)(\sum_{ji}q_j)(∑jiqj)差分即可。
Code
#include vector
#include list
#include map
#include set
#include deque
#include queue
#include stack
#include bitset
#include algorithm
#include functional
#include numeric
#include utility
#include sstream
#include iostream
#include iomanip
#include cstdio
#include cmath
#include cstdlib
#include cctype
#include string
#include cstring
#include ctime
#include cassert
#include string.h
//#include unordered_set
//#include unordered_map
//#include bits/stdc.h#define MP(A,B) make_pair(A,B)
#define PB(A) push_back(A)
#define SIZE(A) ((int)A.size())
#define LEN(A) ((int)A.length())
#define FOR(i,a,b) for(int i(a);i(b);i)
#define fi first
#define se second
#define int llusing namespace std;templatetypename Tinline bool upmin(T x,T y) { return yx?xy,1:0; }
templatetypename Tinline bool upmax(T x,T y) { return xy?xy,1:0; }typedef long long ll;
typedef unsigned long long ull;
typedef long double lod;
typedef pairint,int PR;
typedef vectorint VI;const lod eps1e-15;
const lod piacos(-1);
const int oo130;
const ll loo1ll62;
const int mods1e97;
const int MAXN100005;
const int INF0x7fffffff;//1061109567
/*--------------------------------------------------------------------*/
inline int read()
{int f1,x0; char cgetchar();while (c0||c9) { if (c-) f-1; cgetchar(); }while (c0c9) { x(x3)(x1)(c^48); cgetchar(); }return x*f;
}
double mx[MAXN],mn[MAXN],smx[MAXN],smn[MAXN],sp[MAXN],sq[MAXN];
signed main()
{int nread();for (int i1;in;i) scanf(%lf,mx[i]);for (int i1;in;i) scanf(%lf,mn[i]);for (int i1;in;i) smx[i]smx[i-1]mx[i];for (int in;i1;i--) smn[i]smn[i1]mn[i];for (int i1;in;i){double pl1smx[i]-smn[i1],mulsmx[i],misqrt(pl*pl-mul*4eps);sp[i](plmi)*0.5,sq[i](pl-mi)*0.5;}for (int i1;in;i) printf(%.10lf ,sp[i]-sp[i-1]); puts();for (int i1;in;i) printf(%.10lf ,sq[i]-sq[i-1]); puts();return 0;
}