当前位置: 首页 > news >正文

好题集 (3) - LG P2122 还教室

题目传送门。

(多倍经验:P1471,P10511,P5142)

首先做查询。平均数好做,考虑方差怎么搞。大力推柿子:

\[\begin{align*} s^2&=\frac{\sum\limits_{i=1}^n(x_i-\overline{x})^2}{n}\\ &=\frac{\sum\limits_{i=1}^n(x_i^2-2x_i+\overline{x}^2)}{n}\\ &=\frac{(n\overline{x}^2)+(\sum\limits_{i=1}^nx_i^2)-2\overline{x}\cdot(\sum\limits_{i=1}^nx_i)}{n}\\ &=\frac{\overline{x}(n\overline{x}-2\cdot\sum\limits_{i=1}^nx_i)+(\sum\limits_{i=1}^nx_i^2)}{n}\\ &=\frac{(\sum\limits_{i=1}^nx_i^2)-\overline{x}\cdot(\sum\limits_{i=1}^nx_i)}{n}\\ &=\frac{(\sum\limits_{i=1}^nx_i^2)-\frac{(\sum\limits_{i=1}^nx_i)^2}{n}}{n}\\ &=\frac{n\cdot(\sum\limits_{i=1}^nx_i^2)-(\sum\limits_{i=1}^nx_i)^2}{n} \end{align*} \]

这样就容易维护了。接下来考虑区间加时怎么更新整块的平方和,依旧推柿子:

\[\begin{align*} \sum\limits_{i=1}^n(x_i+v)^2&=\sum\limits_{i=1}^n(x_i^2-2x_iv+v^2)\\ &=(\sum\limits_{i=1}^nx_i^2)+2v\cdot(\sum\limits_{i=1}^nx_i)+nv^2 \end{align*} \]

然后分个块就可以做了。代码:

#include<iostream>
#include<cmath>
#define ll long long
using namespace std;const int N=1e5+5;
const int M=320;int n,m;ll a[N];namespace OIfast{#define gc getchar()inline unsigned read(){unsigned n=0;char c=gc;while(!isdigit(c))c=gc;while(isdigit(c))n=(n<<3)+(n<<1)+(c^48),c=gc;return n;}}using namespace OIfast;namespace Math{inline ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}inline ll pf(ll x){return x*x;}}using namespace Math;namespace FK{int k,tot;short loc[N];int L[M],R[M];ll s[M],ss[M],la[M];inline void pushdown(int i){for(int j=L[i];j<=R[i];++j)a[j]+=la[i];return la[i]=0,void();}inline void pushup(int i){s[i]=ss[i]=0;for(int j=L[i];j<=R[i];++j)s[i]+=a[j],ss[i]+=pf(a[j]);return ;}inline void init(){k=sqrt(n),tot=ceil((1.0*n)/(1.0*k));for(int i=1;i<=tot;++i){L[i]=(i-1)*k+1,R[i]=min(n,L[i]+k-1);for(int j=L[i];j<=R[i];++j)loc[j]=i;pushup(i);}return ;}inline void upd(int l,int r,ll v){if(loc[l]==loc[r]){pushdown(loc[l]);for(int i=l;i<=r;++i)a[i]+=v;pushup(loc[l]);}else{pushdown(loc[l]);for(int i=l;i<=R[loc[l]];++i)a[i]+=v;pushup(loc[l]);pushdown(loc[r]);for(int i=L[loc[r]];i<=r;++i)a[i]+=v;pushup(loc[r]);for(int i=loc[l]+1;i<=loc[r]-1;++i)la[i]+=v,ss[i]+=2*v*s[i]+(R[i]-L[i]+1)*pf(v),s[i]+=(R[i]-L[i]+1)*v;}return ;}inline ll qry_s(int l,int r){ll res=0;if(loc[l]==loc[r]){pushdown(loc[l]);for(int i=l;i<=r;++i)res+=a[i];pushup(loc[l]);}else{pushdown(loc[l]);for(int i=l;i<=R[loc[l]];++i)res+=a[i];pushup(loc[l]);pushdown(loc[r]);for(int i=L[loc[r]];i<=r;++i)res+=a[i];pushup(loc[r]);for(int i=loc[l]+1;i<=loc[r]-1;++i)res+=s[i];}return res;}inline ll qry_ss(int l,int r){ll res=0;if(loc[l]==loc[r]){pushdown(loc[l]);for(int i=l;i<=r;++i)res+=pf(a[i]);pushup(loc[l]);}else{pushdown(loc[l]);for(int i=l;i<=R[loc[l]];++i)res+=pf(a[i]);pushup(loc[l]);pushdown(loc[r]);for(int i=L[loc[r]];i<=r;++i)res+=pf(a[i]);pushup(loc[r]);for(int i=loc[l]+1;i<=loc[r]-1;++i)res+=ss[i];}return res;}#define pii pair<ll,ll>#define mp make_pair#define fir first#define sec secondinline pii dx(int l,int r){ll a=qry_s(l,r),b=r-l+1;if(!a)return mp(0,1);ll g=gcd(a,b);return mp(a/g,b/g);}inline pii fc(int l,int r){ll a=(r-l+1)*qry_ss(l,r)-pf(qry_s(l,r)),b=pf(r-l+1);if(!a)return mp(0,1);ll g=gcd(a,b);return mp(a/g,b/g);}}using namespace FK;inline void work(){int op=read(),l=read(),r=read();if(1==2)puts("wow");else if(op==1){ll d=read();upd(l,r,d);}else if(op==2){pii tmp=dx(l,r);printf("%lld/%lld\n",tmp.fir,tmp.sec);}else if(op==3){pii tmp=fc(l,r);printf("%lld/%lld\n",tmp.fir,tmp.sec);}return ;
}signed main(){n=read(),m=read();for(int i=1;i<=n;++i)a[i]=read();init();while(m--)work();return 0;
}

