深深感到数学差的悲哀、连分类讨论都讨论不全,而且会晕、

所以分类讨论:

分成 大于号和 小于号 两种情况讨论

如果a>0,一定是大于号

如果右边是大于0的小数,那一定是上取整

如果右边是大于0的整数,那一定是+1

如果右边是小于0的小数,那一定是下取整

如果右边是小于0的整数,那一定是+1

如果a<0,一定是小于号

如果右边是大于0的小数,那一定是下取整

如果右边是大于0的整数,那一定是-1

如果右边是小于0的小数,那一定是上取整

如果右边是小于0的整数,那一定是-1

上面是同级的,所以要注意避免包含的情况,

然后abc范围是1e8的只有1e6是有用的,要注意取1e6(不读题TLE好几遍)

因为没有乘法,可以用double来判断是小数还是整数

由于满足的连续性,就可以建树状数组维护前缀和,由于大于和小于的序列是不一样的,所以维护两颗树状数组

码:

#include<iostream>
#include<cstdio>
using namespace std;
#define N 4000006
int f1[N],f2[N];
int cz[N][3],a,b,c,n,cnt;
char ch[999];
int lowbit(int a)
{return (a&(-a));}
int jiady(int a,int qi)
{for(;qi<=3000001;qi+=lowbit(qi)){f1[qi]+=a;}
}
int jiaxy(int a,int qi)
{for(;qi<=3000001;qi+=lowbit(qi)){f2[qi]+=a;}
}
int xwdy(int qi)
{int ans=0;for(;qi>0;qi-=lowbit(qi)){ans+=f1[qi];}   return ans;
}
int xwxy(int qi)
{int ans=0;for(;qi>0;qi-=lowbit(qi)){ans+=f2[qi];}   return ans;
}
int main()
{ int i;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%s",ch);if(ch[0]=='A'){scanf("%d%d%d",&a,&b,&c);++cnt;cz[cnt][0]=1;     if(a==0){if(b>c){cz[cnt][1]=1;jiaxy(1,1); }else cz[cnt][0]=0;        }   if(a<0){double o=double(c-b)/double(a);int lin;if(o==int(o))lin=o-1;else if(o>0)  lin=int(o);
else    if(o<0)lin=int(o-0.99999999);
if(lin>1000000)lin=1000001;
if(lin<-1000000)lin=-1000001;cz[cnt][1]=1500001-lin;jiaxy(1,1500001-lin);          }   if(a>0){double o=double(c-b)/double(a);int lin;if(o==int(o))lin=o+1;
else    if(o>0)  lin=int(o+0.99999999);else    if(o<0)lin=int(o);
if(lin>1000000)lin=1000001;
if(lin<-1000000)lin=-1000001;cz[cnt][2]=1500001+lin;jiady(1,1500001+lin);    }   }if(ch[0]=='D'){scanf("%d",&a);if(cz[a][0]){cz[a][0]=0;if(cz[a][1]>0) {jiaxy(-1,cz[a][1]);    }if(cz[a][2]>0){jiady(-1,cz[a][2]);      }               }   }if(ch[0]=='Q'){scanf("%d",&a);int ans=0;ans+=xwxy(1500001-a);ans+=xwdy(1500001+a);printf("%d\n",ans);}}
}

