摘要: 保留有价值的数字的做法,实际上这道题因为n只有1e5,所以不需要这种优化。 阅读全文
posted @ 2017-04-18 14:49 GeniusYang 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 读入可以不需要存入数组 阅读全文
posted @ 2017-04-17 21:22 GeniusYang 阅读(261) 评论(0) 推荐(0) 编辑
摘要: #include #define inf 0x3f3f3f3f const int maxn=5000; using namespace std; int n; struct rook{ int x1,y1; int x2,y2; int id; int resx,resy; int size(){ ... 阅读全文
posted @ 2017-04-11 19:52 GeniusYang 阅读(255) 评论(0) 推荐(1) 编辑
摘要: 在题中的A*B*C的矩形中,当确定X1,X2,Y1,Y2时,1->z的子矩形的和为 sum[x2][y2][1] -(sum[x1-1][y2][1] + sum[x2][y1-1][1] -sum[x1-1][y1-1][1] + sum[x2][y2][z+1] - sum[x1-1][y2][ 阅读全文
posted @ 2017-04-09 16:57 GeniusYang 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 http://blog.csdn.net/ruoruo_cheng/article/details/53100656 恢复内容结束 阅读全文
posted @ 2017-04-02 17:53 GeniusYang 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Java的泛型中,通配符可以设置上限和下限。 上限:<? extends T> ?是T和T的子类 下限:<? super T> ?是T和T的父类 怎么看待这个上限和下限呢 首先应该想 其实对于Java来说 <? extends T> <? super T> 是两个确定的类型,因为它不可能由你的赋值完 阅读全文
posted @ 2017-03-18 22:42 GeniusYang 阅读(4565) 评论(1) 推荐(5) 编辑
摘要: 如果这题只传到儿子不继续向下就是裸的dfs序+线段树,继续往下传的还改变正负号,我们可以根据它的层数来确定正负号 1 #include<bits/stdc++.h> 2 3 #define inf 0x3f3f3f3f 4 5 #define lson (id<<1) 6 7 #define rso 阅读全文
posted @ 2016-11-10 10:36 GeniusYang 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 分成K个块,每个块内部dfs解决,然后用树状数组统计第i个元素前面有多少怪物已经消失,来计算当前的下标 1 #include<bits/stdc++.h> 2 3 #define inf 0x3f3f3f3f 4 5 const int maxn=1000; 6 7 using namespace 阅读全文
posted @ 2016-11-01 08:34 GeniusYang 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 当题目是区间求和或者其他区间询问时,如果询问是离线的,而且询问涉及 l-r内有多少个不同的xxx。这个xxx可以是不同的数 不同的gcd 不同的异或和 等等 这时候我们可以把询问按右端点排序,然后把a[i]的出现永远存在靠右的一边 当i==q.r的时候 求答案 有三道例题 hdu3333 1 Pro 阅读全文
posted @ 2016-10-25 14:29 GeniusYang 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1-1e9的数据范围 但有1e5个区间 所以可以考虑把没有涉及到的区间缩成一个点 然后树状数组求逆序对 1 #include<bits/stdc++.h> 2 3 #define inf 0x3f3f3f3f 4 5 const int maxn=1000000; 6 7 using namespa 阅读全文
posted @ 2016-10-22 20:14 GeniusYang 阅读(158) 评论(0) 推荐(0) 编辑