acm

ACM训练周末总结—9月3日

荒凉一梦 提交于 2019-12-01 03:43:15
一周很快就结束了, 虽然还算有点收获,但实在没法和暑假时候比。 线段树现阶段理解:其实线段树比树状数组还要简单,无非就是一棵二叉树,它主要可以把一组数据按照二分的方式存进二叉树,存树的方式我了解两种,一种是只利用一个一维数组,查找该树时要通过l,r来继续确定目标位置,另一种是利用结构体构造一个一维数组,这样数组下标就是二叉树的结点更加方便。另外在这段时间的学习,还了解到了“懒惰标记”,懒惰标记是为了节省时间而发明的,实际上就是让子结点暂时处于不更新的状态,用到的时候才更新,这样实现暂时结束继续向下搜索,节省了时间。另外今天做了计算区间颜色数量的题,利用线段树记录该区间下是否有多个颜色,如果有继续向下找,直到找到该区间下只有一种颜色,记录返回。 接下来一周计划,周一到周三无论多忙都要每天看懂最少两篇线段树博客,周四,周五看博客并尽量A出一道题,周六上午,晚上写作业复习主业课程,下午训练,周日训练一天。 来源: CSDN 作者: snayf 链接: https://blog.csdn.net/snayf/article/details/77825745

ACM周末总结—10月22日

