• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

  • 联系
  • 订阅
  • 管理
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

2011年1月26日

poj 2983 Is the Information Reliable? 差分约束判断回路

摘要: 这题加深我对差分约束的源点理解。 这题是判断图中是否存在环(用最短路或最长路), 开始用spfa, 狂WA,想不通,看了讨论说要添加一个超源点,添加了就AC了。 总结:用spfa算法判断图中是否存在环,要保证从源点开始,能到达各个顶点,这样才能保证差分约束里的各个不等式成立。因为要是源点到达不了某个顶点的话(即图是不连通的),那么从该顶点就无法入队,导致从该顶点出发的所有不等式,都没有得到检查... 阅读全文

posted @ 2011-01-26 21:08 sysuwhj 阅读(567) 评论(0) 推荐(0)

poj 3169 Layout 差分约束

摘要: 设d[i] 为 第i只牛到第1只牛的距离 根据题意有: d[1] = 0; d[b] - d[a] = D(ml) d[b] – d[a] = D(md) d[i] – d[i-1] = 0 题目说牛是从1~n排列下去,这是题目隐藏的条件,刚开始没有加这个条件也能ac d[i] – d[1] = 0 (1= i = n) 以1为源点开始搜索,d[n]就是答案,当d[n] = ... 阅读全文

posted @ 2011-01-26 21:07 sysuwhj 阅读(397) 评论(0) 推荐(0)

差分约束学习笔记

摘要: 这几天学了差分约束,总结一下。 先从百度百科摘录差分约束系统定义: 如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi<=bk(i,j∈[1,n],k∈[1,m]),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。 差分约束可以转化话单源最短路求解。因为单源最短路径满足三角不等式d[v] <= d[u] + w(u, v), 这里的 <= 可以为改 >= 只要改变一下初始化条件即可。 差分约束题目有两种,一种求最大值,另外一种求最小值。 (1)当题目 阅读全文

posted @ 2011-01-26 21:03 sysuwhj 阅读(945) 评论(0) 推荐(0)

2011年1月20日

hdu 3639 Hawk-and-Chicken 强连通分支

摘要: 刚看了强连通分量,找来些题练练。发现强连通不会赤裸裸地考,会结合一些其它知识。 这题做得比较曲折,一开始没有强连通,对反向图的每个点进行一次dfs, 发现超时,后来用了强连通,弄了很久才弄出。 解题思路:先把强连通分支压缩成一个点,再组成一个有向无环反向图, 对每个入度为0的点进行dfs, 找出最大的值即可。注意到,答案只能是在反向图入度为0 的点中。 阅读全文

posted @ 2011-01-20 22:36 sysuwhj 阅读(729) 评论(0) 推荐(0)

2011年1月18日

hdu 2066 一个人的旅行 最短路

摘要: 这题简单的最短路,一开始我还傻傻地去用bfs写,WA了几次后,发现用错方法了,用bfs求最短路,是对每条边权值都相同的图才可以的,后来改用单源最短路径, 这题数据规模比较大(a,b去到1000)不能用floyd算法。 阅读全文

posted @ 2011-01-18 22:07 sysuwhj 阅读(554) 评论(0) 推荐(0)

2010年12月21日

HDU 1394 Minimum Inversion Number 逆序数

摘要: 杭电这题,也是逆序数,规模比poj小很多,可以不用归并,直接暴力统计。 这题要求最小的逆序数,开始每次序列都重新用归并算一次,发现超时了,后来看了别人解题报告发现原来可以利用一开始计算的那个逆序数。这题比较特别,输入的n个数是0~n-1的。 从该数字hold[i]就可以知道比它小的数有hold[i]个,比它大的数有n-1-hold[i]个. 每次把hold[i]放到最后时,ans = ans... 阅读全文

posted @ 2010-12-21 22:58 sysuwhj 阅读(584) 评论(0) 推荐(0)

POJ 2299 Ultra-QuickSort

摘要: 今晚学习了逆序数,基本上照着别人的程序写的。利用归并排序来统计逆序数。 当归并两条有序链时,可以同时计算逆序数。 当left=i=mid,mid+1=j=right,如果有a[i]a[j],这样的说明在a的前段中i...mid的元素都比a[j]大,于是逆序数+=mid-i +1;如果a[i]a[j],这样的发生说明属于正常排序. 这题如果是用O(n^2)的方法统计会超时,注意要用... 阅读全文

posted @ 2010-12-21 22:43 sysuwhj 阅读(250) 评论(0) 推荐(0)

2010年12月15日

HDU 1176 免费馅饼 dp

摘要: 这题一开始看不知如何dp,看了别人的解题报告才知道是数塔的变形 dp[i][j] 表示从i~n秒第j个位置获得的最多馅饼数 dp[i][j] = max (dp[i][j], dp[i+1][j-1], dp[i+1][j], dp[i+1][j+1]) 阅读全文

posted @ 2010-12-15 20:32 sysuwhj 阅读(484) 评论(0) 推荐(0)

HDU 1160 FatMouse's Speed dp

摘要: 这题是看杭电acm课件做的,和一维的最长有序子序列差不多。 先按mice的重量为第一关键字升序排序,再按mice的speed按降序排序,然后开始dp 对杭电课件那个记录数组的意义不理解。 num[i]是记录从0~i个mice的最长子序列,num[i] = max (num[j]+1, num[i]) , 0= j i 一开始用string保存路径输出,不断地WA,想了很久,才发现问题... 阅读全文

posted @ 2010-12-15 16:51 sysuwhj 阅读(625) 评论(0) 推荐(0)

2010年12月14日

HDU 1231 最大连续子序列 dp

摘要: //状态方程为c[n] = max(c[n-1]+a[n], a[n])//c[0] = a[0]#include iostream#include stdio.h#define MAX 10005using namespace std; int main(){ int a[MAX]; int c[MAX]; int hold_start[MAX]; //保存起始点 int n; whi... 阅读全文

posted @ 2010-12-14 20:43 sysuwhj 阅读(367) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3