自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 [Wikioi 3145]汉诺塔游戏

题目描述 Description 汉诺塔问题(又称为河内塔问题),是一个大家熟知的问题。在A,B,C三根柱子上,有n个不同大小的圆盘(假设半径分别为1-n吧),一开始他们都叠在我A上(如图所示),你的目标是在最少的合法移动步数内将所有盘子从A塔移动到C塔。游戏中的每一步规则如下:1. 每一步只允许移动一个盘子(从一根柱子最上方到另一个柱子的最上方)2. 移动的过程中,你必须保证

2016-01-10 15:21:28 375

转载 wikioi1501 二叉树最大宽度和高度

题目描述 Description    给出一个二叉树,输出它的最大宽度和高度。输入描述 Input Description第一行一个整数n。下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。输出描述 Output Description输出共一行

2015-12-25 21:03:27 253

原创 CodeVs 1011

#include#include#include#include#include#include#include//#define maxn 1020#define INF 0x3f3f3f3fusing namespace std;int n;int f[1000];int main(){    scanf("%d",&n)

2015-12-24 21:41:48 857

原创 1083 Cantor表

现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … 3/1 3/2 3/3 … 4/1 4/2 … 5/1 … … 我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…输入描述 Input Descript

2015-12-20 16:25:31 1254

原创 poj2421

题意:就是给了N个村庄,然后给你权值什么的 ,后面又给了一个数M,告诉你哪些路已经修好了,你就不用修了,最后问最小生成树,问需要修的最短的路。思路:把已经修建好的路的权值设置为0,这样就加不进去了,剩下的套模板就好#include#include#include#include#include#include#include#define maxn

2015-12-20 10:17:23 693

原创 poj2031

题意:给你N个细胞之类的东西,简单理解为球,这是立体的所以球心坐标是x,y,z这样的,然后给你一个球的半径,然后把这些球连接起来,如果两个球之间不想交,那么修建一条道路连起来,如果相交,那么不需要修路,求修路的最短是多少,其实就是最小生成树思想:不想交距离等于两个点之间距离减去两个球半径,相交距离为0;这个题除了一晚上bug原来是自己的distance和库函数重名了,改成dist调用就好了

2015-12-17 22:17:11 417

原创 poj1251

题意:给你几个点 ,然后下一行就是给你其中一个点 然后跟着一个值,这个值表示有几个点和这个点之间有路径可走,让你求最小生成树,prime算法,就是输入的时候有一些麻烦,是字符ABCD之类的 我们要把字符先转换成整形再去做,字符串操作中很多我也喜欢这么做#include#include#include#include#include#include#include#d

2015-12-15 20:24:10 467

原创 poj1287

题意:给你n个数,然后m中边的权值,求最小生成树,prime算法和dijkstra算法唯一的不同就是松弛时,prime是求最小邻边,而最短路是求两个点#include#include#include#include#include#include#include#define maxn 60#define INF 0x3f3f3f3fusing name

2015-12-15 20:19:23 397

转载 poj2240

题意:求自身到自身的最大转换率。   最简单的方法就是floryd算法变形,求最大路径后,求最大环,看它是否满足条件。   每一个结点都必须有到自身的环(不甚清楚原因)。注意:该double的地方一定不能为int,切记!!!  #include   #include  #include  using namespace std;  

2015-11-18 22:44:33 204

原创 poj3660

题意:第一行:给出n头奶牛,然后给出m个关系(A   B  代表A 大于 B的分数)第二行:m行数据问你能够确定几个牛的位置  就是他们的排名思路:其实就是一个点I能够通过点K找到J,那么I就可以找到J。一个点除了自身 都能找到其他点或者是被其他点找到  那么它的关系便可以确定。#include #include #include #include usin

2015-11-17 17:18:33 250

原创 poj1502

题意:好难懂 看了别人题解才知道; 翻了好几页百度 所以我决定写一个能让大家明白的题解第一行:一个数T 表示有几台处理器(第一台处理器要给其他处理器发消息)第二行:给你一个倒三角  就是A(i,j)就是i到j之间的距离    当然本身到本身的距离肯定为0  ij都为1是本身所以第一个不用输入 ,又因为道路是双向的 所以 只给一半倒三角 如果是X表示道路不通(设置为INF) 就是在矩阵中查询

2015-11-16 21:55:30 214

原创 poj3259

题意:第一行:N个地点   M个路径(正值)  虫洞个数(虫洞就是代表权值为负,也就是时光倒流)。。问这个人是否走了这些点可以通过虫洞回家,让时间恰好是他离开的时候思路:就是用bellman求负环 有负环说明可以时光倒流 时间减少#include #include #include #include #define MAXN 27000#define INF

2015-11-15 21:06:34 265

原创 poj3268

题意:第一行 : N个地点 M条路径  到哪里去party要求去和返回的路不一致 所以只能走一次求那头牛来回需要的时间多 ,就是距离远思路:就是求到party的最短路 然后把路径取反,再走一次 把路径加起来 求那个最大就好#include #include #include #include #define INF 0x3f3f3f3f#define maxn

