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

CF2078F Binary Subsequence Value Sum - Link

\(1\) 的权值设为 \(1\),\(0\)的权值设为 \(-1\)。则一个子序列的分数为祂里面所有数的权值和除以 \(4\) 下取整。
把下取整去掉,变成 \(\frac{S_T^2-S_T\mod2}{4}\)\(\frac{S_T^2-\lvert T\rvert\mod2}{4}\)
整个序列的分数为 \(\frac{\sum_T S_T^2-2^{n-1}}{4}\)
考虑求 \(\sum_T S_T^2\)
把平方展开 \(\sum_T(\lvert T\rvert+2\times\sum_{x,y\in T\cap x<y}val_x\times val_y)\)\(n\times 2^{n-1}+2\times2^{n-2}\times\sum_{x<y}val_x\times val_y\)
\(\sum_{x<y}val_x\times val_y=\frac{(\sum val_x)^2-\sum val_x^2}{2}=\frac{(\sum val_x)^2-n}{2}\)
所以答案为
\(\frac{\frac{(\sum val_x)^2-n}{2}\times2^{n-2}+2\times2^{n-1}-s^{n-1}}{4}\)\(\frac{2^{n-2}\times((\sum val_x)^2+n)-2^{n-1}}{4}\)
对于每个修改,维护 \((\sum val_x)^2\) 即可

代码

#include<bits/stdc++.h>
using namespace std;
namespace IO{template<typename T>inline void read(T&x){x=0;char c=getchar();bool f=0;while(!isdigit(c)) c=='-'?f=1:0,c=getchar();while(isdigit(c)) x=x*10+c-'0',c=getchar();f?x=-x:0;}template<typename T>inline void write(T x){if(x==0){putchar('0');return ;}x<0?x=-x,putchar('-'):0;short st[50],top=0;while(x) st[++top]=x%10,x/=10;while(top) putchar(st[top--]+'0');}inline void read(char&c){c=getchar();while(isspace(c)) c=getchar();}inline void write(char c){putchar(c);}inline void read(string&s){s.clear();char c;read(c);while(!isspace(c)&&~c) s+=c,c=getchar();}inline void write(string s){for(int i=0,len=s.size();i<len;i++) putchar(s[i]);}template<typename T>inline void write(T*x){while(*x) putchar(*(x++));}template<typename T,typename...T2> inline void read(T&x,T2&...y){read(x),read(y...);}template<typename T,typename...T2> inline void write(const T x,const T2...y){write(x),putchar(' '),write(y...),sizeof...(y)==1?putchar('\n'):0;}
}using namespace IO;
#define int long long
const int mod=998244353;
int n,q;
string s;
int ksm(int a,int b){int ans=1;b=(b+mod-1)%(mod-1);while(b){if(b&1) ans=ans*a%mod;a=a*a%mod;b>>=1;}return ans;
}
void solve(){read(n,q,s);int sum=0;for(int i:s) if(i=='0') sum--;else sum++;for(int i=1;i<=q;i++){int w;read(w);if(s[w-1]=='0') sum+=2,s[w-1]='1';else sum-=2,s[w-1]='0';write((ksm(2,n-2)*(sum*sum%mod+n)%mod-ksm(2,n-1)+mod)%mod*ksm(4,mod-2)%mod);write('\n');}
}
signed main(){int T;read(T);while(T--) solve();return 0;
}
http://www.jsqmd.com/news/134964/

相关文章:

  • 家叶海外:以20年全球资产配置实践,重新定义购房移民的价值内核 - 速递信息
  • 我是如何把应用上线时间,从1天缩短到3分钟的?
  • C#学习路径与应用领域全方位指南
  • git 操作
  • 2025 年终母线桥源头老牌厂家推荐:母线 / 母线槽全品类产品资讯速递 - 深度智识库
  • 2025 年 12 月搪瓷反应釜厂家权威推荐榜:耐腐耐压与工艺精度的匠心之选 - 品牌企业推荐师(官方)
  • 9个AI论文软件推荐,研究生轻松搞定毕业论文!
  • 2025 年 12 月热流道系统厂家权威推荐榜:塑胶模具热流道系统,温控精准、高效节能的工业智造核心方案深度解析 - 品牌企业推荐师(官方)
  • 2025个人总结
  • 数据库智能诊断的4个核心,10分钟定位80%故障
  • 大模型赋能制造业:8D Agent实战开发指南,让你的代码“挖出“企业隐藏利润!
  • 2025权威榜单:广州地区留学中介综合实力TOP10揭晓 - 留学品牌推荐官
  • 腾讯企业邮箱销售电话直达,专业团队为您定制安全高效办公方案 - 品牌2026
  • 为什么你的Open-AutoGLM跑不动?揭开模型加载失败背后的性能真相
  • 性价比高的硬核隔音隔热门窗品牌推荐实用品牌
  • 出厂前一次性授权
  • 2025权威测评!上海留学中介实测推荐5家优质机构 - 留学品牌推荐官
  • 大模型程序员必备!PaddleOCR-VL文档解析全攻略:从入门到实战,RAG应用不再愁
  • 2025年商业街集装箱订制厂家权威推荐榜单:创意集装箱/集装箱太空舱/外贸集装箱源头厂家精选 - 品牌推荐官
  • NMN 哪个牌子好?2025权威排名出炉:抗衰效果 + 成分透明度双维度对比 - 速递信息
  • 雅思封闭班怎么选?2025高口碑机构实测与避坑指南 - 品牌测评鉴赏家
  • 江苏比较好的港澳台联考学校推荐
  • 国内钙钛矿光伏创新型研发生产企业实力榜推荐加全维度解析(2025年12月更新) - 深度智识库
  • 2025年风光储氢沙盘模型厂家权威推荐榜单:能源环保模型/光伏风电能源沙盘/环保设备模型源头厂家精选 - 品牌推荐官
  • 雅思培训班怎么选?5大热门机构深度测评与避坑指南(2025最新版) - 品牌测评鉴赏家
  • Open-AutoGLM下载失败?90%人都忽略的3个核心问题,现在解决还来得及
  • 口碑好的硬核隔音隔热门窗品牌推荐低端品牌
  • 【质普Open-AutoGLM性能评测】:对比AutoGluon、H2O.ai,谁才是国产AutoML之光?
  • CAXA3D 实体设计 2025:建模・装配・出图,下载安装一套软件全搞定
  • 樱花燃气灶操作方便吗?细节设计诠释真正的人性化烹饪体验 - 速递信息