CF641D. Little Artem and Random Variable

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)−(∑j<ipj)(∑j<ipj)mx_i=(\sum_{j\leq i}p_j)(\sum_{j\leq i}p_j)-(\sum_{j<i}p_j)(\sum_{j<i}p_j)mxi=(jipj)(jipj)(j<ipj)(j<ipj)
mni=(∑j≥ipj)(∑j≥ipj)−(∑j>ipj)(∑j>ipj)mn_i=(\sum_{j\geq i}p_j)(\sum_{j\geq i}p_j)-(\sum_{j>i}p_j)(\sum_{j>i}p_j)mni=(jipj)(jipj)(j>ipj)(j>ipj)
可以把∑j≤xpj\sum_{j\leq x}p_jjxpj当成横坐标,把∑j≤yqj\sum_{j\leq y}q_jjyqj当成纵坐标,这样就形成一个1∗11*111的矩形,mxi.mnimx_i.mn_imxi.mni分别为其中一个LLL形矩阵面积,可以求得:
1−∑j≤imxi+mni+1=(∑j>ipj)+(∑j>iqj)1-\sum_{j\leq i}mx_i+mn_{i+1}=(\sum_{j>i}p_j)+(\sum_{j>i}q_j)1jimxi+mni+1=(j>ipj)+(j>iqj)
∑mni+1=(∑j>ipj)(∑j>iqj)\sum mn_{i+1}=(\sum_{j>i}p_j)(\sum_{j>i}q_j)mni+1=(j>ipj)(j>iqj)
这样就可以通过求解一元二次方程求出(∑j>ipj)(\sum_{j>i}p_j)(j>ipj)(∑j>iqj)(\sum_{j>i}q_j)(j>iqj),差分即可。

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;template<typename T>inline bool upmin(T &x,T y) { return y<x?x=y,1:0; }
template<typename T>inline bool upmax(T &x,T y) { return x<y?x=y,1:0; }typedef long long ll;
typedef unsigned long long ull;
typedef long double lod;
typedef pair<int,int> PR;
typedef vector<int> VI;const lod eps=1e-15;
const lod pi=acos(-1);
const int oo=1<<30;
const ll loo=1ll<<62;
const int mods=1e9+7;
const int MAXN=100005;
const int INF=0x7fffffff;//1061109567
/*--------------------------------------------------------------------*/
inline int read()
{int f=1,x=0; char c=getchar();while (c<'0'||c>'9') { if (c=='-') f=-1; c=getchar(); }while (c>='0'&&c<='9') { x=(x<<3)+(x<<1)+(c^48); c=getchar(); }return x*f;
}
double mx[MAXN],mn[MAXN],smx[MAXN],smn[MAXN],sp[MAXN],sq[MAXN];
signed main()
{int n=read();for (int i=1;i<=n;i++) scanf("%lf",&mx[i]);for (int i=1;i<=n;i++) scanf("%lf",&mn[i]);for (int i=1;i<=n;i++) smx[i]=smx[i-1]+mx[i];for (int i=n;i>=1;i--) smn[i]=smn[i+1]+mn[i];for (int i=1;i<=n;i++){double pl=1+smx[i]-smn[i+1],mul=smx[i],mi=sqrt(pl*pl-mul*4+eps);sp[i]=(pl+mi)*0.5,sq[i]=(pl-mi)*0.5;}for (int i=1;i<=n;i++) printf("%.10lf ",sp[i]-sp[i-1]); puts("");for (int i=1;i<=n;i++) printf("%.10lf ",sq[i]-sq[i-1]); puts("");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AKS开讲啦! | DevOps with AKS

上周小Phippy搬到了Kube船长船上的Pods里&#xff0c;感觉好极了&#xff0c;那今天我们继续看看Phippy的兴趣爱好哦。探索Kube船上的世界上篇&#xff08;点击回顾&#xff09;小Phippy 搬到了船上的Pods里&#xff0c;感受到了回家般的舒适感&#xff0c;小Phippy希望能发挥一…

CF1157G. Inverse of Rows and Columns

CF1157G. Inverse of Rows and Columns Solution 首先枚举第一行是否变换&#xff0c;再枚举第一行的010101状态&#xff0c;即可确定列变换。 然后对于之后的行变换&#xff0c;从前往后贪心地让111出现得尽可能晚即可。 Code #include <vector> #include <list&…

把文件隐藏在图片中

一、前言有的时候我们需要把文件给隐藏起来&#xff0c;但是Windows自带的隐藏方式还是很容易被发现的。这时候我们可以选择把文件放在网盘&#xff0c;但这毕竟需要网络。不过&#xff0c;我们可以通过Windows自带的功能&#xff0c;把文件隐藏在图片中。是不是有一种大隐隐于…

CF1156F. Card Bag

CF1156F. Card Bag Solution 概率DPDPDP。 记cnticnt_icnti​表示有多少个ajia_jiaj​i&#xff0c;再把aia_iai​离散化。 令fi,jf_{i,j}fi,j​表示当前取过iii个数&#xff0c;当前取到了aja_jaj​的概率。 fi,jfi−1,k∗cntain−i1f_{i,j}f_{i-1,k}*\frac{cnt_{a_i}}{n-i1…

.NetCore下使用Polly结合IHttpClientFactory实现聚合服务

在使用微服务的过程中经常会遇到这样的情况&#xff0c;就目前我遇到的问题做下分析情况一&#xff1a;这里服务对于前后端分离情况来说&#xff0c;多使用查询服务&#xff0c;前端直接获取不同服务的数据展示&#xff0c;如果出现其中的服务失败&#xff0c;对业务数据无影响…

CF1342E. Placing Rooks

CF1342E. Placing Rooks Solution 有一个显然的性质&#xff1a; 要么每行都有至少一个&#xff0c;要么每列至少有一个。 只看每行有至少一个的情况&#xff1a; 显然必有n−kn-kn−k列有棋子。 考虑容斥&#xff0c;枚举空列的数量iii。 Ans∑(−1)i∗(n−ki)∗(n−k−i)n…

你需要了解的有关.NET日期时间的必要信息

引言DateTime数据类型是一个复杂的问题&#xff0c;复杂到足以让你在编写【将日期从Web服务器返回到浏览器】简单代码时感到困惑。ASP.NET MVC 5和 Web API 2/ASP.NETCore 以不同方式序列化日期&#xff0c;这可能会给在一个Web应用程序中同时使用这两个序列化的开发人员带来更…

CF750F. New Year and Finding Roots

CF750F. New Year and Finding Roots Solution 设当前节点为xxx&#xff0c; 若当前节点为叶子节点&#xff0c;则向它的邻居跑。 若当前节点为根&#xff0c;则找到答案。 否则&#xff0c;每次从xxx向两个方向找&#xff0c;每次只走一个没有走过的邻居&#xff0c;显然可以…

只需3步,即可将你的Chromium Edge 浏览器设置成中文

最近&#xff0c;Chromium Edge 浏览器推出了添加语言包的功能&#xff0c;于是我们可以轻松将其界面设置成中文的。第1步: 升级浏览器到最新版在Chromium Edge 浏览器的地址栏中输入:edge://settings/help稍等片刻&#xff0c;浏览器会自行升级到最新版。第2步: 将Language se…

CF730F. Ber Patio

CF730F. Ber Patio Solution 由于∑ai\sum{a_i}∑ai​只有10510^5105&#xff0c;即除掉原有的bbb&#xff0c;代金券最多为10410^4104&#xff0c;因此我们令f[i][j]f[i][j]f[i][j]表示到了第iii天&#xff0c;靠现金获得的代金券共为jjj的最小现金和。 转移时枚举第i1i1i1…

【北京】线下活动 | Azure SQL Database Managed Instance发布会

6/12/2019 | 8.30 AM - 1.30 PM微软大厦一号楼一层故宫会议室N丹棱街5号 海淀区 北京市S尊敬的客户感谢您一直以来对微软的支持&#xff01;诚挚地邀请您参加微软Azure SQL Database Managed Instance &#xff08;SQL Database托管实例&#xff09;在中国北京的发布会。SQL Da…

CF768F. Barrels and boxes

CF768F. Barrels and boxes Solution 又一道据说是套路题。 核心在于枚举WWW的连续段个数为xxx。 然后就能知道FFF的连续段个数为x−1,x,x1x-1,x,x1x−1,x,x1&#xff0c;可以用插板法求出任意把WWW分xxx段的方案数&#xff0c;分xxx段每段WWW至少HHH个的方案数&#xff0c;…

ASP.Net Core MVC 发生二次请求

Bug回忆录昨天搭建新框架的时候&#xff0c;遇到一个很奇怪的“Bug”&#xff0c;每次请求都会触发两次Aciton&#xff0c;举例子吧&#xff0c;Demo&#xff1a;_Layout.cshtmlHomeControllerIndex.cshtml<h1>Hi, Im index page.</h1>最简单不过的代码&#xff0c…

CF1354F. Summoning Minions

CF1354F. Summoning Minions Solution VPVPVP结束十分钟后AC,qwqAC,qwqAC,qwq。 首先因为ai,bi≥0a_i,b_i \geq 0ai​,bi​≥0&#xff0c;所以所有东西全用一次答案不会变劣&#xff0c;留到最后的集合大小一定为kkk。 如果我们知道留到最后的集合Sx1,x2...xkS{x_1,x_2...x…

DDD战略设计相关核心概念的理解

前言本文想再讨论一下关于领域、业务、业务模型、解决方案、BC、领域模型、微服务这些概念的含义和关系。初衷是我发现现在DDD领域建模以及解决方案落地过程中&#xff0c;常常对这些概念理解不清楚或者有歧义&#xff0c;导致我们不知道如何运用这些概念来落地我们的软件。领域…

CF1037H. Security

CF1037H. Security Solution 1 设原串为ststst。 对于单个询问&#xff0c;答案必然是询问串sss的一个前缀s[1..i]s[1..i]s[1..i]加上一个大于s[i1]s[i1]s[i1]的字符ccc构成。 因此我们只需要枚举前缀s[1..i]s[1..i]s[1..i]&#xff0c;枚举字符ccc&#xff0c;快速询问s[1…

Visual Studio容器项目工程化心得

引言  关注博主的网友会看到我使用ASP.NET Core 容器化部署企业级项目的过程&#xff0c; 回想到开发过程中&#xff0c;鄙人有一些工程化心得&#xff0c; 分享给同学们。项目工程化因为本项目涉及单元测试Project、容器化部署、本地化的sqlite数据库&#xff0c;nlog日志&a…

CF1223F. Stack Exterminable Arrays

CF1223F. Stack Exterminable Arrays Solution 奇怪的套路增加了。 大概就是[l,r][l,r][l,r]能匹配完可以转化为[1,l−1][1,l-1][1,l−1]匹配后的状态和[1,r][1,r][1,r]匹配后的状态相同&#xff0c;因此hashhashhash判断即可。 Code #include <vector> #include &l…

从严治码-系统集成项目之根本

从4月份开始&#xff0c;由于备考《系统集成项目管理工程师》的原因&#xff0c;博客没有持续更新&#xff0c;在上半年考试结束之后&#xff0c;又对项目进行了一些收尾的工作。下面就这段时间的学习作一个记录和总结吧。在学习的过程中&#xff0c;提炼了一些自己认为比较重点…

CF924D. Contact ATC

CF924D. Contact ATC Solution 第一波转化挺妙的。 令tlitl_itli​表示用−w-w−w的风到原点的时间&#xff0c;tritr_itri​表示用www的风到圆点的时间。 显然(i,j)(i,j)(i,j)有解的条件为(tli−tlj)(tri−trj)<0(tl_i-tl_j)(tr_i-tr_j)<0(tli​−tlj​)(tri​−trj…