题目传送门 分析: 暴力DP无法通过,考虑按横坐标进行分治 假设目前分治区间中点为$mid$,沿这一列将矩形划分成两份,如果一次询问两端分别在两边,那么其路线一定经过$mid$这一列上的某一点 设$f[x][y][k]=0/1$表示$(x,y)\(能否走到\)(k,mid)$ 最后答案只需要判断是否 ...
分类:
其他好文 时间:
2020-07-09 15:06:31
阅读次数:
73
字符串算法~KMP 有个视频讲的挺好的: 传送门 首先给一个字符串s,与另外一个字符串q,判断q是否是s的子串。 如何判断,先考虑暴力判断,枚举s字符串的每一位作为开头与q比较是否与q的每一位都相同,不相同及时break进入q的下一位继续从头开始比较,这样暴力判断其实也很快,一般情况下与KMP也没差 ...
分类:
编程语言 时间:
2020-07-09 09:23:19
阅读次数:
70
题解如下: public class DivingBoardLCCI { /** * 暴力解法,遍历每一种可能性 时间复杂度:O(2*N) * @param shorter * @param longer * @param k * @return */ public int[] divingBoar ...
分类:
其他好文 时间:
2020-07-08 22:43:02
阅读次数:
46
A. 售票系统 题目描述 输入格式 输出格式 样例 样例输入 4 6 4 1 4 2 1 3 2 2 4 3 1 2 3 样例输出 YES YES NO NO 分析 这道题就是一个线段树的区间修改和区间查询,但但但但是这道题n2可以过!!!!由于本人异常懒惰,就不写线段树的了,直接贴出暴力的代码,这 ...
分类:
其他好文 时间:
2020-07-08 20:16:54
阅读次数:
96
https://zoj.pintia.cn/problem-sets/91827364500/problems/91827368971 需要判断凸包,学了再来补; 先说dp部分, dp[ i ][ j ]表示划分起点为i,终点为j的凸多边形所需的花费; dp [ i ] [ j ] =min ( d ...
分类:
其他好文 时间:
2020-07-08 01:28:39
阅读次数:
73
暴力枚举即可,注意特判k为0的情况。 class Solution { public: vector<int> divingBoard(int shorter, int longer, int k) { if(k == 0) { return {}; } vector<int> res; set<i ...
分类:
其他好文 时间:
2020-07-08 01:02:55
阅读次数:
53
原题链接 https://ac.nowcoder.com/acm/contest/4370/K 去年上海现场赛的一道签到题 太菜了对着这题自闭好久 现在看其实就是一道二分图判断奇环,唯一要思考的地方是怎么枚举可行的情况。解法是因为n很小所以可以二进制暴力枚举染色为1的点然后暴力判断(其实也不难想) ...
分类:
其他好文 时间:
2020-07-07 16:08:24
阅读次数:
82
LINK:CF321E Ciel and Gondolas 很少遇到这么有意思的题目了。虽然很套路。。 容易想到dp $f_{i,j}$表示前i段分了j段的最小值 转移需要维护一个$cost(i,j)$ 暴力显然不太行 不过暴力枚举决策的话 可以预处理前缀和线性推出。 显然想要优化决策的话第一步就需 ...
分类:
其他好文 时间:
2020-07-06 16:17:17
阅读次数:
57
对拍是用来检验自己写的正解的正确性的东西。 操作说明: 1.准备好自己写的暴力(b.cpp 和 b.exe)和正解(z.cpp 和 z.exe)。 2.写一个造数据的程序(shuju.cpp 和 shuju.exe),根据题目要求自己造。 3.写一个对拍程序(duipai.cpp 和 duipai. ...
分类:
其他好文 时间:
2020-07-06 13:09:41
阅读次数:
68
题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 示例: 输入: [2,1,5,6,2,3]输出: 10 解题 ...
分类:
其他好文 时间:
2020-07-06 12:47:55
阅读次数:
57