codeforces 714C解题报告
http://codeforces.com/contest/714/problem/C
#include <bits/stdc++.h>//非递归形式建立字典树
using namespace std;
#define ll long long
#define dd double
#define co(x) cout << (x) << endl
#define ci(x) cin >> (x)
#define sd(x) scanf("%d",&x)
#define sl(x) scanf("%lld",&x)
#define sf(x) scanf("%lf",&x)
#define gcd(x,y) __gcd(x,y)
#define fo(i,j,k) for(int (i) = (j); (i) < (k); (i)++)
#define en cout << endl;
#define Inf 2147483645
#define Maxn 100100
ll Node[Maxn*][];//存图
ll Nodesum[Maxn];//存那个节点有多少个满足条件的值
;//num是节点序号
void Build(char c,ll k){//思路是把所有满足条件的都情况都在建图的时候放在图中
// 例如 +1101 先放1(就把满足+1的值放图中),然后放0,就把满足+10的条件放在图中,类推
// 就是字典树的套路,自己理解一下
;
; i < ; i++){
;//取最后一位,不满20位就补0,直到满20位,
// (题目数据给的是10^18,最多18位,这里用20)
if( !Node[s][a] ){
Node[s][a] = num++;//如果改节点没有建立,就给该节点
// 建立(即给该节点赋值,第num个节点)
}
if(c == '+'){
Nodesum[Node[s][a]]++;
}else{
Nodesum[Node[s][a]]--;
}
s = Node[s][a];
k /= ;
}
}
int query(ll x){
;
; i < ; i++){
;
){
;
}
s = Node[s][a];
x /= ;
}
return Nodesum[s];
}
int main(){
ios::sync_with_stdio(false);
cin.tie(),cout.tie();
int N;
cin >> N;
ll k;
char c;
; i < N; i++){
cin >> c >> k;
if( c != '?' ){
Build(c,k);
}else{
cout << query(k) << endl;
}
}
;
}
codeforces 714C解题报告的更多相关文章
- Codeforces 524 解题报告
打的很快乐的一次比赛hiahiahia, 才A掉4题rating就涨了100+ 距离比赛\(3\)天了, 由于博主实在太颓, 又补掉了\(E\)题, 到现在才发解题报告 A. 语法题, 读入输出就行了 ...
- codeforces#254DIV2解题报告
今天简直大爆发啊... 吃了顿烧烤竟然这么管事. . . .. 本弱渣竟然做出来了3道,并且B题是我第一次在CF中用到算法..(曾经最多也就是贪心. . . ). 题目地址:codeforces#22 ...
- Codeforces 652F 解题报告
题意 有n只蚂蚁在长度为m个格子的环上,环上的格子以逆时针编号,每只蚂蚁每秒往它面向的方向移动一格.如果有两只蚂蚁相撞则相互调换方向,问t秒后每只蚂蚁的位置. 题解 首先通过观察可以发现 蚂蚁相撞产生 ...
- codeforces 476C.Dreamoon and Sums 解题报告
题目链接:http://codeforces.com/problemset/problem/476/C 题目意思:给出两个数:a 和 b,要求算出 (x/b) / (x%b) == k,其中 k 的取 ...
- Codeforces Round #378 (Div. 2) D题(data structure)解题报告
题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...
- Codeforces Round 665 赛后解题报告(暂A-D)
Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...
- Codeforces Round 662 赛后解题报告(A-E2)
Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...
- Codeforces Educational Round 92 赛后解题报告(A-G)
Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20m ...
- Codeforces Round #382 (Div. 2) 解题报告
CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...
随机推荐
- yii2源码学习笔记(十九)
view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...
- 全面理解.htaccess语法中RewriteCond和RewriteRule意义
RewriteCond的语法 RewriteCond TestString CondPattern [Flags]其中的TestString是指一个文本格式的条件,例子中用的是环境变量名HTTP_HO ...
- JBPM4 常用表结构及其说明
本文从表结构.操作时表的变化以及jbpm4.4各个包的作用来介绍jbpm的. 第一部分:表结构说明 Jbpm4 共有18张表,如下,其中红色的表为经常使用的表 一:资源库与运行时表结构 1. J ...
- QTcpsocket 实现FTP
http://blog.163.com/modingfa_002/blog/static/1109254662013111510358109/ http://baike.baidu.com/link? ...
- Boost.Build 简明教程
Boost.Build 简明教程 目录1. 介绍2. 构建过程3. 基本任务4. 项目管理5. 最佳实践6. 规则参考7. 特征参考 介绍 编译器和平台无关编译系统Boost.Build是一个高级编译 ...
- RESTheart安装与设置
作者:Maurizio Turatti, 最后在Feb 25, 2016时被 Andrea Di Cesare更新 安装与设置 1. 快速开始 Docker Vagrant Bare metal 2. ...
- html 各个标签初始化
html,body,div,ul,li,ol,h1,h2,h3,h4,h5,h6,span,input{ margin:0;padding:0;}body{font:12px/1.5em " ...
- ANDROID_MARS学习笔记_S04_007_从服务器获取微博数据时间线
一.代码 1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"?> < ...
- QQ协议的TEA加解密算法
QQ通讯协议里的加解密算法. #include <stdio.h> #include <stdlib.h> #include <memory.h> #include ...
- Listview 异步加载图片之优化篇(有图有码有解释)
在APP应用中,listview的异步加载图片方式能够带来很好的用户体验,同时也是考量程序性能的一个重要指标.关于listview的异步加载,网上其实很多示例了,中心思想都差不多,不过很多版本或是有b ...