自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 hdu1217 Arbitrage

简单floyd变形#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll __int64using namespace std;double dis[110][110];int n

2014-03-31 06:45:58 781

原创 hdu1317 XYZZY

带负权图 bellman判环为什么要循环V-1次?答:因为最短路径肯定是个简单路径,不可能包含回路的,如果包含回路,且回路的权值和为正的,那么去掉这个回路,可以得到更短的路径如果回路的权值是负的,那么肯定没有解了#include #include #include #include #include #include #include #include

2014-03-31 06:17:54 878

原创 wustoj1284 Gold Medal

Problem DescriptionGold medal is the aim of every one in WHUACM training team. Once upon a time, when Xioumu was a new member of team, he used to be a very curious boy. One day when he saw the gol

2014-03-30 00:42:24 1327

原创 wustoj 1283 Hamster

开始有1对仓鼠,一个月之后成熟,之后每个月可以生一对,m个月之后会死掉(死之前会先生一对)问n个月之后总共有多少对仓鼠#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll long lo

2014-03-29 21:09:22 1298

原创 最小生成树基础题目之畅通工程系列

求最小生成树两个算法1、prim算法首先设图G,点集V。任取一个结点v1,加入最小生成树点集VT={v1},|VT|=k=1在V-VT中选取某个vi∈VT邻接的结点vj,使得边(vi,vj)权最小,添加vj到VT,k++.重复上一步直到k=|V|(以下是通俗说法)取一个起点,之后每次取一个点 使该点到已经取过的某一点的距离最小,直到所有点都取到为止。此算法用

2014-03-25 19:08:48 932

原创 hdu3485 Count 101

还是觉得我的代码比较好看~i位数的情况就是把i-1位的情况乘2(i-1位数前面加0或1),再减去出现101前缀的情况,这种情况的个数=i-2位时1开头的个数,递推就行啦#include #include #include #include #include #include #include #include #include #define inf 0x3f3f

2014-03-25 18:47:29 909

原创 hdu 4610 Cards

题意:给n张卡片,每张卡片上面有一个数,卡片的值取决于上面数字符合的条件:1、这个数字是质数2、其因子的数量是质数3、其所有因子的和是质数4、所有因子的乘积是一个平方数符合几条,卡片的值就是多少。给n种卡片,每种卡片上面数字是a,一共有b张。从中取k张,问如何取值最大。还有一个规则是,要是取的所有k张卡片都不符合其中的某一条,则可加上该条规则对应的一个分数。

2014-03-19 20:15:19 1017

原创 hdu1811 Rank of Tetris --- 拓扑排序

相等的用并查集处理剩下的部分就拓扑排序 这里是用队列写的若所有点都有正确的大小关系顺序 就合法 否则conflict其次一个点对应多个下一级 就不确定#include #include #include #include #include #include #include #include #include #define inf 0x3

2014-03-17 20:37:47 846

原创 hdu1598 find the most comfortable road

找一条路,使路径中结点权最小和最大的差最小。按权值从小到大排序,枚举起点终点,并查集判断要求的起点终点是否连通。哎 好多麻烦题 就暴力暴力着思路就出来了#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#

2014-03-12 21:38:02 845 2

原创 hdu2473 Junk-Mail Filter 设虚父结点删除节点

并查集之删除节点。。。真的不想再天天做并查集了。。这题目真是做不完。。这一道一来又不会。。。删除节点呢,具体的过程比较复杂,为了简单起见,我们开始给节点初始化时,就给每个节点一个虚父节点合并、找根的过程都不影响而删除的时候,就把要删除的节点指向无意义的点这样消失的不知不觉 也不会影响跟自己有关系的点。。。#include #includ

2014-03-12 21:34:26 908

原创 hdu2489 Minimal Ratio Tree

哎 直接枚举所有m个点 求最小生成树按题意来就行了。。在存点的编号 用点的编号的地方wa了好久好久。。#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll __int64usi

2014-03-11 21:56:15 749

原创 hdu2818 Building Block

简单的种类并查集每次用并查集模板合并时 因为小的合并到大的上面可以减小树的高度 所以每次都是判断大小再合并的但是这种题目 为啥这样就错列?只能从一堆合并到另一堆此题中,vis[a]存a为根的集合元素个数,num[a]存a所在的集合元素个数merge和root的过程和树的形状、包括递归顺序无关的吧?#include #include #include #in

2014-03-11 21:51:50 1014 2

原创 hdu3038 How Many Answers Are Wrong --- 种类并查集

题意:给出一些信息 a b d 表示a点到b点的结点权值和等于d问其中有多少组信息是错误的 一组信息和已经出现的信息不符就是错误的种类并查集的关键在于找到根节点和子节点之间的关系这里的vis[a]表示a点到根节点的距离#include #include #include #include #include #include #include

2014-03-10 19:59:23 826

原创 hdu3635 Dragon Balls

乍一看还以为是线段树什么的。。有两个操作:T A B 表示把A球所在的城市里所有球添加到B球所在的城市Q A 表示 输出A所在的城市,A所在的城市里的球的个数,A转移了几个城市前两个输出比较简单,关键是最后一个,相当于问A所在的城市被合并了几次好在题目给的是 球代表的城市进行转移,这就说明,一个城市最多只能转移一次(之后就为空,就再也无法转移或被转移了)那么移动次数

2014-03-10 18:19:50 776

原创 hdu3172 Virtual Friends

水题,边合并边输出就行了,所以可以在merge里面输出比较方便#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll __int64using namespace std;map f

2014-03-10 18:02:49 893

原创 poj 1182 食物链

并!查!集!好!难!啊!看了两天才看懂我对自己的智商完全没自信了╭(╯^╰)╮所谓的种类并查集。。一个集合代表一类,求解各类之间的关系问题。对于本题,首先,集合里的每个点我们都记录它与它这个集合(或者称为子树)的根结点的相对关系rank。0表示它与根结点为同类,1表示它吃根结点,2表示它被根结点吃。0,1,2也是距离根节点的具体,rank这个树最多三层,每一层是同类的集合。

2014-03-06 21:32:02 969 1

原创 hdu 1829 A Bug's Life

并查集之判断是否是二分图(定义:设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。)题意呵呵呵,男女各站一边,找出那对同性恋!这里对每一对关系a和b,把自己的另一半和之前的另一半(如果有的话)合并,即他们是一个性别的。给

2014-03-05 20:00:55 961

原创 hdu 1272 小希的迷宫

并查集 判断是否有环、未给出点数判断集合数是否大于1就是判断是否是最小生成树吧判断有环:若输入两点的根相同则有环判断所有点是否都在同一集合内:此题有点不严谨吧,还是看了别人代码才知道,给的点是一个区间内的所有点。合并过程中把出现的点都标记,把最小和最大的找到,枚举,看有几个根,有几个根就有几个集合。#include #include #inc

2014-03-04 19:32:00 921

原创 hdu 1232 畅通工程

并查集 求集合个数依题意,这里集合个数-1为所求#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll __int64using namespace std;int r[1005],n,

2014-03-04 18:43:03 819

原创 hdu 1856 More is better --- 并查集

并查集 求最大的集合里元素个数貌似方法有很多。。#include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll __int64using namespace std;int r[10000005],vis[

2014-03-04 18:19:23 863

原创 poj 2524 Ubiquitous Religions --- 并查集

并查集求不相交集合的个数 模板#include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f#define ll __int64using namespace std;int r[50005],n,m,vis[5000

2014-03-03 22:19:38 803

空空如也

空空如也

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

TA关注的人

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