2017.9.13 不等式组 思考记录
来源:互联网 发布:地球大炮 知乎 编辑:程序博客网 时间:2024/06/05 03:58
深深感到数学差的悲哀、连分类讨论都讨论不全,而且会晕、
所以分类讨论:
分成 大于号和 小于号 两种情况讨论
如果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 4000006int 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;elseif(o>0)lin=int(o);elseif(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);}}}
阅读全文
0 0
- 2017.9.13 不等式组 思考记录
- 2017.9.13 序列统计 思考记录
- 2017.9.13 序列维护 思考记录
- 关于柯西许瓦兹不等式的一些思考
- 2017.9.4 Nim 思考记录
- 2017.9.6 礼物 思考记录
- 2017.9.6 外星人 思考记录
- 2017.9.7 骑士 思考记录
- 2017.9.9 股票交易 思考记录
- 2017.9.10 ricehub 思考记录
- 2017.9.11 海拔 思考记录
- 2017.9.14 dispatching 思考记录
- 2017.9.14 仪仗队 思考记录
- 2017.9.17 function 思考记录
- 2017.9.17 kamp 思考记录
- 2017.9.19 Gcd 思考记录
- 2017.9.20 mode 思考记录
- 2017.9.27 书架 思考记录
- 正则表达式
- 文章标题 Mayor's posters
- 字符串的全排列
- map与apply区别
- HashMap Hashtable LinkedHashMap 和TreeMap区别
- 2017.9.13 不等式组 思考记录
- android sqlite支持的数据类型
- 职场中哪些敏感问题不能问
- CSS 选择器权重计算规则
- 用Swing开发GUI程序(六)JTable
- 匿名科创地面站v4.08
- Java8的十大新特性
- unity3d 网络延时状态下 ,平滑转弯
- 微信开发 url传参数 json 导致 ios 微信分享失败苹果手机sinature签名无效的问题