题意:求回收所有垃圾的最短路
思路:先BFS处理两个垃圾的距离,然后DFS记忆化搜索
dp[i][state]表示处理到第i个后状态是state的最短路
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 30;
const in...
分类:
其他好文 时间:
2014-06-19 12:55:30
阅读次数:
412
此题应用线段树的方法非常巧妙。没做过真的难想得出是这么想的。
是一个逆向思维的运用。
其实一看到这道题目我就想到要运用逆向思维的了,但是就是没那么容易想通的。
思路:
1 要从后面往前更新线段树
2 线段树记录的是当前区间还剩下多少个记录空间
3 因为后面的插入会使得前面的插入往后退,那么前面插入的下标如果大于前面可以插入的空间,就需要往后退了。
好难理解的操作。仔细观察一下下面up...
分类:
其他好文 时间:
2014-06-19 12:54:26
阅读次数:
248
超级恶心的一道题目。。。
查错查了一个小时。。。。
1,要用C++,用G++会wa。
2,注意检查边界。
3,注意标记的下放方式。
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:1024000000,1024000000")
u...
分类:
其他好文 时间:
2014-06-19 12:07:20
阅读次数:
217
很水的splay树。
会简单的操作即可。。。
#include
#include
#include
#include
#include
using namespace std;
#define maxn 1100000
#define mem(a,b) memset(a,b,sizeof(a))
#define root10 ch[ch[root][1]][0]
#define root1 c...
分类:
其他好文 时间:
2014-06-19 11:56:59
阅读次数:
328
http://poj.org/problem?id=3440http://poj.org/problem?id=3440...
分类:
其他好文 时间:
2014-06-19 11:00:32
阅读次数:
241
POJ1258
思路:首先把第一个结点加入树中,每次往树中加入一个结点,加入的结点必须是与当前树中的结点距离最小那个点,这样每次把结点加入树中选取的都是最小权值,循环n-1次后把所有结点都加入树中。
#include
#include
#include
using namespace std;
const int MAXN = 1e9;
//创建map二维数组储存图表,low数组记录每2个点...
分类:
其他好文 时间:
2014-06-19 09:54:24
阅读次数:
255
fflush(stdin)会导致Runtime Error...
分类:
其他好文 时间:
2014-06-16 12:11:13
阅读次数:
245
Currency Exchange
Time Limit: 1000MS
Memory Limit: 30000K
Total Submissions: 18899
Accepted: 6743
Description
Several currency exchange points are working in our city...
分类:
其他好文 时间:
2014-06-16 11:44:36
阅读次数:
208
题目:有n个人,第i个人的重量为wi,每艘船的最大载重量均为C,且最多只能乘两个人。用最少的船装载所有人。
分析:贪心法!
考虑最轻的人i,他应该和谁一起坐呢?如果每个人都无法和他一起坐船,那么唯一的方案就是每个人坐一艘船!
否则,他应该选择能和他一起坐船的人中最重的一个j。
这样的方法是贪心的!因为:它只是让“眼前”的浪费...
分类:
其他好文 时间:
2014-06-16 11:18:46
阅读次数:
549