09 2018 档案

摘要:今天学习了01背包不算是复习吧,发现完全不会状态之间的转移如此让我捉摸不透尽管很简单但本人觉得还是很难,奇怪地拐点也很难被发现。知道01背包二维的话是很慢的,然后就是非得先打二维毕竟一维是根据二维的想法进行优化的所以决定先啃二维结果漏洞百出,首先呢就是循环顺序了,因为是用前一个被更新过得最优解来更新 阅读全文
posted @ 2018-09-28 21:37 chdy 阅读(217) 评论(0) 推荐(0) 编辑
摘要:下午直接开始dijkstra的堆优化,很简单的这里把书上的原理说一下吧,小心和prim最小生成树的堆优化迷,Dijkstra算法基于贪心思想,它只适用于所有边都是非负数的图。当变长z都是非负数的时候,全局最小值不可能在被其他节点更新,故在第一步中选出的节点x必然满足:dis[x]已经是起点到x的最短 阅读全文
posted @ 2018-09-25 21:12 chdy 阅读(239) 评论(0) 推荐(0) 编辑
摘要:今天开始图论的最短路的最后复习,今天自己手打spfa虽然看了一眼书,但是也算是自己打出来的,毕竟很久没打了,而且还是一遍a代码下来15min左右就搞完了,成就感++。所以呢来篇博客记录一下。 香甜的黄油,当年做的时候吃了不少苦头现在完全会打了,下面是当时我的代码: #include<cstdio> 阅读全文
posted @ 2018-09-25 16:55 chdy 阅读(225) 评论(0) 推荐(0) 编辑
摘要:今天说是要练习LCA结果找了道题看着题解打完了,如此惭愧,Lca还得好好理解啊,感觉在最大生成树上做有点异样,可能还是不是很理解吧,在noip前一定要再把这道题再a一遍,好题啊。 这是2013noipt3的题,难度适中,比以往的简单没让人想不出来思路虽然我第一遍看也没想起来但是题解易懂,是我这种低级 阅读全文
posted @ 2018-09-23 17:44 chdy 阅读(2259) 评论(0) 推荐(0) 编辑
摘要:今天在题库发现了一个wa了很久还没调过的题,这个题呢是2015年noip的day1t2,莫名感觉难度上升(其实水的一匹)。 这道题输出是3,其实就是一个图中让你找最小环,尽管我不会找环,但是要是我的话应该也是可以水过部分分的,尧神说这道题咋打都能过,但我不会啊,于是开始了模拟,开了两个动态的数组进行 阅读全文
posted @ 2018-09-22 12:44 chdy 阅读(987) 评论(0) 推荐(0) 编辑
摘要:今天终于把倍增的LCA搞懂了!尽管周测都没写,尽管lca其实很简单,但这也是进度君的往前一点点的快乐。学渣的呻吟。 倍增的lca其实关键就在于二进制的二进制的拆分(显然是两次的拆分,很奇妙,懂二进制的自然不觉得什么)。把最关键的地方在这里列举一下吧: 1.f[fa][i]=f[f[fa][i-1]] 阅读全文
posted @ 2018-09-21 21:32 chdy 阅读(173) 评论(0) 推荐(0) 编辑
摘要:今天学习topsort,明天强联通分量。topsort是一种在DAG(有向无环图)中来制定顺序的方法,从入度为0开始一个一个编排顺序直至所有的边都有了顺序(或者形成了环)最后如果图中还剩下元素那一定是个环,所以topsort还可以用来判环。今天打了到topsort的例题如下。 这道题的意思就是说按一 阅读全文
posted @ 2018-09-20 13:04 chdy 阅读(371) 评论(0) 推荐(0) 编辑
摘要:今天学长对比了最小生成树最快速的求法不管是稠密图还是稀疏图,prim+邻接表+堆优化都能得到一个很不错的速度,所以参考学长的代码打出了下列代码,make_pair还不是很会,大体理解的意思是可以同时绑定两种元素(和struct差不多)但加入堆的时候以第一个元素来进行优先队列,建立的是大根堆由于每次要 阅读全文
posted @ 2018-09-19 17:59 chdy 阅读(568) 评论(0) 推荐(0) 编辑
摘要:今天是最小生成树的prim的算法,因为本人水平有限所以堆优化都不是很会啊,但邻接表好像出了点小差错所以上邻接矩阵比较好一点,尽管比Kruskal慢了很多很多但这种贪心思想还是要学习的。从第一条边开始取然后进行取n-1条边取完即可于是每取一条边就进行来对其他的边进行更新这样找最小值。下面代码。 #in 阅读全文
posted @ 2018-09-19 09:55 chdy 阅读(158) 评论(0) 推荐(0) 编辑
摘要:在学习的同时也要做一些以前学过的知识,以往打搜索的时候遇到从一个地方到另一个地方瞬间开方向数组来搜索最小路,可多做几道搜索的时候发现dfs寻找最小方法的局限性很小很小,所以今天这篇博客来提醒自己不要单纯就开方向数组来统计一些最小值。 这道题很显然是道搜索于是开始了dfs结果200+行代码下来还没打完 阅读全文
posted @ 2018-09-18 17:14 chdy 阅读(375) 评论(0) 推荐(0) 编辑
摘要:学习图论也有好长时间了一些基本的模板再打一遍,今天的是最小生成树的Kruskal算法,自己一遍打出来尽管很fake但也是自己一遍打出来的有一点点感悟,Kruskal是运用贪心的思想来实现的先找最小边 一次一次加入。 #include<iostream> #include<cmath> #includ 阅读全文
posted @ 2018-09-17 21:18 chdy 阅读(184) 评论(0) 推荐(0) 编辑
摘要:给定一个包含n个数的序列,初值全为0,现对这个序列有两种操作:操作1:把 给定 第k1 个数改为k2;操作2:查询 从第k1个数到第k2个数得最大值。(k1<=k2<=n) n<=100000;所有的数<=100000; 由于这里的n过大所以构造线段树。 #include<iostream> #in 阅读全文
posted @ 2018-09-09 17:26 chdy 阅读(209) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示