摘要:
BFS + 状态压缩 险过 这个并不是最好的算法 但是写起来比较简单 , 可以AC,但是耗时比较多下面是代码 就不多说了#include #include #include #include #include using namespace std; #define Max(a,b)... 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1523此题大意为 给你一串摩尔斯密码 再给你一个字典(下面单词本)用下面的单词组合成给你的摩尔斯密码, 问最多有多少种不同的组合方式。题解分析:1.设字符串的长度为len , 判断dp[i]处是否可达, ... 阅读全文
摘要:
这是个线段树题目,做之前必须要有些线段树基础才行不然你是很难理解的。此题的难点就是在于你加的数要怎么加,加入你一直加到叶子节点的话,复杂度势必会很高的具体思路在增加时,如果要加的区间正好覆盖一个节点,则增加其节点的Inc值,不再往下走,否则要更新Sum(加上本次增量),再将增量往下传。这样更新的复杂... 阅读全文
摘要:
简单的线段树,多余的就不解释了。 1 #include 2 #include 3 4 using namespace std; 5 #define INF 0xffffff0 6 #define max(a,b) (a>b?a:b) 7 #define min(a,b) (a Tree[root]... 阅读全文
摘要:
此题的大意就是要制作一条项链,这个项链必须用k块石头来制作,且重量不能超过W,问所能制作项链的最大价值。此题数据很水,DFS完全暴力就能过。 1 #include 2 #include 3 #include 4 #define MAX(A,B) (A>B?A:B) 5 int n, k, W;//n... 阅读全文
摘要:
简单深搜,可以完全暴力,不会超时的。#include#include#includeusing namespace std;#define MAX(a,b) (a>b?a:b) char maze[10][10];int n, maxn;void DFS(int step,int count);in... 阅读全文
摘要:
这是一道深搜题目!问题的关键是在剪枝。下面我们对问题进行分析:1.一行只能放一个皇后,所以我们一旦确定此处可以放皇后,那么该行就只能放一个皇后,下面的就不要再搜了。2.每一列只能放一个皇后,所以我们下次搜索就不要再搜已经放过的皇后了。3.斜的45°线也只能放一个。综上如何才能最快速的确定一列和45°... 阅读全文