暴力
Lzed
我好菜啊
展开
-
Codeforces750D-New Year and Fireworks(bfs)
题目链接http://codeforces.com/contest/750/problem/D思路其实可以直接暴力的,虽然n有30那么大,状态可以达到2302^{30},但是每次生成的节点最多向左边扩展5个,因此,其实向左最大扩展150个,向右最多150个,所以格子最大300∗300300 * 300, 然后每个节点最多向8个方向扩展,并且对每个节点可以走的步数(tit_i)最大为5,于是总得状态为原创 2016-12-31 15:23:29 · 590 阅读 · 0 评论 -
Leetcode 467 - Unique Substrings in Wraparound String(暴力)
题意我们有一个串s,是由abcdefg…z循环连接而成的, 给出一个字符串p,求p得所有子串在s中出现的次数。思路最初的想法是用d[i,j]d[i, j]来表示:p中的第i位,是一个j连续的串的出现次数和,但是这样会算重,比如我们的”cac”,里面c会被重复统计两次。那么,我们就需要考虑如何避免算重。假如我们的p中同时包含“abcd”和”bcd”,考虑”abcd”的子串:a, b, c, d, ab原创 2017-02-04 16:16:20 · 225 阅读 · 0 评论 -
Leetcode 343 - Integer Break(暴力)
题意给定一个整数n(2≤n≤582 \leq n \leq 58),将n拆成至少2个数,使这些数乘起来的积最大。思路首先,2,3的返回值要单独判断(因为2,3拆了后反而更小, 但是题目要求必须拆出来2个数)然后,我们设d[i]为数i能够得到的最大积。我们再预处理d[2] = 2, d[3] = 3。然后从4开始循环到n,对每个数i,有d[i]=max(d[i],d[j]∗d[i−j])1≤j<id[原创 2017-01-23 16:55:25 · 174 阅读 · 0 评论 -
Leetcode 337 - House Robber III(dfs)
最近实验多成狗完全没时间刷题啊= =题意给定一个二叉树,每个节点上有value,要求从二叉树上选一些点,是这些点的和加起来最大。并且有要求:如果一个节点选择了,那么其父节点和子节点都不能被选择。思路算法1暴力dfs,记录当前访问的节点及其父节点的访问状态:dfs(TreeNode *root, int s)s=1s = 1:父节点被访问了,那么该节点不能被访问。只能转移到dfs(root->left原创 2017-03-22 11:06:24 · 200 阅读 · 0 评论 -
Leetcode 51 - N-Queens(八皇后问题)
题意求N皇后问题的解思路回溯法,最后递归返回时还原路径即可。代码class Solution { private: int a[100]; int n; vector<vector<string>> ans; public: void dfs(int step) { if (step >= n) { vector<string>原创 2017-03-22 15:00:52 · 427 阅读 · 1 评论