2017.9.13 不等式组 思考记录相关推荐

  1. 2017.3.13 木棍分割 思考记录

    肯定是二分+dp 但只能想出n^2m dp 感觉每个数字的状态都和前面的数字和有关,但划分是灵活的,可以衍生出多种前缀和的情况. 看了题解,但是:   ..  .一脸懵逼,,代码是还pascal的.. ...

  2. 2017.10.13 硬币游戏 思考记录

    这个题用特征法可以比较好的找到思路 首先这个题有两个特征:1.正+反=反   反+正=反  正+正=正  反+反=正   应该能很快想到亦或 2.范围1e5  +  上限2^60   应该能很快想到倍 ...

  3. 2017.9.13 序列维护 思考记录

    终于不对拍1A线段树了.太不容易了 虽然这题挺裸的,省选福利,记住先乘后加的原则就可以搞了 注意位运算和取模的优先级,不要乱了,注意代码的位置问题 码(发现我的线段树非常瘦): #include< ...

  4. 2017.9.13 序列统计 思考记录

    这题.打表找规律成功的典型,分分钟找到组合数 首先列出展开表,然后找组合数: 要注意的就是连加的组合数可以加起来考虑和,不要老想着对一堆组合数找数字规律, 码: #include<iostrea ...

  5. 2017.7.13 维修数列 思考记录

    这题做了十多天..实在太难调了,而且关键是不知道哪错了.最后还是看的题解. 首先要注意在操作时up,注意在每个旋转区间的时候都有两个up,确保根节点是最新的,不然会出错 还要注意在rotate的时候和 ...

  6. 2017.3.24 分裂游戏 思考记录

    事先说明:这不是好题解,这只是思考记录 同机房的xp都学博弈了..    感觉还是学学看吧 先来看一下简单的nim: 题目: Alice和Bob放置了N堆不同的石子,编号1..N,第i堆中有A[i]个 ...

  7. 2017.10.7 括号序列 思考记录

    这个题看起来很简单,但细节比较麻烦.参考完别人的代码后才想出自己的解法的.. 一开始认为已匹配的括号是可以直接消的,所以就只维护了两个变量 但还有区间取反.. 由于和已配对的括号的顺序有关,所以不是很 ...

  8. 2017.10.24 上升序列 思考记录

    终于有会做的题了... 一开始想用正常的lis ,然后从前往后扫, 由于最优查询区间在序列上是按顺序单调递增的,所以想记录每个点取哪个值跳到哪,这样是n*m logn的 然后发现既然是单调递增的那直接 ...

  9. 2017.10.10 杀人游戏 思考记录

    这个题题目描述还是有一点问题..这里的知道关系是有传递性的.第一次理解成只会明白直接相连的,最小点覆盖  --   这样就成np了吧.. 所以就比较显然了,,对于每组能互达的强连通分量,都只需一个头上 ...

最新文章

  1. 今天俺要说一说工厂方法模式(Factory)
  2. 关于.net core http error 502.5 - process failure
  3. 牛客题霸 [子数组最大乘积] C++题解/答案
  4. Java 200+ 面试题补充 ThreadLocal 模块
  5. Centos7 安装Docker(v2021 version 20.10.5) 并通过docker-compose运行TiDB集群
  6. 【Java数据结构与算法】第十六章 图
  7. python 类 探索
  8. MySQL 入门(六)—— 索引
  9. 以WIN10 22H2为例,下载ISO、制作安装U盘的办法
  10. 牛顿迭代法的图像推导思路以及代码
  11. 用C语言实现FlappyBird
  12. Android攻城狮数据存储之SharedPreferences
  13. 计算机考试如何使用电脑上的计算器
  14. 图解:网络硬件的发展史
  15. 149. 直线上最多的点数
  16. Google 搜索引擎命令大全!
  17. Centos7 下mysql8.0的安装以及修改初始密码;
  18. 基于AMESim的列车制动测试系统ETest
  19. “就业”or“创业”,大学生毕业如何选择,校园市场是新出路?
  20. 【MATLAB教程案例91】将MATLAB程序转化为C语言

热门文章

  1. 从零开始学keras之过拟合与欠拟合
  2. spring整合atomikos实现分布式事务的方法示例_分布式事务一:基于数据库原生分布式事务方案实现...
  3. 公众号点击图片变成另一张_公众号互动内容:小众潮流or下一个风口?| 新榜观察...
  4. oracle as sydba,Oracle数据库之SQL*Plus工具使用 sqlplus / as sysdba登录
  5. python怎么接收udp报文_面试官:说说UDP和TCP的区别及应用场景
  6. windows进入mysql改user_mysql:Windows修改MySQL数据库密码(修改或忘记密码)
  7. ROS入门笔记(九):编写ROS的第一个程序hello world(重点)
  8. python 装饰器的讲解
  9. android鸿洋布局,Android基础ConstrainLayout约束布局的介绍和使用
  10. 数据库设计三大范式应用实例剖析(讲得比较清楚)