上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 69 下一页
摘要: 时间复杂度很大。dp[i][j]表示第i轮 j这种状态的概率。 阅读全文
posted @ 2016-03-18 21:25 Fighting_Heart 阅读(524) 评论(0) 推荐(0)
摘要: 网络流入门题。 源点到每一个学生连一条边,容量为1 每个学校到汇点连一条边,容量为L 符合要求的学生和学校之间连边,容量为1。 从源点到汇点的最大流就是答案。 阅读全文
posted @ 2016-03-17 21:26 Fighting_Heart 阅读(204) 评论(0) 推荐(0)
摘要: 递归构造答案。 根据当前整颗树的编号,可以计算左右子树有几个节点以及编号。因此,不断dfs下去就可以了。 阅读全文
posted @ 2016-03-17 21:24 Fighting_Heart 阅读(195) 评论(0) 推荐(0)
摘要: 水题。DFS求连通块。 阅读全文
posted @ 2016-03-17 21:22 Fighting_Heart 阅读(150) 评论(0) 推荐(0)
摘要: 首先有一个规律:当一个数字归位的时候,所有数字都会归位。 因此只需要模拟一个数字就可以了。 阅读全文
posted @ 2016-03-17 21:21 Fighting_Heart 阅读(134) 评论(0) 推荐(0)
摘要: 用栈来算一算就可以了。 阅读全文
posted @ 2016-03-17 21:19 Fighting_Heart 阅读(313) 评论(0) 推荐(0)
摘要: 这题有毒。要用long double定义,以及cout控制格式输出。 阅读全文
posted @ 2016-03-17 21:18 Fighting_Heart 阅读(123) 评论(0) 推荐(0)
摘要: 水题,倒着输出。 阅读全文
posted @ 2016-03-17 21:17 Fighting_Heart 阅读(143) 评论(0) 推荐(0)
摘要: 水题。统计一下周围有几个雷。 阅读全文
posted @ 2016-03-17 21:17 Fighting_Heart 阅读(263) 评论(0) 推荐(0)
摘要: 区间DP。dp[i][j]表示第i到第j个全部释放最小费用。 阅读全文
posted @ 2016-03-17 11:29 Fighting_Heart 阅读(410) 评论(0) 推荐(0)
摘要: DP+离散化。 首先需要把时间离散化,剩下的就是简单DP。 还要判断哪些选修课与必修课时间有重合,我用了前缀和来处理。 注意:这题时间端点也不能重合。 阅读全文
posted @ 2016-03-16 09:24 Fighting_Heart 阅读(194) 评论(0) 推荐(0)
摘要: 手算。 阅读全文
posted @ 2016-03-16 07:30 Fighting_Heart 阅读(210) 评论(0) 推荐(0)
摘要: 这个问题转化一下就是求长度为2*n的正确括号匹配串,两个匹配的括号之间的距离不超过2*k的有几种。 假设左括号为1,右括号为-1,dp[i][j]表示长度为i的括号匹配串,前缀和为j的有几种。dp[2*n][0]就是答案。 递推式: 阅读全文
posted @ 2016-03-16 07:29 Fighting_Heart 阅读(158) 评论(0) 推荐(0)
摘要: 一共六种情况。手算即可。 阅读全文
posted @ 2016-03-16 07:26 Fighting_Heart 阅读(184) 评论(0) 推荐(0)
摘要: 差分约束系统。 由题意直接可以得到一系列不等式,直接可以建图跑最短路。 如果存在负环,那么输出-1,如果1到n的最短路距离无穷大,那么输出-2,其余输出1到n的最短路距离。 关于查分约束系统可以看这篇博客http://www.cnblogs.com/void/archive/2011/08/26/2 阅读全文
posted @ 2016-03-14 20:33 Fighting_Heart 阅读(157) 评论(0) 推荐(0)
摘要: 看了半天发现原来是最小生成树啊...... 先操作一次最小生成树,再看有几个集合,答案还需要加上集合数量*10000   阅读全文
posted @ 2016-03-14 19:36 Fighting_Heart 阅读(193) 评论(0) 推荐(0)
摘要: 最短路预处理+枚举。 1到n的次短路长度必然等于 从1走到X的最短路+x到y的边权+y到n的最短路。 首先预处理好1到每一个节点的最短路,和n到每一个节点的最短路。 然后枚举每一条边作为中间边[x,y]或者[y,x],如果加起来长度是最短路则跳过,否则更新答案。   阅读全文
posted @ 2016-03-14 09:55 Fighting_Heart 阅读(167) 评论(0) 推荐(0)
摘要: 并查集。看了《挑战程序设计竞赛》才会的。POJ多组数据提交会WA。 主要思路是把一个点拆成三个点。i,i+n,i+2*n分别表示 i 是A类,B类,C类。 如果 i 和 j+n在同一集合内,表示 i 是A类的时候,j 一定是B类。   阅读全文
posted @ 2016-03-13 20:04 Fighting_Heart 阅读(219) 评论(0) 推荐(0)
摘要: 贪心,优先级队列。 基本思路:走过一个加油站,先不要加油,把这个油量存到仓库,到油量不够的时候去仓库补油,补油优先选择油量大的。 细节较多,容易写错。 #include<cstdio> #include<cstring> #include<cmath> #include<queue> #includ 阅读全文
posted @ 2016-03-11 19:38 Fighting_Heart 阅读(184) 评论(0) 推荐(0)
摘要: 简单贪心,每次合并长度最小的两段,优先级队列维护一下。 #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm> using namespace std; const int maxn 阅读全文
posted @ 2016-03-11 13:18 Fighting_Heart 阅读(142) 评论(0) 推荐(0)
上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 69 下一页