摘要:
经过noip模拟赛的第三天爆零,第四天终于有分了,=.=,还是学习了背包——分组背包。 表示每一组都只能够选择一种物品,01背包之中又带些条件,学长大致说了一遍,感觉没用后来自己看懂了。 分组背包就是先找到有多少组物品,然后先在每一组物品之中加一个循环枚举的是体积然后,针对当前这一组的每一件物品之中 阅读全文
摘要:
看这道题题目叫做魔族密码多新奇的名字点开是道字符串的dp,思考然后想出lis其实但字符串之间的比对只有循环然后其实循环爆不了,太懒点开了题解发现有人使用stl——cstring的函数了方便多了,借鉴一下好啦。 函数:strncmp这个是cstring里对比两个字符串的东西从第一位开始对照相同则返回0 阅读全文
摘要:
饥饿的奶牛oj上n只有1000,过于水,O(n^2)的算法很容易水过,洛谷上这是一道提高加的题,很难啊,所以要好好拿来练习今天写博客再次复习一下,oi最怕遗忘了。 这道题呢实质是一个区间覆盖的dp,首先是设f[i]表示前i个草地所能获得的最大值,这也就很简单的找到了状态转移方程。 如果当前的前j草地 阅读全文
摘要:
今天在洛谷上刷dp,忽然冒出一道求最大字段和的问题,然后忘了瞬间忘了这是dp,几分钟一个贪心出来了成功ac,忽然想起自己在作dp,于是乖乖刷dp。 这个可能很多人都会但是今天有4种解法哦,本人只尝试了3种解法。 NO.1:明显一个贪心一个sum求当前的累加和如果小于0就清零,继续累加并不断去max即 阅读全文
摘要:
cdcq学长又再次讲了迭代加深搜索,这个搜索呢是由bfs扩展的方向太多而dfs一条路走到黑很有可能GG,所以采用迭代加深搜索,就是限定一个范围来进行搜索,外形是dfs内部有一个搜索那就是bfs,每次扩展的边再来进行dfs这样的话相对于dfsorbfs答案在很小的地方效率会极高。 一道迭代加深入门题路 阅读全文
摘要:
今天是国庆节,是时候回望来时的路了,不再逃避,不再掩盖,坦诚面对。 自从2018年中考之后多久没真正开心过了,这个我也不知道,对前路的迷茫无时无刻不在迷惑着我,中考的失利让我抬不起头来,嘲讽也是接踵而至,于是我开始怀疑自己的能力了,老师方面也不置可否。没有人责怪我什么,中考是自己的,人生也是自己的, 阅读全文
摘要:
这两天搞完01背包之后学习了完全背包这个完全背包是指物品数量无限,让自己来装考虑一下状态转移f[i][j]=max(f[i-1][j])尚未选择第i种物品,f[i][j]=max(f[i][j-w[i]+v[i]]);从第i键物品中选择一个显然状态是由不拿当前物品上一层的最优解和当前拿这个物品的最优 阅读全文
摘要:
今天学习了01背包不算是复习吧,发现完全不会状态之间的转移如此让我捉摸不透尽管很简单但本人觉得还是很难,奇怪地拐点也很难被发现。知道01背包二维的话是很慢的,然后就是非得先打二维毕竟一维是根据二维的想法进行优化的所以决定先啃二维结果漏洞百出,首先呢就是循环顺序了,因为是用前一个被更新过得最优解来更新 阅读全文
摘要:
下午直接开始dijkstra的堆优化,很简单的这里把书上的原理说一下吧,小心和prim最小生成树的堆优化迷,Dijkstra算法基于贪心思想,它只适用于所有边都是非负数的图。当变长z都是非负数的时候,全局最小值不可能在被其他节点更新,故在第一步中选出的节点x必然满足:dis[x]已经是起点到x的最短 阅读全文
摘要:
今天开始图论的最短路的最后复习,今天自己手打spfa虽然看了一眼书,但是也算是自己打出来的,毕竟很久没打了,而且还是一遍a代码下来15min左右就搞完了,成就感++。所以呢来篇博客记录一下。 香甜的黄油,当年做的时候吃了不少苦头现在完全会打了,下面是当时我的代码: #include<cstdio> 阅读全文