自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨理垚的技术专栏

从明天起 尝遍人间冷暖

  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 PKU 3041 Asteroids - 行列的二分图模型 最小点覆盖

题目大意:N*N的空间中有K个小行星,使用超级武器可以一次性清理一行或一列的所有小行星.但是超级武器很贵,给出星空图,问最少需要使用多少次武器能清除所有的小行星.N分析:很经典的行列模型转换为二分图模型来处理的题目,ZJU1002和PKU2226也是可以这样转换.将行和列分别作为二分图左边和右边的节点.若在地图(i,j)上有一颗小行星,那么二分图左边i节点和右边j节点之间连一条边.

2008-11-21 22:37:00 1663

原创 PKU 2513 Colored Sticks - Trie树+并查集+欧拉通路

题目大意:有n根棍子(n分析:题目很明确,将所有的颜色看做节点.连接两种颜色的棍子看做节点之间的连边.问是否存在一条欧拉通路.用字典树的目的是给每种颜色编号.用并查集来判断无向图是否连通.最后要做的就是统计每种颜色的出现次数了. /*PKU2513 Colored Sticks*/#include  #include  #include 

2008-11-21 14:51:00 1313

原创 PKU 2942 Knights of the Round Table - 无向图的块 判断奇圈

题目大意:N个骑士某些骑士之间会有仇恨。骑士们开会时围坐在一个圆桌旁。一次会议能够举行,当且仅当没有相邻的两个骑士相互仇恨,且开会人数为大于2的奇数。若某个骑士任何会议都不能参加,那么就必须将它踢出。给出骑士之间的仇恨关系,问需要踢出多少个骑士。分析:首先,求出无向图的块(即同一个块中没有割点)。块中的节点一定是可以组成环的。可以证明,若块中存在一个奇圈,那么块中所有顶点都在一个奇

2008-11-15 21:05:00 2038

原创 PKU 3177 Redundant Paths - 无向图的双连通分量和桥

题目大意:给出一个无向连通图,判断最少需要加多少条边,才能使得任意两点之间至少有两条相互"边独立"的道路.注意,可能含有重边.分析:显然,在同一个双连通分量里的所有点可以等价地看做一个点.收缩后,新图是一棵树,树的边是原无向图的桥.现在问题转化为了在树中至少添加多少条边能使图变为双连通图.结论是: 添加边数 = (树中度为1的节点数+1) / 2说点题外话,无向图的双连通分

2008-11-15 18:20:00 2065

原创 PKU 1659 Frogs' Neighborhood - 贪心 Havel定理

题目大意:给出一个无向图的顶点度序列{dn},要求判断能否构造出一个简单无向图。若能构造任意一个输出邻接矩阵。分析:今年哈尔滨赛区也出了一个一样的题目,而且只要求判定不需要构造。当时我们是用贪心做的,只是到最后也不知道为什么是正确的……贪心的方法是每次把顶点按度大小从大到小排序,取出度最大的点Vi,依次和度较大的那些顶点Vj连接,同时减去Vj的度。连接完之后就不再考虑Vi了,剩下的

2008-11-13 19:02:00 1178 2

原创 PKU 2762 Going from u to v or from v to u? - 单连通图判定

题目大意:给出一个有向图n个顶点m条边,判断是否能任意选择两个点u,v,都至少存在一条通路从u到达v或v到达u,也就是u,v之间存在单向的通路。分析:首先将有向图的极大强连通分量收缩成一个点,构成新的有向无环图G。现在要判断新图G是一个单连通图。即每对顶点u,v存在u->v或v->u或两者都存在。这个条件看起来很面熟,貌似竞赛图就是满足这样条件的图。竞赛图有一个性质,竞赛图必然

2008-11-13 16:54:00 1714

原创 PKU 3678 Katu Puzzle - 2-SAT判定

题目大意:n个布尔变量Xi,现在有m个约束条件,给出Xi op Xj = c,给出每个i j c 和 op。其中op可能是AND,OR,XOR。要求这n个布尔变量是否存在一组可能的取值,使得满足所有的约束条件。分析:题目可以转换为一个2-SAT问题。首先将每个布尔变量拆成取值为0和取值为1两个节点。给出的约束条件可以这样确定:Xi op Xj = c,那么Xi&Xj取值不等于c的那些取

2008-11-12 18:28:00 1161

原创 ZJU 2588 Burning Bridges - 无向图的桥

题目大意:给出一个无向图,N个顶点M条边(N分析:题目就是要求无向图的桥。至于重边的处理,只要顶点ij之间有重边,那么这些重边任何一条都不可能是桥。由于数据量大,需要用邻接表来存无向图。PE了无数次>_ /*ZJU2588 Burning Bridges*/#include  #include  #define clr(a) mems

2008-11-12 17:02:00 1919

原创 PKU 1236 Network of Schools - 最小点基

题目大意:N个高校之间有一些单向的网络链接(N分析:我们先来讨论问题A。这个问题在吴文虎的OI图论书上有介绍过,叫做有向图的最小点基。首先,求出有向图的极大强连通分量,在同一个强连通分量里的学校任意一个收到软件,整个强连通分量里的学校都可以收到。将每个强连通分量缩成一个点,构成一个新的有向无环图。当强连通分量i收到软件,那么i可达的强连通分量都可以收到软件。我们称入度为0的强连

2008-11-12 14:44:00 2387 4

原创 PKU 3261 Milk Pattern - 后缀数组+LCP

题目大意:给出长度为n的数字序列(n分析:此题可以用后缀数组的最长公共前缀LCP来解决。只是需要将字符数组换做数字数组来处理而已。下面的讨论是基于已求出后缀数组并且做好LCP的预处理的前提下进行的。如何求后缀数组以及最长公共前缀请参考2004年许智磊的IOI国家队论文《后缀数组》。论文中一个重要结论:LCP(i,j)=min{LCP(k-1,k)|i+1≤k≤j}。即,询问后缀

2008-11-05 23:43:00 3005 2

原创 PKU 2553 The Bottom of a Graph - 极大强连通分量

PKU2553 ZJU1979 The Bottom of a Graph题目描述:给出一个有向图,定义:若节点v所有能到达的点{wi},都能反过来到达v,那么称节点v是sink。题目要求所有的sink点。分析:很类似这样一个题,足球队队员之间某些人可以联系到另一些人,问教练至少要通知多少个队员,可以让所有队员都收到训练通知。这个经典题目在吴文虎的图论书里面有讲解,就是求有向图

2008-11-05 21:53:00 1492

原创 ZJU 1060 Sorting It All Out - 拓扑排序

ZJU1060 PKU1094 题目大意:输入n和m,表示字母表的前n个字母,总共有m组小于关系(即A  分析:题目的意思就是要根据这些关系确定是否存在唯一的拓扑关系。一个很直接的思路就是,每输入一个关系,就对新的关系集合做一次拓扑排序,并判断是否存在环(冲突),是否有多个度为0的节点(排序不唯一),或排序唯一。只要检测到一次冲突或排序成功,之后的关系都不再处理。这

2008-11-05 15:53:00 1116 1

原创 PKU 3259 Wormholes - 判断负权回路 Bellman-Ford

题目大意:农场上有N块田地(N 倒退t!注意路径是双向的,虫洞是单向的。现在农夫John希望知道能否从某块地出发并且回到这块地,使得他回来的时间早于出发的时间(可以遇到他自己^^)。分析:褪去题目的伪装,可以看出,题目就是要求一个带负权的有向图中是否存在权值为负的回路。这个问题就是Bellman-Ford求带负权有向图的最短路径时,需要解决的问题。 /*PKU3

2008-11-02 21:11:00 1907 3

ACM竞赛代码整理 v0.6.pdf

ACM竞赛代码整理 Version 0.6 By Tiaotiao, [email protected] 目录 第一章基础算法1 常用宏定义1 欧几里德算法1 快速排序1 快速排序(通用版) 2 第K 小元素2 LIS 最长上升子序列O(NLOGN) 3 RMQ 区间最值询问3 KMP 模式匹配3 字符串最小表示4 第二章数据结构5 并查集5 HEAP 最小堆5 树状数组6 二维树状数组6 TRIE 字典树6 后缀数组8 LCP 最长公共前缀9 第三章图论11 BELLMAN FORD 11 BELLMAN FORD(队列优化) 11 最短路径DIJKSTRA+HEAP 12 二分图最大匹配13 带权二分图最大匹配14 最小路径覆盖15 稳定婚姻问题15 拓扑排序16 LCA 最近公共祖先(TARJAN) 16 最大流17 最小费用最大流18 求割点和桥19 无向图的块20 极大双连通分量21 极大强连通分量22 极大强连通分量缩点23 2-SAT 判定24 第五章计算几何25 三维凸包25

2012-04-17

MFC程序-碰撞的小球

windows程序设计的练习程序,用MFC写的,环境是vc2005。程序随机生成许多小球,小球在屏幕上以一个初速度运动。当小球撞在一起时,模拟了物理碰撞效果。另外,为了防止闪屏用了双缓冲。

2008-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除