2015-11-15 20:56:44 243

原创 poj1797

题意:N个城市,M条街道,求出货车通过的最大载重量思路:用dijkstra算法求最短路 松弛过程(例如 A到B 可经过C再到B )中保证   A到C  和  C到B  权值都大于  A到B  那么取其中较小的  否则取A到B#include #include #include #include #include #define MAXN 1200#define IN

2015-11-15 20:50:53 221

原创 poj2253

题意:连个点之间都有一段距离(前两个数据 )可以借助后面其他的点 ,但是路径不一定有一条  要求 求出所有路径中最大的那一条  再找出最大路径中最小的那一段思路:floyd算法是求两个点之间的最短距离 这个题我们可以这么理解 要求两点之间最大 通过两条边到达一定比一条边大 所以只需要找两条边之间较小的那条就好了#include #include #include #incl

2015-11-15 20:43:14 186

原创 poj 2387

题意:求开始到最后的最短路 思路:dijkstra算法#include #include #include #include #define MAXN 2020#define INF 9999999using namespace std;int N,T;int map[MAXN][MAXN];bool vis[MAXN];int d[MAXN

2015-11-15 20:28:23 272

原创 poj 1860

题意:有各种货币 然后可以通过一定方式转换成另外一种货币 规则是  (持有货币  -  转换所需要的手续费) *  利率  =  转换成的货币 第一行数据: 几种货币          货币汇率个数(例如 1 到2   2到  3)       现在持有第几种货币         货币的价值剩下行 : 货币A      货币 B         货币A到货币B的汇率       A

2015-11-15 20:18:57 236

原创 UVa1935

#include #include #include #include #define MAXN 110#define INF 999999999using namespace std;int n,m;int fa[MAXN];int maxn;struct node{    int x,y;    int d;    bool op

2015-11-14 18:35:57 214

原创 poj 2393

题意:牛奶存储问题 第一行两个数 第一个是有多少周 第二个是要储存一周奶需要花的钱  剩下每行都是这周牛奶供应的价钱 和 牛奶量 求最少钱思路: 贪心问题 可以趁便宜的时候多买一点 不过要付出相应的存储费   两层for循环 第一层是1 到 n  周  第二个for循环是检查前面几周买合不合适 具体看代码有一点我没有想通 我整体算最小值 wa 但是最后乘以价钱的时候 就可以过#

2015-11-14 17:23:12 194

原创 poj 3614

题意:给你第一行第一个数据是奶牛n,第二行防晒霜m。然后下面n行依次是每个奶牛最小防晒值和最大防晒值。后m行是防晒霜能够把阳光固定的值和数量。求有多少头牛可以晒太阳,也就是几瓶防晒霜管用了;思路:首先先排除一些 比如牛的最小防晒值不能大于防晒霜的固定值 否则防晒霜失效  我们分别用两个结构体存 牛 和 防晒霜 用sort排序 按照最小防晒值和防晒霜固定值由小到大排序  依次排除上面所说的  符

2015-11-14 17:16:18 238

原创 poj 2718

题意:给你一组数据 ,要你组成两组不同的数,差值最小。思路:尽可能让两组数位数相同,然后暴力求解 #include #include #include #include #include #define INF 0x3f3f3f3f#define maxn 20using namespace std;int a[maxn];int n;v

2015-11-14 17:04:33 192

转载 最短路算法 :Bellman-ford算法 & Dijkstra算法 & floyd算法 & SPFA算法 详解

转载地址:http://www.cnblogs.com/Yan-C/p/3916281.html 。自己链接进去看 这个人写的非常详细。

2015-10-17 11:08:11 271

原创 A Bug's Life 并查集

题意:给你机组测试数据,每一组前面有一行,有几个虫子, 虫子交配次数。接下来是每一行交配。给虫子做标记比如奇数为公偶数就为母。判断如果两种虫子性别相同,且有性行为就是同性恋。核心思想:两个虫子到根结点步数奇偶性不同,相同就是同性,这里设置1为同性恋,0否;DescriptionBackgroundProfessor Hopper is researching t

2015-09-27 14:44:09 316

原创 Parity game 并查集

题目大意: 给你一个区间,然后给你答案 里面有奇数个1还是偶数个1.这些是一行一行的 一句话。让你判断一下到第几句话是错误的  我们可以想【a,b】 如果里面有偶数个1  就是1到a-1 和 1到b 里面的得数同为偶或者同为奇数 如果【a,b]里面有奇数个1  那么 1到a-1有奇数个1 和 1到b有偶数个1 ,或者相反。部分解释见题解  搞了好几天 看了好多代码 终于领悟一点。。。。

2015-09-21 23:20:45 330

原创 Supermarket 并查集

题目意思是 输入N组数 每组数前面一个是价值 后面一个是它的保质期 所以问在保质期之内最多卖多少钱并查集 真心难想 都当成贪心了 哎  这个题 主要是把输进来的一对 按照价值由大到小排序 然后找到保质期的根 找到 sum后加上它的价值 然后把这个根减去一 所以再找下一个DescriptionA supermarket has a set Prod of produc

