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






This_poet——Only a poet

为省队而奋斗,为NOI而奋斗!This_poet@126.com
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2011年9月14日

POJ1465 Multiple——Bfs+余数判重——Pku1465
摘要: 这道题精在判重优化。因为如果存在两个数A、B,且满足A mod n=B mod n=C,那么,这两种情况可以看做是重复的,保留较小数即可。具体优化,开一个布尔数组即可。特别需要注意一点:如果n=0,那么应当输出0!!!{本弱就因为这个WA了半天,看Discuss才明白的……}CODEProgram Multiple;//By_ThispoetConst maxn=20000;Var h,t,j,k,m,n,i :Longint; seq,fa,mol :Array[1..maxn]of Integer; a :Array[1..maxn]of Longint; fg ... 阅读全文
posted @ 2011-09-14 19:31 This_poet 阅读(692) 评论(0) 推荐(1)
 
二分图相关问题
摘要: 声明:这是本菜在学习二分图相关知识的时候神小花儿推荐的课件中的知识。现在整理上来和大家分享。二分图相关问题:二分图定义及判定二分图最大匹配二分图最小覆盖二分图最大独立集二分图最小路径覆盖二分图最优匹配稳定婚姻问题一、定义及判定:定义:二分图中,顶点可以分为两个集合X和Y,每一条边的两个顶点都分别位于X和Y集合中判定:利用BFS或者DFS进行黑白染色,共享一边的两点异色,检查是否存在矛盾图G为二分图的充要条件是图中不含奇环二、二分图最大匹配定义:匹配是二分图中边的集合,且集合中的任意两条边没有公共点,包含边数最多的匹配就是最大匹配匈牙利算法:1、概念:交错路对于一个匹配M,如果能找到一条奇数长度 阅读全文
posted @ 2011-09-14 16:54 This_poet 阅读(2104) 评论(0) 推荐(0)
 
POJ1325 Machine Schedule ——二分图最小覆盖——Pku1325
摘要: 二分图最小覆盖:找到一个点集,使得每条边上至少有一个点在该集合中。证明二分图最小覆盖=二分图最大匹配:二分图最大匹配后,每个点都不能找到增广路,而找不到增广路的原因就是至少有一个点已经被匹配了。即这个点在二分图的最大匹配中。而二分图最大匹配中会存在同一条边两个点都在这个点集中的情况,我们只要取一个点即可。本题当中,将机器A上的模式看作X集合,机器B上的模式看作Y集合,每个任务对应一条边,两点分别为在A,B上的模式,建立二分图。可以看出,最小的重新启动次数就是二分图的最小覆盖——即最大匹配。普通匈牙利算法即可。Hint:注意一点:读入时要加上这样一句话,否则会WA:if p*q=0 then c 阅读全文
posted @ 2011-09-14 09:06 This_poet 阅读(562) 评论(0) 推荐(0)
 
POJ3167 Cow Patterns ——有趣的KMP算法——Pku3167
摘要: 这道题还是很有意思的。题目大意如下:给定一个模式串,如果在主串中存在这样一个子串:子串长度与模式串长度相同,且子串中各个数字的大、小、同关系和模式串中的大、小、同关系是一样的,就称该子串满足条件。比如说模式串:1,4,4,2,3,1 而主串:5,6,2,10,10,7,3,2,9那么主串第三位开始的2,10,10,7,3,2就是满足条件的具体的算法很巧妙:我们对于每一个模式串中的数字要进行预处理,处理的方法很简单:分别找出三个数字作为它的定位数字:1、前面离它最近的比它小的最大的数字的编号2、前面离它最近但不是它本身的和它相同的数字的编号3、前面离它最近的比它大的最小的数字的编号有了这三个定位 阅读全文
posted @ 2011-09-14 07:53 This_poet 阅读(2164) 评论(0) 推荐(0)
 
POJ3461 Oulipo ——KMP算法——Pku3461
摘要: 建议大家学一学比较巧妙的KMP算法吧,很有意思。推荐个题目:POJ3167 Cow Patterns 题解我会发在本博里。这个KMP就木有什么好说的了吧,大家找百度百科学一下就可以了~CODEProgram KMP;//By_ThispoetConst maxn=1000005;Var st,s :Ansistring;//st is long and s is short pre :Array[-1..maxn]of Longint; i,k,p,q,ans,n :Longint; BEGIN readln(n); while n>0 do begin ... 阅读全文
posted @ 2011-09-14 07:42 This_poet 阅读(448) 评论(0) 推荐(0)