提交记录。

http://www.rkmt.cn/news/49768.html

相关文章:

  • python3如何切换路径
  • 2025-11-14 早报新闻
  • 在 CSharp 中调用 Wolfram Language (Mathematica)
  • oracle 11g r2 linux
  • Kafka协调器:消费者组管理与重平衡机制 - 指南
  • 2025山东公考面试/笔试/考试/辅导培训五星推荐榜:三家优质机构精准适配备考需求,助力高效上岸
  • 2025智能科技/医疗设备/信息科技/新中式茶饮/科创/平面/东方美学/品牌设计/品牌logo设计/品牌VI设计领域优质公司排行榜:聚焦全案创意与视觉赋能,3 家机构助力品牌高效破圈
  • 2025防火/模压/瓦楞/大跨距/热镀锌/热浸锌/不锈钢/光伏/铝合金/锌铝镁电缆桥架优选榜:河北百著全系列防护覆盖 三家实力厂家凭场景优势突围
  • 2025修护/二硫化硒去屑/香氛/控油蓬松/洗发水品牌推荐榜:精准护养新选择,MASIL玛丝兰领衔解决头屑、扁塌等护发难题
  • antd 上传文件组件在表单回显时不显示下载按钮
  • 2025滚齿机优质厂家推荐榜:济南兴宇数控五星领跑,三大厂商凭技术与适配性成行业标杆
  • 2025年芝麻白/芝麻灰/火烧面/亚光面/花岗岩/路岩石优质厂家优选榜:聚焦专业品质,助力工程建设
  • 2025泰安软件开发公司推荐榜:软件开发公司/软件公司/泰安软件公司技术实力助力企业数字化转型
  • 实验室纯水设备厂家调研,梳理主流厂商与区域优势
  • JAVA连接SFTP服务器报错:cn.hutool.extra.ssh.JschRuntimeException: JSchException: Packet corrupt
  • 企业级管理系统的站内信怎么轻量级优雅实现
  • 长连接和短连接
  • 洛谷题单指南-组合数学与计数-P1287 盒子与球
  • 2025 年最新推荐铝板厂家排行榜,涵盖 5052/6061/7075 铝板及纯铝板/高纯铝板优质供应商精选
  • 2025 年 11 月铝合金门窗厂家推荐排行榜,断桥门窗,系统门窗,金属门窗,阳台门窗,平开推拉折叠门窗公司精选
  • 2025 年 11 月电动调节阀厂家推荐排行榜,西门子/霍尼韦尔/鲁泽节能,比例阀/蒸汽温控阀/二通阀/阀执行器公司精选
  • P9902 『PG2』模拟最大流 题解
  • 弧焊工业机械手混合气体实用方法
  • XXL-JOB从入门到进阶——架构架构、核心原理
  • 2025年自动挤出机订做厂家权威推荐榜单:挤出造粒机/实验室挤出机/双螺杆挤出机源头厂家精选
  • POSTROUTING 数据包离开前,路由之后 SNAT(源地址转换),源地址转换出去前
  • 使用ollama本地部署Embedding模型bge-large-zh-v1.5 - yi
  • LLM应用剖析: 舆情分析多智能体-微舆BettaFish
  • 2025年CHRO战略指南发布,头部厂商易路提供“三位一体”数智化落地路径
  • 化工产线再升级,稳定互联profinet转devicenet网关连接技术研究