2015-09-16 22:44:48 303

原创 食物链 并查集

食物链题第一题,看的别人代码之后敲得 里面的关系挺难的,推荐去看一下大牛的详解 ,一个是路径压缩,孙子和爷爷的关系为孙子到父亲加上父亲到爷爷然后对三取余,自己可以列举找规律。0 代表相同物种 1 代表夫吃子 2子吃父 和原题查一 ,所以传参要考虑好 。如果两物种根相等,那么两根操作 关系不变。如果不相等两根合并,合并后更新新根的值,这里尤为重要 如果把x连到y上 那么 就为  x根->x ,x->

2015-09-15 22:02:36 363

原创 How Many Answers Are Wrong 并查集

题意为前两个数之间的和为第三个数,这个题我们可以这么考虑,比如a 到 b之间和为 s,那么 s = (开始到b之间的和) - (开始到a-1之间的和),ab的根相等 那么它们在一个集合里 那么s即为它们之间和 如果ab的根不相等,那么把b链接到a的根上  那么 更新 b的权值 它到a根的就为 (a到b的距离) + ( a到根的距离) - (b到原来的根)。可以自己画图分析一下T

2015-09-14 22:43:32 315

原创 How Many Tables 并查集

这个并查集题是认识的人可以坐在一个桌子上,比如a认识b,b认识c,那么a,b,c可以在一个桌子上 这个题可以这么想把在一个桌子上的人全在一起 那么合并到这个人的那个人的根节点会改变 比如 a合并到b上,那么a的根节点就连到b的根节点上  a的根节点值就改变了  后面只需要检测根节点和初始赋值是否相同 找到不相同的 用总的桌子书减去就是我们要的结果DescriptionToday

2015-09-13 22:20:21 216

原创 Wireless Network 并查集

这是我第一个并查集问题 ,求得是电脑跟电脑之间如果距离小于 d 那么可以连接 ,电脑之间都是有编号顺序的 然后问你例如1  和 4 之间可以链接吗?它们之间的电脑连通了 就是sucess  所以我们把它运用并查集  联通的就放到一个圈子里  最后查找要求的两台电脑编号在一个圈子里是否就可以了  初次体验并查集 必须有找父亲节点的函数  还有合并两个数的函数 这是并查集基本的 其余的在主函数里自己构

2015-09-12 21:11:27 347

原创 The Suspects 并查集

传染病 一开始只是0可能有 然后他的圈子里的人可能都被感染,感染的人可能又在别的圈子里所以是典型的并查集  在一个圈子里的都放到一个集合里 然后最后找到包含0的圈子就是所有的感染者Description严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁。为了减少传播给别人的机会,最好的策略是隔离可能的患者。

2015-09-12 21:03:02 460

转载 01背包问题和完全背包问题

在hihocoder上面的题目中看到的这个问题,总结一下。先看01背包问题。01背包问题:一个背包总容量为V,现在有N个物品,第i个 物品体积为weight[i],价值为value[i],现在往背包里面装东西,怎么装能使背包的内物品价值最大?看到这个问题,可能会想到贪心算法,但是贪心其实是不对的。例如最少硬币找零问题,要用动态规划。动态规划思想就是解决子问题并记录子问题的解,这样就不用重复

2015-08-24 11:45:19 178

原创 J - Guilty Prince

DescriptionOnce there was a king named Akbar. He had a son named Shahjahan. For an unforgivable reason the king wanted him to leave the kingdom. Since he loved his son he decided his son would be

2015-08-14 20:04:22 285

原创 H - Oil Deposits

DescriptionThe GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid

2015-08-14 20:00:04 230

原创 A - Dungeon Master

DescriptionYou are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move one un

2015-08-14 19:53:54 251

原创 K - Let the Balloon Rise

DescriptionContest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over

2015-08-13 09:29:48 221

原创 J - 水果

Description夏天来了~~好开心啊,呵呵,好多好多水果~~ Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了.   Input第一行正整数N(0每组测试数据的第一行是一个整数M(0<M<=100),表示工有M次成功的交易.其后有M行数据,

2015-08-13 09:25:44 360

原创 I - The kth great number

DescriptionXiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write down a number, or ask Xiao Bao what the kth great number is. Because the number writte

2015-08-13 09:19:27 271

原创 H - Windows Message Queue

DescriptionMessage queue is the basic fundamental of windows system. For each process, the system maintains a message queue. If something happens to this process, such as mouse click, text change,

2015-08-13 09:15:16 177

原创 E - Argus

DescriptionA data stream is a real-time, continuous, ordered sequence of items. Some examples include sensor data, Internet traffic, financial tickers, on-line auctions, and transaction logs such

2015-08-13 09:11:01 279

原创 D - 排列

SubmitStatusDescription题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。任务描述: 给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列

2015-08-13 09:03:31 280

空空如也

空空如也

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

TA关注的人

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