2019 计蒜之道 第五场 A(set的应用)
时间:2019-06-12
本文章向大家介绍2019 计蒜之道 第五场 A(set的应用),主要包括2019 计蒜之道 第五场 A(set的应用)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目:https://nanti.jisuanke.com/t/39451
用set可以很好地解决这道题
#include<bits/stdc++.h> using namespace std; typedef long long LL; set<LL>se; LL quick(LL a,LL b) { LL res=1; while(b) { if(b&1)res=res*a; b>>=1; a=a*a; } return res; } int main() { LL m,k,q; cin>>m>>k>>q; LL a,b; if(m==1) { while(q--) { scanf("%lld%lld",&a,&b); if(a==1)se.insert(b); else se.erase(se.find(b)); if(se.empty())printf("%lld\n",k); else printf("%lld\n",*se.begin()); } } else { LL sum=quick(2,k)-1; while(q--) { LL ans=sum; scanf("%lld%lld",&a,&b); if(a==1)se.insert(b); else se.erase(se.find(b)); set<LL>::iterator it; for(it=se.begin();it!=se.end();it++) { int flag=0; LL temp=*it; if(temp==0) { ans=0;break; } while(temp)//查看其祖先是否已删除,即是否在set里面 { if(se.find(temp)!=se.end()&&se.find(temp)!=it) { flag=1;break; } temp=(temp-1)/2;//(temp+1)/2-1 } if(!flag)ans-=(quick(2,k-(int)log2(*it+1))-1); } printf("%lld\n",ans); } } return 0; }
原文地址:https://www.cnblogs.com/HooYing/p/11010167.html
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]
- 《Enterprise Library深入解析与灵活应用》博文系列汇总
- 使命必达: 深入剖析WCF的可靠会话[概念篇]
- AngularJS in Action读书笔记2——view和controller的那些事儿
- WCF技术剖析之二十一:WCF基本异常处理模式[中篇]
- 小程序上线“小游戏”,正式引爆3.0社交红利
- 漫谈人工智能机器翻译的前世今生
- 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现
- 区块链将变革的五个行业
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[上篇]
- AngularJS in Action读书笔记3——走近Services
- 有了这些无人驾驶的汽车,未来还需要考驾照吗?
- 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现
- AngularJS in Action读书笔记4(实战篇)——创建Statistic模块
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法