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

设计网站建设价格樟木头建网站的

设计网站建设价格,樟木头建网站的,免费开发软件的网站建设,响应式网站优点Problem - E - Codeforces 区间求和#xff0c;区间异或的操作跟线段树的区间求和、区间相见相似#xff0c;考虑用线段树。 发现数组初始值最多是1e6#xff0c;有不到25位#xff0c;可以知道异或最大值是这些位数全是1的情况。 发现可以对每一位进行运算就和。 我们开…Problem - E - Codeforces 区间求和区间异或的操作跟线段树的区间求和、区间相见相似考虑用线段树。 发现数组初始值最多是1e6有不到25位可以知道异或最大值是这些位数全是1的情况。 发现可以对每一位进行运算就和。 我们开23个线段树表示每一位的情况根据位运算求出每一位的贡献即可。 注意ans需要开LL且数组不能开大不能全用long long。 #include iostream #include vector #include string #include cstring #include set #include map #include queue #include ctime #include random #include sstream #include numeric #include stdio.h #include functional #include bitset #include algorithm using namespace std;// #define Multiple_groups_of_examples // #define int_to_long_long #define IOS std::cout.tie(0);std::cin.tie(0)-sync_with_stdio(false); // 开IOS需要保证只使用Cpp io流 * #define dbgnb(a) std::cout #a a \n; #define dbgtt cout !!!test!!! \n; #define rep(i,x,n) for(int i x; i n; i)#define all(x) (x).begin(),(x).end() #define pb push_back #define vf first #define vs secondtypedef long long LL; #ifdef int_to_long_long #define int long long #endif typedef pairint,int PII;const int INF 0x3f3f3f3f; const int N 2e5 21;// 异或 线段树板子 struct SegTree {static const int N 1e5 21;struct node {int l, r;LL sum,lz;}tr[N 2];// 左子树int w[N];inline int ls(int p) {return p1; }// 右子树inline int rs(int p) {return p1|1; }// 向上更新void pushup(int u) {tr[u].sum tr[ls(u)].sum tr[rs(u)].sum;}// 向下回溯时先进行更新void pushdown(int u) { // 懒标记该节点曾经被修改但其子节点尚未被更新。auto root tr[u], right tr[rs(u)], left tr[ls(u)];if(root.lz) {right.lz ^1; right.sum (right.r - right.l 1 - right.sum);left.lz ^ 1; left.sum (left.r - left.l 1 - left.sum);root.lz 0;}}// 建树void build(int u, int l, int r) {if(l r) tr[u] {l, r, w[r], 0};else {tr[u] {l,r}; // 容易忘int mid l r 1;build(ls(u), l, mid), build(rs(u), mid 1, r);pushup(u);}}// 修改void modify(int u, int l, int r, int d) {if(tr[u].l l tr[u].r r) {tr[u].lz ^ 1;tr[u].sum (tr[u].r - tr[u].l 1 - tr[u].sum);}else {pushdown(u);int mid tr[u].l tr[u].r 1;if(l mid) modify(ls(u), l ,r, d);if(r mid) modify(rs(u), l, r, d);pushup(u);}}// 查询LL query(int u, int l, int r) {if(tr[u].l l tr[u].r r) {return tr[u].sum;}pushdown(u);int mid tr[u].l tr[u].r 1;LL sum 0;if(l mid) sum query(ls(u), l, r);if(r mid ) sum query(rs(u), l, r);return sum;} }tree[23];void inpfile(); void solve() {int n; cinn;vectorint ad(n 1);for(int i 1; i n; i) cinad[i];for(int i 1; i n; i) {for(int j 0; j 22; j) {// ad[i] 的第j位是0还是1tree[j].w[i] (ad[i] j) 1;}}// 建树for(int i 0; i 22; i) tree[i].build(1,1,n);int q; cinq;while(q--) {int opt, x, y, v;cinoptxy;if(opt 1) {LL ans 0;// 求出每一位的贡献相加即为答案for(int i 0; i 22; i) ans (LL)tree[i].query(1,x,y) * (1 i);coutansendl;} else {cinv;for(int i 0; i 22; i) {// 每一位进行修改int t (v i) 1;if(!t) continue;tree[i].modify(1,x,y,1);}}} } #ifdef int_to_long_long signed main() #else int main() #endif{#ifdef Multiple_groups_of_examplesint T; cinT;while(T--)#endifsolve();return 0; } void inpfile() {#define mytest#ifdef mytestfreopen(ANSWER.txt, w,stdout);#endif }XOR on Segment - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) CF242E XOR on Segment 拆位线段树_牛客博客 (nowcoder.net)
http://www.hkea.cn/news/14436053/

相关文章:

  • 做网站犯法了 程序员有责任吗升级不了wordpress
  • 看网站的关键词WordPress分享无法显示
  • 虚拟主机对网站seo有哪些影响自适应网站建站价格
  • 网站营销推广策划方案不让网站在手机怎么做
  • 公司网站有什么作用wordpress商店模板
  • 在线玩网页游戏h5网站大全推广自己的网站
  • 苏州市建设局老网站qq网页版登录入口手机版
  • 深圳企业推广网站网站开发的软硬件环境
  • 基于js原生的新闻类静态网站建设注册一家小规模公司多少钱
  • 做国际贸易都用什么网站手机上如何申请营业执照
  • 网站上线方案系统的超级宗门
  • 专做婚宴用酒是网站银行软件开发工资一般多少
  • 海淀企业型网站建设网络设计网站
  • 一个完整的网站 技术制作网页填数据
  • 服务器租用网站模板网络营销培训机构排名
  • 做网站设计抬头网站改版不换域名怎么做
  • 电影网站建设哪家便宜淘宝网站品牌设计
  • 建门户网站要多少钱网站程序预装
  • 企业h5网站建设外贸公司网站模板
  • 备案网站名称修改网络营销外包服务网
  • 如何做一个属于自己的网站制作一款app软件大概需要多少费用
  • 制作一个赚钱的网站深圳做企业网站的公司推荐
  • 课程网站建设调研报告电商网站开发需要多少钱
  • 做外贸有哪些好的网站有哪些自主软件开发平台
  • 三亚制作网站上海做网站建设的公司
  • 网站开发和游戏开发游戏网站怎么做推广
  • 做网站主要用哪种语言西青房地产网站建设
  • 网页设计与网站建设指标点今天北京感染了多少人
  • 肥城网站建设做教育网站宣传策略
  • 合肥道路建设从哪个网站可以看到建设厅网站初始数据入库