一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在 107107 为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: n≤30, 指数级别, dfs+剪枝,状态压缩dpn≤100 => O(n3),floyd,dpn≤1000 => O(n2) ...
分类:
编程语言 时间:
2020-02-03 22:35:29
阅读次数:
89
PAT (Advanced Level) 大纲 在达到乙级要求的基础上,还要求: 具有充分的英文阅读理解能力; 理解并掌握基础数据结构,包括:线性表、树、图; 理解并熟练编程实现经典高级算法,包括哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、 "深度优先搜索" 、广度优先搜索、回溯剪枝等; ...
分类:
其他好文 时间:
2020-02-02 21:41:12
阅读次数:
102
这道题是一道dfs好题,很多人在题解里用了各种剪枝,以及一些奇奇怪怪的优化,还有大佬用的舞蹈链算法,蒟蒻不会舞蹈链,剪枝的效果也不是很好,只能用一些优化来过这道题了。 这道题虽然已经有很多题解了,但是我还是来交题解的原因是我觉得我的代码跑的,可以给大家提供一些关于搜索顺序的思路,~~希望管理员不要认 ...
分类:
其他好文 时间:
2020-01-31 15:58:58
阅读次数:
62
很经典的搜索题,直接爆搜会卡在连续相同长度的木棍,可以先排序,预处理该长度不行直接跳下一长度木棍的位置 但此题特殊,木棍长度小于50,我们可以直接桶排序 还有就是关于回溯的理解: 我们写的dfs为的是判断ans是否可行,可行解自然已经被记录下来了,并且一路return即,若回溯到了相同or类似情况, ...
分类:
编程语言 时间:
2020-01-30 15:49:17
阅读次数:
104
小明做了一个很久很久的梦,醒来后他竟发现自己和朋友在一个摇摇欲坠的大棋盘上,他们必须得想尽一切办法逃离这里。经过长时间的打探,小明发现,自己所在的棋盘格子上有个机关,上面写着“你只有一次机会,出发后t秒大门会为你敞开”,而他自己所在的棋盘是大小为 N*M 的长方形,他可以向上下左右四个方向移动(不可 ...
分类:
其他好文 时间:
2020-01-28 21:13:21
阅读次数:
62
1 题目 "Leetcode第18题" ,给定一个数组与一个target,找出数组中的四个数之和为target的不重复的所有四个数. 2 暴力 m为固定的数,left与right就是双指针,根据"三数"之和判断与目标值的大小移动双指针. 最小剪枝就是首先计算"三数"的最小值,若大于目标值就可以跳过, ...
分类:
其他好文 时间:
2020-01-26 14:32:50
阅读次数:
56
好美的图论,真的 light up my life!题意: 给出一个只含有若干1,2,3的数列,我们可以两两交换数列元素;要求输出让这个数列不减的最小交换次数。 思路: 首先看起来很像冒泡.....然鹅要最少交换次数——显然不是模拟冒泡了。 开始用深搜来着,显然没办法剪枝,果断T掉。这个时候就要想一 ...
分类:
其他好文 时间:
2020-01-23 21:09:24
阅读次数:
59
dfs: 给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1≤n≤71≤n≤7 输入样例: 3 输出样例: 1 2 3 1 3 2 2 1 3 ...
分类:
其他好文 时间:
2020-01-23 14:12:37
阅读次数:
83
C - N皇后问题 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。 ...
分类:
其他好文 时间:
2020-01-23 12:29:21
阅读次数:
105
Problem Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ...
分类:
其他好文 时间:
2020-01-22 14:39:56
阅读次数:
72