![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷
Suchunsv
这个作者很懒,什么都没留下…
展开
-
KMP算法
文章目录代码:解释代码:void initNextArray(string p){ int k = -1; int j = 0; next[0] = -1; while(j < p.size()-1){ if(k == -1 || p[k] == p[j]) next[++j] = ++k; else...原创 2020-02-28 16:47:38 · 93 阅读 · 0 评论 -
P1164 小A点菜
linkP1164 小A点菜感想先上一个复杂度O(2n)O(2^{n})O(2n)的代码#include <algorithm>#include <bits/stdc++.h>#include <stdlib.h>#include <stdio.h>#include <iostream>using namespace st...原创 2019-08-07 18:26:35 · 112 阅读 · 0 评论 -
P1280
P1280 尼克的任务思路思考线程1这题自己还是没有想出来该怎么做,这道题其实刚开始理解一下是可以从任务的角度去dp?就是类似前面的最长子序列一样dp[n],但是题解上基本都是按dp[T]来的,这个选择就很让人费解,首先知道,题目问什么dp数组就存什么东西,但这个下标的选取并没有很强的规律性,只能启发式的总结成题目中数值形的且按小单位递增的东西,例如钱和时间.然后是这个dp转移方程的理解:...原创 2019-08-14 20:46:18 · 194 阅读 · 0 评论 -
P1387 最大正方形
P1387 最大正方形感想首先就是从上,左,左上转移就行,应该,但是这么写了之后,只拿了20分,不知道哪里出现了问题,哦,打错了一个字母,尴尬.code#include <algorithm>#include <bits/stdc++.h>#include <stdlib.h>#include <stdio.h>#include &l...原创 2019-08-21 10:12:27 · 144 阅读 · 0 评论 -
P1048 采药
链接P1048 采药感想:emmm最简单的0-1背包问题code:#include <algorithm>#include <bits/stdc++.h>#include <stdlib.h>#include <stdio.h>#include <iostream>using namespace std;const i...原创 2019-08-12 18:50:43 · 198 阅读 · 0 评论 -
P1049 装箱问题
链接P1049 装箱问题感想这道题就是在0-1背包的基础上加了一点,就是0-1背包是需要装的东西最多(价值最大),但是这题是要求剩余的空间最少,那么首先dp数组里必然是用剩余的空间作为dp所存的内容,转移方程也随之变成了:if(dp[j-item[i]]-item[i]>=0) { dp[j] = min(dp[j], dp[j-item[i]]-item[i]); }code#in...原创 2019-08-12 19:07:20 · 132 阅读 · 0 评论 -
P1616 疯狂的采药
P1616 疯狂的采药感想这道题就是个完全背包,但是仍然荣获一次WA,有两个问题,首先是直接拿采药的源代码魔改的,所以数组范围忘了改,其次完全背包的内层循环要从cao[i].time到T,从零开始的话会有访问问题,这个要注意.code#include <algorithm>#include <bits/stdc++.h>#include <stdlib.h...原创 2019-08-12 19:14:54 · 212 阅读 · 0 评论 -
P1020 导弹拦截
P1020 导弹拦截思路:首先想到的转移方程就是:dp[i]=max(dp[j]j=高度大于i)+1dp[i] = max(dp[j]_{j=高度大于i})+1dp[i]=max(dp[j]j=高度大于i)+1就是说当考虑第i个导弹的状态时,应当是从前面所有比它高的导弹中取值最大的+1,emmm O(n2)O(n^2)O(n2)吧,但是第二题就不会了,难道要我重复求,直到求完?看了题解...原创 2019-08-12 19:52:51 · 86 阅读 · 0 评论 -
P1091 合唱队形
P1091 合唱队形思路:这道题刚开始思路想岔了,想把所有i遍历一边,前面和后面分别求最长上升序列,但是后来一想,其实不管i怎么变,dp的值都是不变的,所以可以直接两个for循环,顺序和逆序求一下最长上升,然后比较拿到的两个dp的数组.code:#include <algorithm>#include <bits/stdc++.h>#include <st...原创 2019-08-12 20:35:03 · 95 阅读 · 0 评论 -
1113: [Poi2008]海报PLA
1113: [Poi2008]海报PLA思路主要就是实际上只有高度一样的两个楼的海报可以用一张海报代替,相当于对当前楼A来说,只有它在往前找,直到找到一栋楼B A.height == B.height,并且所有的楼between A and B的高度都没有用了,可以弹出了,可以把A…B这大于等于两栋楼的所有楼等效成一个高度(也就是弹出这些楼的高度再塞入A的高度)也就是所谓的单调栈....原创 2019-08-21 21:08:52 · 149 阅读 · 0 评论 -
P1060 开心的金明
链接 P1060 开心的金明 感想emmmm就是一维数组要注意一下吧,模版而已code#include <algorithm>#include <bits/stdc++.h>#include <stdlib.h>#include <stdio.h>#include <iostream>using namespace st...原创 2019-08-07 15:30:26 · 169 阅读 · 0 评论 -
背包问题学习总结
背包问题文章目录背包问题1.0-1背包问题1) 无优化2) 一维数组优化3)常数优化1.0-1背包问题每种物品有放和不放两种情况1) 无优化f[i][j]=max(f[i−1][j],f[i−1][j−v[i]]+w[i])f[i][j]=max(f[i-1][j], f[i-1][j-v[i]]+w[i])f[i][j]=max(f[i−1][j],f[i−1][j−v[i]]+w[i...原创 2019-08-07 15:28:48 · 255 阅读 · 0 评论 -
P1067 多项式输出
链接 P1067 多项式输出感想:难以想象我搞了半个小时,,我天哪,,主要是刚开始逻辑写的太随意了,之后想改都不知道怎么改,还是要用纸和笔来演算一下推一下逻辑,然后要分开,符号的逻辑,系数的逻辑,x的逻辑都要分开,一个一个写,不然debug太伤心了代码#include <algorithm>#include <stdio.h>#include <stdli...原创 2019-08-02 17:40:24 · 172 阅读 · 0 评论 -
P1090 合并果子
链接P1090 合并果子感想我这数据结构学的真的是都还给老师了,关键脑子里就那么几种基础的数据结构,数列,栈和队列,就没了,所以这个堆就真的一点都没想到,还是看了题解才反应过来,我的天呐…也不知道自己到底在学啥,唉.有轮子就是好,优先队列一套瞬间ac了,唉,我简直zz.priority_queue 简介初始化priority_queue<int, vector, greater ...原创 2019-08-02 20:30:25 · 88 阅读 · 0 评论 -
P1181 数列分段Section I
链接P1181感想放在贪心的标题底下,就是最简单的使每一段最接近m就行,但是感觉不会这么简单?应该是数据太水了吧code#include <algorithm>#include <stdio.h>#include <iostream>using namespace std;const int maxn = 100000+5;int a[maxn...原创 2019-08-02 20:56:52 · 183 阅读 · 0 评论 -
P1219 八皇后
链接 P1219 八皇后感想想到是挺好想的,就是函数传的是行,函数体里循环列就行,用的是最简单的思路,简单到看代码就行,但是一直TLE,蒟蒻如我并不知道为什么,唉code#include <algorithm>#include <stdio.h>#include <iostream>#include <queue>using na...原创 2019-08-03 21:41:44 · 114 阅读 · 0 评论 -
P1019 单词接龙
链接P1019 单词接龙感想这道题还是看了题解才做出来的,一方面是我太菜,另一方面真的是被c++没有库,全部靠数组基本STL生造逻辑感动了.反正这道题思维难度倒是不大,主要还是学会分解比如把check函数,判断最小重叠的逻辑抽象出一个link出来,这样就一目了然了,不然直接在check里面实现,会比较冗杂(其实也就是一个大循环),另外要时刻去做单元测试,不然都不知道有什么问题…code#i...原创 2019-08-06 16:02:44 · 179 阅读 · 0 评论 -
P1101 单词方阵
链接P1101 单词方阵感想感觉这做一题需要的时间也太长了一点,一个半小时??不过断点调试这个功能真的不是一般的好用,当然还是写代码的时候脑子清楚一点更好,这个难度起不到练习的作用…但是只有做完了才知道…唉,这个难度的控制也是个问题…code#include <algorithm>#include <bits/stdc++.h>#include <stdl...原创 2019-08-06 16:40:39 · 127 阅读 · 0 评论 -
P1032 字串变换
链接P1032 字串变换感想这个题我也是佛了,从刚开始RE#3,WA#5,到最后RE#3,花了起码两个小时,还是很简单的逻辑问题,就是find只匹配第一个字串和没有匹配的字串时要记得退出.这些在刚开始写的时候一点都没有想到,可能那时候在想的是主逻辑能够跑通就行,所以还是建议拿笔和纸,写上todo,不然等吭哧吭哧的敲完代码再想改上鲁棒操作都不好下手…(这道题到是全靠STL过的,find函数和er...原创 2019-08-06 21:51:58 · 168 阅读 · 0 评论 -
P1141 01迷宫
链接P1141 01迷宫感想很显然???那我也太菜了吧!!!根本没有想到dfs,废话,在bfs的题目下面谁能想到…不过倒是从dfs的角度想就好简单…nmd,wsm,算了,心累,不写了...原创 2019-08-06 22:31:36 · 299 阅读 · 0 评论 -
P1003 铺地毯
链接:P1003感想:这道题的难度在于emmmm没有难度,坐标减了之后比较就行,但是还是wa了一次,没考虑到负数,就是x在x0的左边直接比较了。。但是说明不了啥,,如果认真点在纸上划一下应该没问题,速度还是太慢了,好久没打代码了唉、、自取代码(emmm会有人取吗)#include <algorithm>#include<stdio.h>#include <...原创 2019-08-02 16:59:41 · 222 阅读 · 0 评论