
ACM_summery
文章平均质量分 62
逍遥丶綦
这个作者很懒,什么都没留下…
展开
-
Codeblocks自动代码格式化
在代码框里点右键,按Format use Astyle就会自动代码格式化了但是它默认的风格是大括号另起一行,很不习惯,实际上是可以改的1.Setting->Editor->Source Formatter->style->Bracket style 修改成Java2.Setting->Editor->Source Formatter->Formatting->Insert sp原创 2015-07-17 21:40:49 · 31250 阅读 · 6 评论 -
斜率优化应选择凸包哪部分
如果最后的表达式中,得到k>sk>s,k表示斜率,s为某个数 那么我们就维护上凸包。 从左往右的上凸包struct Point { LL x, y; Point() {} Point(LL _x, LL _y) { x = _x; y = _y; } Point operator-(const Point &P)const {原创 2016-08-18 08:36:39 · 1135 阅读 · 0 评论 -
利用STL二分查找范围
设要查询的数组为A,A有n个元素,且递增排列int p=lower_bound(A,A+n,x)-A;//查询>=x的第一个下标int p=upper_bound(A,A+n,x)-A;//查询>x的第一个下标int p=upper_bound(A,A+n,x)-A-1;//查询<=x的最后一个下标int p=lower_bound(A,A+n,x)-A-1;//查询<x的最后一原创 2015-06-13 13:50:19 · 753 阅读 · 2 评论 -
排列组合 "n个球放入m个盒子m"问题 总结
求,盒子都可以分成是否不能区分,和能区分,还能分成是否能有空箱子,所以一共是8种情况,我们现在来一一讨论。1.球同,盒不同,无空箱C(n-1,m-1), n>=m0, n使用插板法:n个球中间有n-1个间隙,现在要分成m个盒子,而且不能有空箱子,所以只要在n-1个间隙选出m-1个间隙即可2.球同,盒不同,允许空箱C(n+m-1,m-1)我们在原创 2016-02-12 15:11:17 · 61493 阅读 · 17 评论 -
分块+二分维护,求区间内数字出现的次数
如题,把区间分块,对每个块里的数字排序,然后在块里二分查找,复杂度理论是O(n^1.5*logn)csy菊苣说把块的大小调整为n*log2(n),复杂度可以降到O(n*sqrt(n*logn))然后我写了组大随机数据测试了一下,如果分块大小是sqrt(n)用了7.6s,分块大小是n*log2(n)时只用了3.6s!!效率提升了非常多倍,感觉又是黑科技的节奏,收藏了const int原创 2015-11-27 11:18:26 · 2737 阅读 · 1 评论 -
acm2015北京区域赛游记
一只完全由大二组成的队伍第一次参加区域赛,最后压铜尾,这可能是上大学后做过最刺激的事情了。。不像许多其他的大神,,接触算法时间太晚了,都是大一才开始学C语言,跟大部分oi大爷比起来差太远了→_→→_→当时比赛的时候后面就坐着3个清华的大一,然后全场第二,只能说现在的自己还太弱开始比赛后一开始看题,,看了好久都没看出哪个是水题,后来第8分钟有队伍出了G,我才去看G题。。结果英原创 2015-11-20 01:47:45 · 1697 阅读 · 0 评论 -
如何开始acm之旅以及需要注意的事项
ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(ACM-ICPC或ICPC)是由美国计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。赛事目前由IBM公司原创 2015-09-18 19:32:23 · 6843 阅读 · 1 评论 -
acm使用gets()需要注意的问题
有没有这样的经历,用gets会稀里糊涂的wa, 但是用scanf又对了 windows的换行符是\r\n,linux的换行符只有\n,在windows系统下用gets会吞掉每一行最后面的\r\n,但是linux下用gets只会吞掉最后一个\n 那么问题来了,如果数据是在windows环境下构造的,换行符用的是\r\n,但是服务器是linux,管理员直接把windows下生成的数据没经原创 2015-09-09 21:21:05 · 4824 阅读 · 1 评论 -
如何用取尺法处理连续区间内数字相同
经常会遇到类似下面这种问题:给你n个数,由0和1组成,问1或者0的最大连续长度是多少110001101的最大连续长度就是中间3个连续的0,所以是3这里稍微总结出了一个取尺法,以后遇到这样的题目就不需要再思考太多细节了int L, R = 1, ans = 0;for(L = 1; L <= n; L = R + 1) { for(R = L; R + 1 <= n原创 2015-08-15 10:47:10 · 1954 阅读 · 0 评论