07 2018 档案

摘要:正常的求LIS的方法是用dp来做,时间复杂度为O(n^2),但是面对一些题目的时候这个复杂度就有点高了,就去学了一下nlogn的解法。主要运用到了二分查找,stl里面的lower_bound 也可以。 upper_bound(i) 返回的是键值为i的元素可以插入的最后一个位置(上界) lower_b 阅读全文
posted @ 2018-07-28 16:07 TheSilverMoon 阅读(693) 评论(0) 推荐(1)
摘要:正常来说求幂的方法就是把一个数连乘n次,那么这样的时间复杂度就是O(n),还是有点大的,现在学习到的这种快速幂的方法可以把复杂度降到O(logn),可以说是大大降低了。因为幂有可能会很大很大,爆int都是常态,所以要注意数据大小看是否开long long 或者一律long long。 而关于取模式子 阅读全文
posted @ 2018-07-27 17:19 TheSilverMoon 阅读(316) 评论(0) 推荐(0)
摘要:对于一个递归函数 w(a,b,c)w(a,b,c) 如果 a \le 0a≤0 or b \le 0b≤0 or c \le 0c≤0 就返回值 11 . 如果 a>20a>20 or b>20b>20 or c>20c>20 就返回 w(20,20,20)w(20,20,20) 如果 a<ba<b 阅读全文
posted @ 2018-07-20 14:19 TheSilverMoon 阅读(236) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/My-Sunshine/p/4985366.html 模板 阅读全文
posted @ 2018-07-19 15:51 TheSilverMoon 阅读(170) 评论(0) 推荐(0)
摘要:树在数据结构中是很重要的一个部分,尤其是二叉树,在acm中也有很大的应用,如线段树等等。吐槽一下,在数据结构书上我没有找到实现代码。。。自己在cf上面摸了一道题目,跟着大佬学了一下怎么用邻接表的方法来建树。 为了节省空间,这里我用了vector 因为还在初学,随着学习深入,会慢慢更新树的相关操作(等 阅读全文
posted @ 2018-07-17 16:37 TheSilverMoon 阅读(402) 评论(0) 推荐(1)
摘要:dijkstral算法在离散这门课中有简单提到过(疯狂吐槽离散老师JY),但是代码实现一直到之前才学到手,感觉自己还是太傻了摸鱼太严重了。首先建立图的邻接矩阵,对它进行初始化,对角线赋0,其他一律INF。然后输入数据,因为下面代码建立的是无向图,所以在输入的时候要注意以下。建立一个dis数组,初始化 阅读全文
posted @ 2018-07-17 15:40 TheSilverMoon 阅读(213) 评论(0) 推荐(0)
摘要:如果一些式子要求计算一系列的有加减法和乘法构成的式子,最后对某个数取模,可以在计算这个式子的任意一个步骤对于p取模 这个式子除法不适用,除法不满足此性质。 这些式子如果不取模可能会在计算过程中爆long long,导致溢出 阅读全文
posted @ 2018-07-16 10:24 TheSilverMoon 阅读(148) 评论(0) 推荐(0)
摘要:gcd(greatest common divisor)是用来求最大公约数的,在有一些题目中数字很大,直接做可能会出现奇奇怪怪的问题。 手写的gcd函数运用了递归的思想,也是我们以前学过的辗转相除法的应用,最关键的就是这个式子:gcd(b%a,a); 下面是常用的写法 在c++里面有一个函数感觉非常 阅读全文
posted @ 2018-07-16 10:01 TheSilverMoon 阅读(128) 评论(0) 推荐(0)
摘要:转载请注明来源 最小生成树简单的来说就是从无向连通图的邻接表或者邻接矩阵中扣下来一棵权值最小的树,他只有n-1条边来连接n个顶点,并且不允许产生回路。 Kruskal算法首先要对边进行排序,sort一遍升序即可。然后要进行的就是抠树啦。最开始的时候把n个点看成独立的n棵树,然后按权值从小到大选择边, 阅读全文
posted @ 2018-07-14 17:13 TheSilverMoon 阅读(181) 评论(0) 推荐(0)
摘要:C. Reorder the Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output C. Reorder the Arra 阅读全文
posted @ 2018-07-14 15:32 TheSilverMoon 阅读(544) 评论(0) 推荐(0)
摘要:转载请注明来源https://www.cnblogs.com/TheSilverMoon/p/9309491.html 在学会邻接矩阵之后,我等渣渣算是了解了一种图的储存方式,但是邻接矩阵有着一个缺点,那就是不适合存稀疏图(时空复杂度均为n^2),否则会爆Memory,然后你就会收到一个长得真不怎么 阅读全文
posted @ 2018-07-14 14:45 TheSilverMoon 阅读(172) 评论(0) 推荐(0)
摘要:转载请注明来源:https://www.cnblogs.com/TheSilverMoon/p/9309481.html 并查集简单点说就是判断图的两个点是否连通,但是一个个查找很麻烦,怎么办呢?那就让他们的老大直辖所有的小弟,所以我们每次查询只要看他们俩的老大是不是一样的就可以了。 下面是我的并查 阅读全文
posted @ 2018-07-14 14:03 TheSilverMoon 阅读(182) 评论(0) 推荐(0)