日记
闻道-问道
这个作者很懒,什么都没留下…
展开
-
学习日记1
今天做题过程中不能提交问题,于是,我们便进行了知识的复习。 由于我在假期这几天,由于各种原因,没有复习dp,所以,我抽时间看了一下,主要是看了一下背包的问题,这次看知识点,让我对背包,dp的理解更加的深了。我看了01背包,完全背包,多重背包,混合三重背包,分组背包等。其中多种背包的小技巧我有了更加深入的了解,尤其是其中的多重背包转换成01背包的简化,更是让我恍然大悟,比上学期学习中理原创 2017-07-31 21:30:03 · 256 阅读 · 0 评论 -
学习日记2
又一天的集训结束了。 今天中午,复习了一下搜索并且做了几道搜索的题,有一道是3维地图最近路径的问题,按理来说,应该和二维的差不多,就是麻烦一点,变量多一点,但是我把x ,y,z的顺序搞错了,这就尴尬了。剩下的有寻找只有0 1组成的倍数问题,这个题就是不断搜索除余。还有人捉牛的题,这个题以前就做过,但还是错了好多遍。 下午是进行了一次测试,测试中做出了最简单的不用算原创 2017-08-01 21:13:39 · 193 阅读 · 0 评论 -
学习日记8
今天上午复习了一下拓扑排序,并且做了一下拓扑排序的题,这道题,是关于比大小的,一般用拓扑排序是解决的是有向无环图,当然也可以检验出是否有环,按照题目上说,有三种输出,一种是组成了大小关系,即形成了环。还有自相矛盾,不能形成大小关系。最后一种是给出条件不能判断关系,由于输出的不同,所以也不能按常理来做这道拓扑排序题,这道题的大小数据应该输入一个,判断一个,一旦发现条件成立就输出,因为输出条件要包含,原创 2017-08-08 20:07:15 · 317 阅读 · 0 评论 -
学习日记7
今天中午,做了一道最短路径的题,是关于昂贵的聘礼的,以前做最短路径都是用的最简单的那个弗洛伊德,这次用了dijkstra算法,这个算法比弗洛伊德要快,由于没怎么用过,是现学现用的,看了好久模板,这个题是先求出各个点与一号位置的最短路径,然后再加上本来这个点的价值,再取最小,是模板的小变形。 中午的时候还抽空看了一下位运算,虽然没有花费太多时间,但也算是对位运算有了初步了解,这个当初学c原创 2017-08-07 20:39:28 · 487 阅读 · 0 评论 -
学习日记9
今天上午,做了一道bfs结合最小生成树的题,这道题在思考上不是很难,把两种算法结合起来,就是有点麻烦,最重要的是这道题的输入比较坑,提交很多次都没ac,就是因为输入。这道题是一道迷宫类的题,迷宫里有很多外星人,要在最短的时间内消灭所有外星人,和以前做的走到出口的迷宫不一样,这道题的做题思路大约是,用bfs()求出所有点(包括S和所有A)之间的最短距离,再用prim最小生成树求出最短路的距离。这个题原创 2017-08-09 20:00:34 · 228 阅读 · 0 评论 -
学习日记3
今天学习了一下搜索。 可以说,今天比较气人,有个题一直过不去。先说上午做了一个题,素数的问题,四位素数转换为另外的四位素数,需要几步。这个题,由于以前做过,有点印象,就直接写了出来,但是错了之后一直不对,心里很烦,偶尔发现是一个赋值语句的位置不对,应该是在一个条件语句的里面,而不是外面,这个真是要好好检查才会知道的。幸亏最后终于ac了。后来,又做了一个模拟的题,它在搜索了,也能用搜原创 2017-08-02 21:26:35 · 192 阅读 · 0 评论 -
学习日记16
今天中午,学习了一下树状数组,大部分内容都是昨天看过的,还看了一点关于二分和树状数组的东西,就是用二分求一个区间的两端。并且看了一下他们博客里的参加比赛的经验贴,虽然里面的说法很幽默,随便,但也能学到很多东西。由于今天状态不佳,昨晚没睡好,就没看多少题解,回去休息了。 下午是三人组合的比赛,我们两个16级的和一个学长组队,其实我是打酱油的。这几个题,知识点都学过,分别是1贪心,2二分,3最原创 2017-08-17 19:25:53 · 212 阅读 · 0 评论 -
学习日记10
今天上午,复习了一下二分法,并且做了三道二分题。这三道二分题,都是最基础的二分题,让我回忆了一下二分怎么做,主要是找出两个有关系的变量,二分一个变量,就行了,有些题目可以简化步骤的要简化,比如,求圆面积的时候可以先不乘π。还做了一道单调队列的题,在学习ppt,这是一道例题,按照例题讲解的开始做,但是最后发现这道题的数据有点大。例题用的是int,会出错,改成龙long long就可以了。原创 2017-08-10 20:41:47 · 249 阅读 · 0 评论 -
学习日记4
今天中午继续复习了搜索和图论的题目,做了两道题,一道是关于涂色的问题,要运用四色定理,然后再用dfs()让它一个一个的慢慢涂就行了,如果相同颜色挨在一起了,就加一种颜色,再重新涂,直到都符合条件,输出颜色数。还做了一道题,是关于dfs()的,就是有很多点,他们之间有一定距离,把他们分成两个区域,输出两个区域之间的所有点距离最大值,本来是想不到dfs的,看了题解之后会了,dfs()里两种情况,一种本原创 2017-08-03 21:35:45 · 176 阅读 · 0 评论 -
学习日记11
今天中午,看了一下二分并且做了几道二分题,那三道二分类型差不多,都是把一个整数序列,可以分成n部分,每部分的总大小最大是多少,不过也有细小的变化,有的输出很简单,有的需要复杂的条件来控制输出。之后,还做了一道单调队列的题,昨天刚求了一道矩形面积问题,今天这道也差不多,只是长变成了所有小矩形中最小的高,还要输出这个举行的始末位置,需要记录一下,有时会超时,所以最好用累加和求一段数列的和。原创 2017-08-11 21:13:53 · 177 阅读 · 0 评论 -
学习日记5
今天中午复习了一下图论的知识,只复习了一下欧拉回路,哈密尔顿环,弗洛伊德算法。并且尝试这做了一道题,一道需要找出是否有负权回路的问题,这道题本来是理解错意思了,理解成能否找出欧拉回路。。。后来看了题解改正后,过了。在中午回宿舍没事时,我把并查集的知识看了看,只看了kruskal算法,没看prim,导致我下午做并查集的题都是用的kruskal算法。 下午做了两道并查集的基础题,都差不多原创 2017-08-04 21:41:42 · 234 阅读 · 2 评论 -
学习日记12
今天中午做了一下二分和队列的题。首先是一道关于把衣服晾干的题,这道题中衣服一分钟掉一单位的水,吹风机一分钟掉k单位的水,但是这k单位包含自然风干的一单位的水,这是最坑爹的,在这里很容易出错,在这里,自然是二分时间,然后看看是否能够晾干,再分情况赋值,值得一提的是这里要向上取整。在整数运算中a/b的向上取整为(a+b-1)/b。这样这道题就可以ac了。还做了一个单调队列的简单题。题目是羊的身高不一样原创 2017-08-12 20:25:13 · 229 阅读 · 0 评论 -
学习日记6
今天中午做了一下最短路径的题,用的弗洛伊德算法,这个题是求把所有的点都连接在一起后的最小值,刚开始,我想的是用并查集做,因为把所有点用最短的路连起来就是树,但是这个题是双向的,是有向的,两个点互相走的路径不一样,所以适合无向图的最小生成树算法就不行了,要用最短路径算法弗洛伊德,弗洛伊德之后算出了各个点之间的最小值,然后从一个点出发,找出最大值,就是所有点连通的最大值(除非不连通),以所有的点为起点原创 2017-08-05 20:20:29 · 237 阅读 · 0 评论 -
学习日记15
今天中午,老师带领我们改变了学习策略。要先学习知识点,看题解,学习做题技巧和方法,然后再自己做题,这时候,就算做不出题来,也不能看那题解,同学之间互相商量,找出程序中的不足并解决它。 我先要制定自己的学习计划,我打算看第一个人的博客的时候,要慢慢看,把所有关于这个知识点的方法都掌握牢固,再接着看下一个,这样再看下一个人的博客时,很多相同类型的题,可能看一眼就知道怎么回事了,原创 2017-08-16 20:56:13 · 380 阅读 · 0 评论 -
学习日记14
今天中午,学习了树状数组,从 我看的这些知识点,题目来说,树状数组是用来求数列的和,顺序,逆序,数列中数据的删除和添加。数列的和包括全部的和,还有一段和,这些都可以用树状数组实现,其实累加数组也可以实现,但是累加数组在实现数据添加,删除时就不行了,由于树状数组本身存储就是一段一段的,所以当修改数据时还是比较快的,至少比累加和的数组快,当求逆序时,数组里存一,表示有一个数,每次更新数组时,都要进行检原创 2017-08-15 21:27:38 · 196 阅读 · 0 评论 -
自我总结(集训女队员导致的后续事件)
今天本来是休息,不做题的,所以我和同学把北校区逛遍了。因为毕竟以后都要在这个学习了。但是逛到我们学习的机房时,发现集训队的女生都在做题,我终于知道为什么以前她们都要拿钥匙了,原来是为了学习,那么省赛他们拿到银奖也就不奇怪了,有这么高的学习劲头,连续训练六天都不休息一下。能力肯定要飞速提升。 于是,,嘿嘿,我晚上也做起了题,我先挑的好做的,看题解看过的题型,还有的是原题,嘿嘿,虽然可能没有原创 2017-08-20 23:45:30 · 215 阅读 · 0 评论 -
学习日记17
今天继续看了一些题解,继续学习了一下树状数组。有关树状数组的各种题目类型,在学习日记15中,已经总结的差不多了,因为那是第一天看树状数组的题目,并且基本看完了一个人写的所有有关树状数组的博客,在之后的学习和看题解的过程中,我又发现了新的题目类型,还有之前的题目类型有的需要扩充,当时认知有限,总结的不够到位。现在补充一下。一。离线操作预处理。这个和素数预处理差不多,都是要先把数据存在一个原创 2017-08-18 20:28:56 · 268 阅读 · 0 评论 -
学习日记19
今天做了不少树状数组的题,各种题都有,大部分是各种题型的模板题,刷起来就是一个爽字。同时,我也明白了从网上看到过的一句话,不要刷数据结构的题,不然你会成为傻子,这句话还是有道理的,一般不会直接出数据结构的题,它会和其他类型的题一起出,所以刷数据结构的题,只是明白它的基本用法,而真正的理解透彻,在做题中用出来,这才是根本目的。我距离这一步还差了老远。 通过今天做题,有了几点关于树状数组的总原创 2017-08-21 19:06:26 · 213 阅读 · 0 评论 -
学习日记13
今天上午做了两道单调队列的题,其中一道用循环暴力破解做的。第一道的大概题意是,在x轴上有很多宽度高度不一样的矩形,问最大的矩形面积是多少。这个题和前几天做的题都很相似,都是维护两个单调队列,一个求在i这个数左边比这个矩形高的连续矩形有几个,另一个是求右面的,然后就是长宽乘积求最大面积。第二道,是看一下给出的数列中是否存在单调递增的子序列,然后求子序列的长度-1。没有则是-1。这个题用单调队列直接维原创 2017-08-14 19:45:21 · 166 阅读 · 0 评论 -
学习日记22
今天上午看了一下树状数组的一些题目,都看了看,有的还会做,但有的个别难点不好实现。发现遇到树状数组的难题,确实做不了,有的都没有思路,可能是我想错了,不是纯树状数组的题,而是用树状数组的优化的题。看来需要学习还有很多。 下午进行了一个比赛,这一次的题简单是比较简单,但难题也是比较难,我这次终于没有打酱油啊,哈哈,有进步,我做了那个最简单的单调队列的题,然后就开始做第一题的关于二进制的题原创 2017-08-24 21:52:10 · 394 阅读 · 0 评论 -
学习日记20
今天上午做了两道题,其中一道是树状数组的基本操作题,包含大部分树状数组的操作,我做这道题的时候,刚开始还感觉不错,但是这道题有一个在原创 2017-08-22 20:47:31 · 218 阅读 · 0 评论 -
学习日记21
今天中午做了一道用树状数组优化的dp题。还用了离散化操作。其实,这道题在我看题解的时候看到过,我一直迟迟不做的原因是,我以为这是那道要用高精度的dp题,想等等再做,网上写的是高精度模板,我会写高精度运算,但不熟练。后来一直在思考一个二维树状数组的题,这道题,是在一个区间内涂色,一共有两种颜色,最后问一个区间内的黑色块的数量,我刚开始根本想不出怎么用树状数组的区间更新区分两种颜色,分奇数偶数根本行不原创 2017-08-23 20:51:46 · 211 阅读 · 0 评论 -
日记(周中)
学习了线段树的内容。首先是线段更新,一般的都是用一个标记,记录这个节点的下面是否需要更新一下,这样的话,每次循环递归更新的时候就不用更新到最下面了,只需要标记一下就行了,接下来,如果更新到这里或者查询到这里,然后再更新,如果没有直接用到这里,就不需要更新了,这样会节省很多时间,这是线段更新的基本操作了。 线段树和树状数组一样都有离散化,但是和它也有很大不同,就是其中有的数字之间间隔大于一原创 2017-09-14 20:11:08 · 213 阅读 · 0 评论 -
学习日记18
今天上午看了看树状数组的题。求在一个区间内,约数对的个数。这个题是 单点更新,区间求和的应用。不过不是简单的那种,而是需要算许多个和,再进行加减运算。并且,在放入树状数组的时候,需要把放入这个数的所有倍数都放入,以便于进行运算。 今天下午参加了ccpc的网络选拔赛,确实有难度,对于算法有较高的考察性,算法毕竟是一种快速而有效解决问题的方法,看到一个问题,用算法做和用普通方法做,时间肯定相原创 2017-08-19 17:51:56 · 243 阅读 · 2 评论 -
日记(周末)
又是一周的结束了,首先,先说一下周六周日这两天参加的网络赛,周六参加了乌鲁木齐的网络赛,那天下午满怀激情的打开网页,结果,因为服务器问题,卡了好久,然后开始看题,三路进军,我从后面开始看,其实直接跳到h题,看了看感觉是图论的题,然后忽然发现c题和a题,猛然爆发了好多人,然后开始有人做a,c题,学长做出了c题,后来我直接打开a题,顺着思路,没有用算法,把a题暴力了,感觉这个就是三个集合,abc,a和原创 2017-09-10 22:34:45 · 183 阅读 · 0 评论 -
日记(周末)
这几天,看了一下线段树的题,其实,感觉在某些方面树状数组比线段树好用,代码少,这可能只是在简单的线段树问题上,刚做了一个线段树求最值得问题,这个问题还没涉及到线段树的核心用法,区间更新,在这里只是用到了单点更新和区间求最大值。而且学习了线段树,感觉这个知识点和老师以前讲的二叉排序树有很多相似的地方,都是从左到右,是有顺序的,不过,二叉排序树排的是点,这里的一个点代表了一段数,难道,线段树就是这么来原创 2017-09-03 19:40:32 · 176 阅读 · 0 评论 -
周记(中)
这半周来,我几乎没怎么打过代码,知识点也就看了一点。确实,我放松了学习了,这个也是刚开学,事情特别多,很多事没有进入正轨。我们宿舍由于好久没有住人,比较脏乱,所以宿舍里有很多事,空闲时间都用来打扫卫生了。反思这半周来的行为,我实际上也是浪费了不少时间的,或许是刚开学,心比较浮躁,还没完全进入开学学习的状态,这个要在本周以后几天迅速转变,这学期有很多专业课,经过了解后,才知道知识这么多,学科分支有很原创 2017-08-31 21:14:18 · 203 阅读 · 0 评论 -
日记(周末)
这几天做了几个网络赛,昨天是北京赛区的网络赛,做了半天就做了最简单的那一道题,也就是去北京旅游的那一道题,其实这个就是枚举所有情况,找出最小的旅游人数,我刚开始竟然用了一次dp,蒙了,后来看了第9题,这道题本来以为是暴力,然后暴力,没有ac。后来感觉是树状数组和线段树的题,树状数组不好做(我是没想出来),线段树才学没多久,写了一个错了。真是悲伤。第8题,这道题,刚开始以为是搜索,然后看了一眼数据,原创 2017-09-24 21:44:39 · 201 阅读 · 0 评论 -
日记(周末)
这几天参加了几个网络赛,分别是西安和青岛的网络赛,打的真是一把心酸泪,西安的网络赛吃了一个鸡蛋,真是太爽了,后来看题解,有一个找规律的题已经快要做出来了,可惜没有迈出最后一步,那个题名为sum。当时已经找出和10001这种形式的数有关了,但是一直没想当这个数包含233个1的时候会发生什么事,还是思路没有拓展开。其他的题大多距离答案甚远,难题更不用说了。 今天参加了青岛赛区的网络赛,一共出原创 2017-09-17 16:09:57 · 198 阅读 · 0 评论 -
日记(周中)
这周的周二,补做了一下周一的div2的题,这几道题应该比较简单,做出的人很多,而且3,4题做出的都比较多,我也做了一下,确实,第1,2题基本都是模拟类的水题,只需要逻辑,条理清晰即可,当然最重要的是读懂题就可以了,我就是因为一开始读题没有读好,所以错了好多次,因为理解错要求的内容了。后来扫了一眼第3题,是一个模拟题,第四题,是一个贪心的题,当时没时间写了,就不做了。其实,感觉自己把这些题转化为代码原创 2017-09-28 21:50:01 · 189 阅读 · 0 评论 -
日记(周末)
这个十月一假期是个失败的假期。很多事都没有做,主要原因还是自己懒。 十月一回家后,前几天因为感觉好久没放松一下了,就休息了一下。但是之后就发现,家里的事情很多,有亲戚过生日等等原因,要去吃饭(家里就我可以去,其他人没什么时间),家里种的地也需要干活,边干其他的边学习了一段时间。 总结来看,这个假期不应该回家,但是家里很多活需要我,所以应该坚持只回家几天,就直接回学校。这样能原创 2017-10-08 22:11:44 · 192 阅读 · 0 评论 -
日记(周中)
从这周开始,就要开始做Codeforces里的题了,应该是说做每次的div2,其他的就不做了,毕竟水平不足。 周二晚上的时候做了一下div2,第一道题,用不到什么算法,只是要把所有的分类想清楚,然后按照思路写下去,只要思路没问题,就能ac了,我一开始的时候思路不对,后来思路对了,但是代码有问题,给了之后才过了,我是听说div2前两道题都是水题,3 4题是比 1 2题提升一点的题,后面也都原创 2017-09-21 20:17:35 · 185 阅读 · 0 评论 -
日记(周末)
这个日记本来是昨天写的,可是忘了qaq。哎,刚回家有点事,就耽误了,今天就补上了。 这周最后几天事情比较少,主要就是又做了一点线段树区间更新的题,在网上看了一点懒惰标记的用法,思想。在这里引用一下他的意见。 再来谈谈lazy思想。做了这么多的线段树,应该总结一下,lazy是一个很经典的思想。所谓lazy,就是懒惰,每次不想做太多,只要插入的区间完全覆盖了当前结点所管理的区间原创 2017-10-02 19:26:50 · 189 阅读 · 0 评论 -
日记(周末)
今天晚上本来要多刷几道数位dp题,做其中一道的时候原创 2017-10-29 22:36:55 · 192 阅读 · 0 评论 -
日记(周中)
忙碌的半周过去了,这半周感觉效率不高,有时候看一个地方一直看不懂,明明代码就在眼前,就是想不出它的原理和目的,可能是我脾气有点犟了,一直坚持这看,但我现在想来,这样效率不高,而且容易让自己心情不好,所以,应该看一会题解和知识点后,过一段时间再看,遇上一时间看不懂的,还是放下一会好,现在这线段树的题目,确实有不少地方是看不懂的,需要不断重复看。看的次数多了,写的代码多了,就会懂了。 协原创 2017-10-12 23:30:10 · 187 阅读 · 0 评论 -
日记(周末)
看到了后面几人的博客,感觉数位dp题都做的差不多,但是思路,做法,状态的添加和怎么在枚举的时候把条件筛选出来。这些都是不一样的。我看了之后,就一个感觉---有点懵。有时候前面理解了的题,但是看不同的人的题解会发现又好难理解。因为第一次接触的博客的人写法思路是一种风格,换了一种风格后,看着代码,想一遍他的代码,就感觉脑子爆炸,心里就想这回去再看看以前的人的博客,看看怎么回事,心里不想再看这个博客了。原创 2017-10-22 21:49:43 · 182 阅读 · 0 评论 -
日记(周中)
星期三的时候做了一份题,可惜的是,那份题的网站炸了,由于那天晚上有课,9点开始做的,并没有全做上。第一题是一道关于奇数偶数分类的,这个提交了,第三个我感觉也是需要奇数偶数分类,但是还每判断。不知到对不对,第四道是一道需要不少逻辑判断的题,当然,这时候早就不能提交了。 又做了点数位dp的题,这些题明显比以前做的要难,不好做,有的很难理解,有些运用了二分,有些用hash来离线处理,明显更综原创 2017-11-09 22:00:23 · 144 阅读 · 0 评论 -
日记(周末)
最后这几天过去了,周末报名的codeforces,忘了打了,哎,一般qq邮箱会提醒的,这次怎么没提醒。线段树的题,做多了就会发现,一般题目的重点在于建立一个线段树点代表什么,一般这个是最难弄的,简单的题,一看就会,难题,一般想不出来,再就是在建立树和更新树的时候,需要怎么更新左右子树的问题,有的题相加,有的题需要进行一下判断,然后再对左右子树进行操作。 所以线段树的问题最重要的是如何建好原创 2017-10-15 22:57:21 · 162 阅读 · 0 评论 -
日记(周中)
昨天,做不出题来,一直在死磕,忘了写日记了。。。今天写上吧。 前几天,一是做了一次测试题,这次题,做了一道题,后面的没一下子想起思路,就没再做了,去看数位dp去了。看了看别人都做了不少,这些题,迟早都要补上,毕竟读了题了,再做会轻松一些,当然补的时间要在本周日上午以后的时间,由于本周末有个期末考试,所以这几天在保证每天做2到3个数位dp的基础上,不再多做题了(当然周六除外),先集中精力原创 2017-11-03 09:17:31 · 175 阅读 · 0 评论 -
日记(周中)
继续学习了一下数位dp,不过学习时间少了点。 dp题放下来了,今天先不写了,等做了一些题之后在写吧。原创 2017-10-26 22:53:42 · 171 阅读 · 0 评论