自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Since_natural_ran

Have a pure heart to overcome everything .

  • 博客(5)
  • 收藏
  • 关注

原创 HDU 1558 (并查集+判断线段相交)

题意: 输入每一条边,如果两个边相交则同为一个集合,问题是求某一条边所在集合的边的数目。 很明显的并查集,但是怎么判断边与边的相交呢?这里用到了模板。知道了边相交,那么find 和 merge 便不难了。注意: 1. 用num存储集合边的数目 2. 类的简单使用,edge存储边的起始点 3. Find里面用到了优化#include<cstdio>#include

2016-09-16 11:50:55 359

原创 HDU 1829 (性别关系)

题意:给定一系列数对,表示不是是同一种性别,然后不断的给出这样的数对,问有没有性别不对的情况(同性恋)。问题: 1. 怎么用并查集解决问题? 2. 并查集在这道题的作用是什么? 3. 异或运算是做什么?思路: 1. 在这道题中并查集是为异或运算铺路。 2. 在由节点组成的树中根节点发挥作用,它们之间的关系可以由根节点表示。 3. 异

2016-09-14 17:06:08 314

原创 HDU 1232 (简单并查集)

很直接的并查集,只需要找到有多少根,就是需要修的路。#include<cstdio>#define Max 1010int root[Max];int union_find(int x){ return x == root[x] ? x : (root[x] = union_find(root[x]));}int main(){// freopen("in.txt","r",s

2016-09-14 15:02:33 286

原创 HDU 1272 (并查集)

这道题要求的是每两个点能到达且只有一条路。思考 1. 怎么判断任意两点可以到达? 2. 怎么判断任意两点只有一条路?解决方法: 1. 如果所有路连通,那么所有路只有一个父亲。 2. 任意两点在最开始的时候是不同根,在当前它们有在搜索属于哪个根的时候,如果根相同那么有环。说明从这两个点出发有 两种方式到达其它同根的点。注意: 1. 由于不知道有几个节点,要

2016-09-14 14:23:04 194

原创 HDU 1009 (贪心)

DHU 1009题意:老鼠想吃猫看守N个房间里的食物javaBean,那么它必须用自己拥有M的猫粮引诱猫离开。N个房间每个有j 个javaBean需要f 猫粮才能得到,当然也可按比例引诱。问怎么做才能得到最大数量的食物。想得到最大的javaBean,那么肯定从最大比率的j/f开始,故用结构体对efficiency降序排序,然后依次引诱即可#include<cstdio>#include<io

2016-09-10 22:21:58 209

空空如也

空空如也

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

TA关注的人

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