题目链接

题意:

前去洛谷自行观看吧链接放上了:https://www.luogu.com.cn/problem/CF1535D

分析:

正向并不能看出来什么,反向的话就是构成了一颗线段树,直接维护这棵树的顶端既是结果.

ll n,m,ans[maxn];
char str[maxn],s[maxn];
void build(ll num,ll l,ll r){if(l==r){ans[num]=1;return ;}ll mid=(l+r)/2;build(num*2,l,mid);build(num*2+1,mid+1,r);if(s[num]=='0') ans[num]=ans[num*2+1];else if(s[num]=='1') ans[num]=ans[num*2];else if(s[num]=='?') ans[num] = ans[num*2]+ans[num*2+1];
}
void solve()
{   scanf("%lld%s",&n,str+1);ll len=(1<<n);for(int i=1;i<len;i++){s[i]=str[len-i];}build(1,1,len);scanf("%lld",&m);for(int i=1;i<=m;i++){ll x;char ch[3];//cin>>x>>ch;scanf("%lld%s",&x,ch+1);x=len-x;s[x]=ch[1];while(x){if(s[x]=='0') ans[x]=ans[x*2+1];else if(s[x]=='1') ans[x]=ans[x*2];else ans[x]=ans[x*2]+ans[x*2+1];x=x/2;}cout<<ans[1]<<endl;}}

CF1535D. Playoff Tournament(线段树维护)相关推荐

  1. [动态dp]线段树维护转移矩阵

    背景:czy上课讲了新知识,从未见到过,总结一下. 所谓动态dp,是在动态规划的基础上,需要维护一些修改操作的算法. 这类题目分为如下三个步骤:(都是对于常系数齐次递推问题) 1先不考虑修改,不考虑区 ...

  2. Codeforces Round #742 (Div. 2) E. Non-Decreasing Dilemma (线段树维护区间连续问题)

    题意: 操作1:把x位置的数字修改成y. 操作2:查询[l,r]之间不下降序列的个数. 题解: 线段树维护区间和问题 (这是套路,想不到只能说做题少别打我) . 用五个变量进行维护. sum区间总个数 ...

  3. [SDOI2011]染色 (线段树维护子段问题+树剖)

    题意: 给定一棵 n 个节点的无根树,共有 m 个操作,操作分为两种: 1.将节点 a 到节点 b 的路径上的所有点(包括 a 和 b)都染成颜色 c. 2.询问节点 a 到节点 b 的路径上的颜色段 ...

  4. Can you answer these queries III (线段树维护最大子段和)

    题意: 求一个区间的最大连续和. 0:表示把A[x]改成y 1:表示求[x,y]这个区间的最大连续和. 题解: 线段树维护四个变量. 倒着讲,先来看如何维护这四个变量. summax代表这个区间连续最 ...

  5. 线段树 ---- D. Power Tree(离线dfs序+线段树维护树上多条路径和的技巧)

    题目链接 题目大意: 一开始给你只有一个点111的树,有qqq次询问.每次询问有两种操作 1pv1\;p\;v1pv 就是把最小的没加入的点,加入这个树,它的父亲是ppp,权值是vvv 2u2\;u2 ...

  6. 【uoj#164】[清华集训2015]V 线段树维护历史最值

    题目描述 给你一个长度为 $n$ 的序列,支持五种操作: $1\ l\ r\ x$ :将 $[l,r]$ 内的数加上 $x$ : $2\ l\ r\ x$ :将 $[l,r]$ 内的数减去 $x$ , ...

  7. Codeforces Round #343 (Div. 2) D. Babaei and Birthday Cake 线段树维护dp

    D. Babaei and Birthday Cake 题目连接: http://www.codeforces.com/contest/629/problem/D Description As you ...

  8. CodeForces - 1252K Addition Robot(线段树维护矩阵)

    题目链接:点击查看 题目大意:给出一个只由 A 和 B 组成的字符串 s ,需要完成 m 次操作,每次操作分为两种类型: 1 l r :将 [ l , r ] 内的字符串 A 变成 B,B 变成 A ...

  9. Can you answer these queries V SPOJ - GSS5 (分类讨论+线段树维护区间最大子段和)

    recursion有一个整数序列a[n].现在recursion有m次询问,每次她想知道Max { A[i]+A[i+1]+...+A[j] ; x1 <= i <= y1 , x2 &l ...

最新文章

  1. 迁移学习简介(transfer learning)
  2. elastic job review
  3. HDU 4888 Redraw Beautiful Drawings(网络流求矩阵的解)
  4. hyperledge工具-cryptogen
  5. 替换ubuntu 源
  6. UA MATH567 高维统计专题1 稀疏信号及其恢复5 LASSO的估计误差
  7. 面试官:不使用synchronized和lock,如何实现一个线程安全的单例?
  8. 0118互联网新闻 | 抖音成央视春晚独家社交媒体传播平台;石墨任务清单小程序上线...
  9. Linux shell 条件判断if
  10. Oracle 欲放手 Java EE,谁能成为继任者?
  11. 使用正确的垃圾收集器将Java内存使用量降至最低
  12. Linux进程通信的四种方式——共享内存、信号量、无名管道、消息队列|实验、代码、分析、总结
  13. cacti安装和配置 技术交流群:146510248
  14. [转]cscope在windows下使用mingw编译的方法
  15. SCI论文降重技巧盘点 - 易智编译EaseEditing
  16. js绘制3D正多面体(正六面体,正四面体,正八面体,正十二面体,正二十面体)
  17. Android在一个app中启动其他app中的service或者Activity
  18. cgroup v2介绍及测试
  19. 解决 /usr/bin/ld:cannot find -lxxx 问题
  20. python安装需要什么电脑配置_自学python用什么配置电脑?

热门文章

  1. UVA10480:Sabotage(最小割+输出)
  2. 蒟蒻的python 学习笔记 ——北京理工大学嵩天mooc(有时间就看就更新,尽量让笔记容易懂,蟹蟹各位大神不吝赐教)
  3. 抗日名将孙元良在台去世 粉碎日军三月亡华迷梦
  4. android麦克风录音权限设置,小米9 SE怎么设置麦克风权限 小米9 SE打开录音权限的设置方法...
  5. 集群、分布式、负载均衡
  6. FTP连接不上的解决方法
  7. 认识3d max 透视图
  8. 非酋用计算机弹唱,·181· 《非酋》弹唱谱
  9. quic java_QUIC 协议网络库
  10. php获取中国银行汇率,优化C# WinForm从中国银行网站抓取汇率表