摘要:
HDU_2933 具体的思路可以参考《浅谈数形结合思想在信息学竞赛中的应用》。#include<stdio.h>#include<string.h>#include<algorithm>#define MAXD 100010typedef long long LL;int N, K, A[MAXD], q[MAXD];void cin(int &x){ char ch; while(ch = getchar(), ch < '0' || ch > '9'); x = ch - '0'; wh 阅读全文
摘要:
HDU_3053 这个题目和POJ_1160几乎是一样的,具体的一些思路可以参考我的POJ_1160的题解:http://www.cnblogs.com/staginner/archive/2012/03/12/2391925.html?updated=1。#include<stdio.h>#include<string.h>#include<algorithm>#define MAXD 3010#define INF 0x3f3f3f3fint N, P, f[MAXD][MAXD], K[MAXD][MAXD], A[MAXD], a[MAXD];voi 阅读全文
摘要:
HDU_3452 设树整体的根为T,对于以i为根节点的一棵子树,f[i]表示断开这棵树中的叶子和T的联系所需的最小代价。要断开i这棵子树中的叶子和T的联系,那么就是要断开i的所有孩子为根的子树中的叶子和T的联系。这样对于i的任意一个孩子j,要么j的叶子本来就和i断开的联系,要么就断开i->j这条边,依据这一点就可以用dp自底向上求得每个f[i]了,f[T]即为最后结果。#include<stdio.h>#include<string.h>#include<algorithm>#define MAXD 1010#define MAXM 2010#defi 阅读全文