2013年7月25日
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4606两点之间如果有线段相隔的话,他们的最短路就需要经过线段的端点把所有线段的端点也加入点数组中,求任意两个点的距离(可达的话,没有其他线段阻挡)然后对所有的点进行floyd 可以求出任意两点的最短路然后二分所需容量 根据容量和要求的顺序进行建图,求最小覆盖路径(匈牙利算法)代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#inc 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4610先求出每个数的得分情况,分数和得分状态,(1#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef unsigned int uint;const double eps=1e-12;const int INF=0x3f3f3f 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4605可以离线求解把所以可能出现的 magic ball 放在一个数组里(去重),从小到大排列先不考虑特殊情况,对二叉树进行dfs 搜索的过程中需要维护各个magic ball到当前节点的概率维护:根据当前节点大小 和要去左子树还是右子树的情况,可以得到magic数组中哪个段的x和y需要同时加上多少可以用线段树维护特殊情况:1,根节点一定可以到达2,到达不了的情况需要标记代码:#include#include#include#include#include#include#include#include#in 阅读全文