摘要:
题意 给了一个n*m的网格 然后一台挖掘机从(0,0) 这个位置出发,收集完全部的石头回到(0,0)挖掘机可以有无限的载重用旅行商处理 dp[k][i] 表示在这个集合中最后到达i的最小距离,用集合上的dp, dp[S|(1#include #include #include #include us... 阅读全文
摘要:
将树映射在线段上进行操作 然后每个 重链变成一个连续的区间#include #include #include #include #include #pragma comment(linker,"/STACk:10240000,10240000")using namespace std;const... 阅读全文
摘要:
这题说的是给了三维空间然后操作 寻求在 x1,y1,z1 x2, y2, z2; (x1#include #include #include using namespace std;const int maxn=50005;struct point{ int x,y,z,delt,qnum,k... 阅读全文
摘要:
这题说的是 在一个 森林中 两个人在这棵树上涂颜色,黑色或者白色,第一次只能在1 号节点上涂色 第二次 只能在2上涂,以此类推, 在每个节点上只能涂黑色或者白色,并且相邻的点不能有相同的颜色,最后求不能填的人就输了。每个点周围的比他小的点 都会有一个祖先(或者是他们自己),我们知道他周围的点的祖先中... 阅读全文
摘要:
hdu5125 他说的是n个人每个人都有两个气球a,b,气球各自都有相应的体积,现在让他们按照序号排列好来,对他们的a气球体积值计算最长上升子序列,对于这整个排列来说有m次机会让你将a气球替换成b气球(允许不使用完),问最后的最长上升子序列的长度是多少,哈哈,当然用dp的思想我们很容易就能知道状态的... 阅读全文
摘要:
转自http://vawait.com/manhattanmst/严谨的论文请看:戳这里或者戳这里,还有一个blog的也可以看看:戳这里。可以证明每一个顶点在最小生成树中在这45度的范围内至多仅有一条边与之相连,也就是如果以一个点为原点,那么上面分成的八个区域里面最多和每个区域连一条边。首先只考虑R... 阅读全文
摘要:
len j+F[j]/2 最大的;#include #include #include #include #include using namespace std;const int maxn = 1000005*2;char s[maxn];char str[maxn];int ans;int ... 阅读全文
摘要:
算法可以参考http://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html百度文库#include #include using namespace std; const int MM=100005; int next[MM],extand... 阅读全文