上一页 1 2 3 4 5 6 7 8 9 ··· 48 下一页
  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 阅读全文
posted @ 2013-07-25 20:49 夜-> 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-07-25 19:25 夜-> 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-07-25 11:47 夜-> 阅读(172) 评论(0) 推荐(0) 编辑
  2013年7月23日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4604将原数组根据其大小关系处理后 使其大小全在10^5内处理后为 a1,a2,a3.....an最优deque b1,b2,b3....bm先不考虑有相等的情况假设bj在数组a中出现的最早 对应到a数组中为ai那么从bj到bm为 以ai为起点到an的最长递增序列(必须包括ai) 用(ai,L)表示以及从bj到b1为 以ai为起点到an的最长递减序列(必须包括ai) 用(ai,R)表示但这样没有考虑b中有相等的情况 不过思路有了 剩下处理相等既可以了把(ai,L)改为非递减 把(ai,R)改为非递增 最后把重 阅读全文
posted @ 2013-07-23 23:41 夜-> 阅读(186) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4607先求树的直径 方法:两遍bfs ,任选一点 a 求到a点最远的一点b ,然后 求到b点最远点 c这样 b和c之间的路径为 树的直径然后讨论假设直径上的点个数为 k 要访问的点个数为 v1)如果vk 首先还是要走直径 但是 m=v-k 这m个点要到其他枝叶上访问 一共要花费 2*m代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#includ 阅读全文
posted @ 2013-07-23 21:21 夜-> 阅读(180) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4608直接暴力代码:#include#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=0x3f3f3f3f;cons 阅读全文
posted @ 2013-07-23 21:07 夜-> 阅读(180) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4602输入 n 和 k首先 f(n)中k的个数 等于 f(n-1) 中 k-1的个数最终等于 f(n-k+1) 中 1 的个数舍 s(n) = f(n) + f(n-1) + ....+ f(1)则 f(n) = s(n) - s(n-1)由于 s(n) = s(n-1) + 2^(n-2) + s(n-1) = 2*(s(n-1)) + 2^(n-2) = 2^(n-1) + (n-1)*2^(n-2) = (n+1)*2^(n-2)代码:#include#include#include#inclu... 阅读全文
posted @ 2013-07-23 21:01 夜-> 阅读(197) 评论(0) 推荐(0) 编辑
  2013年7月20日
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1811矩阵快速幂代码:#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef unsigned int 阅读全文
posted @ 2013-07-20 16:59 夜-> 阅读(325) 评论(0) 推荐(0) 编辑
  2013年7月12日
摘要: 思路太繁琐了 ,实在不想解释了代码:#include#include#include#include#include#include#include#include#include#include#include#define ull unsigned long long#define ll long long#define lint long longusing namespace std;const int INF=0x3f3f3f3f;const int N=53;ll c[N][N];ll dp[N][N][N];ll dp1[N][N][N];class Excavations{ . 阅读全文
posted @ 2013-07-12 17:49 夜-> 阅读(262) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2862晕 多加了一个# wa了N久 细节呀代码及其注释:#include#include#include#include#include#include#include#include#include#include#include#define ull unsigned long long#define ll long long#define lint long longusin 阅读全文
posted @ 2013-07-12 17:17 夜-> 阅读(176) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 48 下一页