佐手、 提交于 2019-12-01 03:42:42
这个半周继续学习了数学的内容,在整理一下吧。其实感觉直接复习高代好像也可以。 筛素数: 理论:任何一个正整数都可以被唯一的分解为若干个素数的乘积; 取出容器中最小的数(此数一定是素数),删去所有该数的倍数。 int n; bool vis[1005]; cin>>n; memset(vis,true,sizeof(vis)); vis[0]=false;vis[1]=false; for(int i=2;i<=n;i++){ if(vis[i]==false) continue; for(int j=i*2;j<=n;j+=i){ vis[j]=false; } } 筛素数改进: 因为普通筛素数方法速度是比较慢,因为同一个数可能处理好几次(2,3,都是12的因子),任何一个数都有一 个可以被整除的最小素数(除去1),当遇到该素数是时就结束更新。 int flag=0,n; memset(isprim,0,sizeof(isprim)); cin>>n; for(int i=2;i<n;i++) { if(!isprim[i]) prim[flag++]=i; for(int j=0;(j<flag)&&(i*prim[j]<n);j++) { isprim[j]=1; if(i%prim[j]==0) break;//就用这部来节省时间 } } 欧拉函数: 计算比x(正整数

ACM 中的 奇技淫巧

房东的猫 提交于 2019-11-30 14:59:15
ACM 中的 奇技淫巧 忘记开long long 怎么办? typedef long long int; signed main(){} 因为 int == signed int,所以把 signed 当 int 用 把 int 当 long long 用 或者 typedef long long ll; 判断一个整数有几位 0 除外 (int)log10(x) + 1 来源: https://www.cnblogs.com/317zhang/p/11599356.html

有一种感动叫ACM

一笑奈何 提交于 2019-11-30 07:34:55
(我被感动了〒▽〒,真不愧是wjmzbmr,搬过来mark一下,转载自 https://www.cnblogs.com/ziyi--caolu/p/3379739.html ) (记WJMZBMR在成都赛区开幕式上的讲话) 各位选手,各位教练,大家好,我是来自清华大学交叉信息学院的陈立杰,今天很荣幸站在这里代表全体参赛选手发言。对于我来说,这是我第一次正式参加ACM的比赛。不过我跟ACM之间的缘分,大概在很早的时候就已经存在了。 我还依稀记得,在我初三的时候,晚上我的一个好朋友在用手机跟妹子聊天,而我在用手机看OI和ACM的题目。自习课上我的那个朋友跟妹子一起学习,而我则翘课想去机房,有时候机房老师不让我去,我就跑去天台用草稿纸想题目。中午的时候我的那个朋友去跟妹子一起吃饭了,而我在机房里啃泡面。周末他们出去看电影逛公园,我就在电脑前面刷出一整版的WA。就这样日子悠悠的过去,我的朋友如今跟妹子过的很幸福,不过我觉得我跟我的电脑过的要更加幸福(笑)。 那时我还年轻,也想不到以后会怎么样,就是想要呆在机房里,为了做出题目这样纯粹的感动而活下去。一晃五年过去了,有如白驹过隙,Android从1.0到了4.3,srm从424到了594。从我AC第一道A+B以来,世界已经变了太多,曾经的感动和梦想似乎也随风而去。然而我心中却始终回荡着几天后AC的欢呼声,差几秒钟提交的捶桌声,比赛失利的呜咽声

ACM模板——拓扑排序

妖精的绣舞 提交于 2019-11-30 06:19:15
暂时 1 bool topo() 2 { 3 int count = 0 ; 4 while (!q.empty()) 5 q.pop(); 6 for (int i = 1; i <= n; i++) 7 if (!in[i]) 8 q.push(i); 9 while (!q.empty()) 10 { 11 int begin = q.front() ; 12 q.pop(); 13 count ++ ; 14 for (int i = 0; i < course[begin].size(); i ++) 15 if (--in[course[begin][i]]==0) 16 q.push(course[begin][i]) ; 17 } 18 if(count == n) 19 return true; 20 else 21 return false; 22 } 来源: https://www.cnblogs.com/Asurudo/p/11567056.html

启程 && 一些高考后的想法

故事扮演 提交于 2019-11-30 04:37:31
感想 莫名其妙的来到了一个不可能来到的学校 CCNU? 3:7的男女比例,差得要死的宿舍,找不到志趣相投的朋友,每一点都足够让我对它毫无归属感了。 当然,这一切也是我罪有应当,是我当初oi的时候的不认真,疯狂打游戏,是我在高三每天刷知乎,玩手机,把学习抛之脑后,是我高考前几个月的春心萌动,自己作死的相互折腾,这一切,所有的事请,让我来到了这个学校,我也决定,无论如何,接受这个结果。 高考让我明白了什么,成长了什么?我不知道,但我感觉我比之前更加冷静了,我能反思过去,但仍不知道自己此刻的决定是对是错。不过这就足够了,无论对错,我重新,站在这个起点,和所有的人一样,去面对这个新的挑战。 启程 我还是选择了acm,当初那么抵触的我,那么不顾一切,想把所有东西抛掉的我,还是选择了acm,这意味着,我要重新开始,捡回每一个东西,再去挑战。 我过去的光环并没有消失,它以一种全新的形式缠绕着我,压力 希望?未来?大腿? 不存在的 我只是一个 很普通的退役oier 但是这股压力确实支撑着我走下去,现在的我,必须更努力,去满足他们的期待 那么,开始吧 my trip with acm 来源: https://www.cnblogs.com/cminus/p/11561152.html

弱校离final有多远——共勉

做~自己de王妃 提交于 2019-11-29 20:54:31
这篇博客是邝斌大佬写的,邝斌大佬是我刚刚接触ACM以来目标,他从2011年一个什么都不懂的菜鸟白丁经过了四年去了final,他的经历和我们很多人一样都是大学才开始接触ACM,不像很多final选手从很小就开始搞oi,他能经过四年进去final,靠的就是人一我百,人十我万的努力。邝斌大佬的学习方法和经验是比较适合我这种大学才接触ACM的人。 下面转自邝斌大佬的博客: 近段时间一直在关注着黄金雄教授的博客,一直在等待着他发布Final名额的消息。虽然我校应该是早就没有悬念可以出线的了,但是总是希望看到官方的确认。 今天晚上群里突然发消息说WF名额公布了,然后便是各种祝贺之声。 看到上海大学出线的消息,欣喜之情久久不能平息,或者你们并不能体会我的这种心情,因为我等待这一天等待了好久了。 或许今年比赛前,根本没人看好我们会出线,但是上海大学今年真的出线了,而且是在鞍山以亚军,WF排名第一出线了。 我在最后一场区域赛里面第一次拿到了金牌,第一次进入final! 同时祝贺出线的学校,为没有出线的学校感到惋惜,你们都还年轻,还有机会,加油! 此外,我也想到了xiaodao看到这个消息的失望,xiaodao的经历是普通人无法想象的,但是xiaodao明年还有机会,加油! 进入world final,是多少ACMer一直的追求。进入final的难度,我们都非常之清楚。尤其是对于弱校,大学前毫无基础

Digit sum (第 44 届 ACM/ICPC 亚洲区域赛(上海)网络赛)进制预处理水题

两盒软妹~` 提交于 2019-11-29 19:32:05
131072K A digit sum S_b(n) S b ​ ( n ) is a sum of the base- b b digits of n n. Such as S_{10}(233) = 2 + 3 + 3 = 8 S 1 0 ​ ( 2 3 3 ) = 2 + 3 + 3 = 8, S_{2}(8)=1 + 0 + 0 = 1 S 2 ​ ( 8 ) = 1 + 0 + 0 = 1, S_{2}(7)=1 + 1 + 1 = 3 S 2 ​ ( 7 ) = 1 + 1 + 1 = 3. Given N N and b b, you need to calculate \sum_{n=1}^{N} S_b(n) ∑ n = 1 N ​ S b ​ ( n ). InputFile The first line of the input gives the number of test cases, T T. T T test cases follow. Each test case starts with a line containing two integers N N and b b. 1 \leq T \leq 100000 1 ≤ T ≤ 1 0 0 0 0 0 1 \leq N \leq 10^6 1 ≤ N ≤ 1 0 6 2 \leq b \leq

自我介绍+软工五问

走远了吗. 提交于 2019-11-29 08:33:54
自我介绍:   我是计科六班的李光证,大一上学期有幸加入了学校的ACM集训队,在集训队里学习了许多算法和数据结构。由于参加ACM竞赛很锻炼思维能力和实践能力,所以我的编程能力还是不错的。但我没有项目经验,所以缺乏对于软件开发的知识还很浅薄,希望通过这门课,了解到更多关于软件开发的知识。目前正在学习Python,对机器学习有兴趣。 软工五问:   1、书里介绍了这么多软件过程模型,各自有各自的特点,那么,当新开发一个项目时,如何选择适合的软件模型呢?   2、一个大程序是由很多人一起来完成的,每个人完成其中的一小个功能,而每个人的编码风格之类的会存在着差异,如何保证每个功能可以相互耦合?   3、如何能有效的去排除一些潜伏期很长的bug?   4、当一个程序的维护成本很高时,是选择继续维护还是重新做过,要基于什么情况来判断?   5、对于一个新开发的程序,如何去构造数据来检验程序的功能? 来源: https://www.cnblogs.com/Gleez/p/11488796.html

刷了几千道算法题,我私藏的刷题网站都在这里了

て烟熏妆下的殇ゞ 提交于 2019-11-28 20:14:43
作者 | Rocky0429 来源 | Python空间(ID: Devtogether ) 遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活... 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网站放出来,让我们一起爽! 刷题,是这个世界上最有意思的事儿! 当然刷题不能乱爽,你要知道刷题要干嘛,是找工作面试、研究生复试机试,是参加程序设计竞赛还是为了提高自己,在这里我将这些分为三类:收割 offer 版、ACM 竞赛版和提高版。 0x00 收割 offer 版 不管是找工作笔试面试白板试进大厂,还是研究生参加初试复试机试,数据结构和算法都是绕不过去的坎,刷题就成了很多人的需求,快来看看下面这些网站,变身刷题机器,收割 offer 吧! 1、leetcode 英文网址:https://leetcode.com/ 中文网址:https://leetcode-cn.com/ 估计 leetcode(力扣)大家都很熟悉了,都被推荐烂了,很多国内外的程序员在上面刷题,难度从 Easy、Medium 至