自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU-5101,二分算法

题意对于一组有m个数,如果要取两个数a和b,使得这两个数的和大于k,那么可以将这组数由小到大排序,然后枚举a,查找满足条件的数b的个数,在查找数b的个数时,可以利用lower_bound函数(二分查找)。比如:我们找到第一个满足a+b>k的b是第i个数,则第i+1,i+2,……一直到最后一个数都满足。枚举a的过程记数并加和,得到的结果就是满足条件的(a,b)对的2倍。(因为你每个人都要加...

2018-08-21 10:31:01 173

原创 POJ - 3258 River Hopscotch 二分

题目大意:给出河的宽度L和N块石头,现在要求移除M块石头,使得石头间的距离的最小值达到最大(起点和终点都有一块石头,但这两块石头不能移除)解题思路:最小值的最大值,肯定用二分了 如果存在最优的距离,那么移走的石头数量肯定刚好是M块的 枚举的时候判断移除石头的数量,只需要从起点开始枚举,然后计算一下在最小跳跃距离内的石头有几个,有几个就移除几个,最后判断移除了多少个石头 如果移走的数量大于...

2018-08-20 11:03:53 293

原创 HDU 1969 Pie(二分)

分蛋糕,给你n块圆形蛋糕然后f个朋友带上你自己是f+1个人求每个人分一整块最大能有多大,(就是不能剩余的蛋糕拼接,每个人必须是一整块)所以我们要找到这个分界点然后这道题用二分写,找到最大的蛋糕,然后取中间值,每个蛋糕都除以这个mid,最后把他们除以mid的取整+起来,看是否够分如果够分怎left=mid(说明一个人分mid够,并且有剩余),如果不够分就right=mid(mid取大了,不够...

2018-08-17 15:58:08 160

原创 POJ - 1064 二分

输入2个数 n    kn条绳子    要分成大于等于k段求每段最长多长呢?并且每段不能小于1cm必须以厘米精度写入数字,小数点后正好是两位数。如果无法切割所请求的每个长度至少为1厘米的件数,则输出文件必须包含单个数字“0.00”(不带引号)。Sample Input4 118.027.434.575.39Sample Output2.004条绳子  ...

2018-08-17 11:43:30 236

原创 HDU-6383,二分算法

度度熊很喜欢数组!! 我们称一个整数数组为稳定的,若且唯若其同时符合以下两个条件: 1. 数组里面的元素都是非负整数。 2. 数组里面最大的元素跟最小的元素的差值不超过 1。举例而言,[1,2,1,2] 是稳定的,而 [?1,0,?1] 跟 [1,2,3] 都不是。 现在,定义一个在整数数组进行的操作: * 选择数组中两个不同的元素 a 以及 b,将 a 减去 2,以及将 b...

2018-08-17 11:31:02 127

原创 计算机几何基础,判断多边形是凸多边形还是凹多边形 HDU-2108

Shape of HDU 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2108Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4973    Accepted Submission...

2018-08-11 20:18:28 1254

转载 计算机几何基础,求凸包,HDU-1392

数学:凸包算法详解一.概念:凸包(Convex Hull)是一个计算几何(图形学)中的概念。在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的线性组合来构造.在二维欧几里得空间中,凸包可想象为一条刚好包著所有点的橡皮圈。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边...

2018-08-11 20:02:44 174

原创 计算机几何基础,计算多边形的重心,HDU-1115

我们已经能算多边形的面积,之后我们在往下引申一下,就要求多边形的重心。给你2分钟思考一下,应该如何计算多边形的重心呢?所以说这个是能推广的上面的图片你是否看得懂呢?下面我用更简单的思路说一下给你一个多边形,然后呢如果多边形的质量仅仅只在定点,并且均匀分布,那么就可以用求三角形重心的方法求多边形的重心但是如果多边形的质量是均匀分布在其内部的区域上的,也...

2018-08-11 19:44:01 1123 1

原创 计算机几何基础,计算多边形的面积, HDU-2036

还记得我们是怎么计算多边形面积的么?让你先思考10秒钟,Any good idea?好吧相信你心中已经有了想法。还记得我们学过的叉乘么,两个向量同一起点的叉乘积再乘1/2就是三角形的面积(哦哦哦,我知道,把多边形分成三角形就可以了)然后很自然的我们就能联想到多边形的面积,就是把多边形分成N-2个三角形就能算多边形的面积了那凹多边形的面积呢?我们计算时...

2018-08-11 18:53:13 2725

原创 判断线段是否相交,HDU-1086

我们已经在上一节学习的如何判断两个线段的位置,就是两个线段的叉乘与0的关系我们往下引申一下,知道了两个线段的关系后,你是否能判断两个线段相交呢???先让你想两分钟,在纸上画一画。好的,下面我就来讲下我自己的理解,如果有错,欢迎指出,大家一起进步。我们已经能判断两个线段的位置了,那么我们能不能判断一个点和线段的位置呢?上一节我们讲的p0p1和p0p2其实就是3个点,然后判断点p1...

2018-08-11 17:36:29 471

原创 计算机几何基础,判断两个线段的相对位置关系,最基础

题目会给你3个点,p0,p1,p2,然后你需要判断 向量p0p1 相对 向量p0p2 的位置抛出3个问题,先自己理解理解,我们用叉积的办法来判断这两条线段的位置关系 就是向量p0p1与p0p2的叉积如果>0则向量p0p1在向量p0p2的顺时针方向<0则向量p0p1在向量p0p2的逆时针方向=0的话就会共线有了这种方法,目前我认为可以做1.给你点,...

2018-08-11 16:50:18 1460

转载 最短路径问题---Dijkstra算法详解

前言 Nobody can go back and start a new beginning,but anyone can start today and make a new ending. Name:Willam Time:2017/3/81、最短路径问题介绍问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:...

2018-08-09 09:09:36 230

原创 黑红砖块,POJ-1979,BFS

题目的".'' - 黑色瓷砖'#' - 红色瓷砖'@' - 黑色瓷砖上的男人(在数据集中只显示一次) 这间长方形客房铺有方形瓷砖。每个瓷砖都是红色或黑色。一个男人站在黑色的瓷砖上。从瓷砖中,他可以移动到四个相邻瓷砖中的一个。但是他不能在红色瓷砖上移动,他只能在黑色瓷砖上移动。编写一个程序,通过重复上述动作来计算他可以达到的黑色瓷砖的数量。就是计算他能 到达“.”的数量,包括最...

2018-08-06 18:42:33 471

转载 POJ - 3256 ,DFS,算法

题意是有n个小岛,并且,给你k个牛,m条路,但是这些路是单向的,然后把某个牛放到某个岛上,然后这k头牛想要在岛上聚会,然后你要找到所有牛都能到的岛上去,输出一共有几个这样的岛;第一点,如果这个岛k头牛都能到,那么这个岛就是我们要找的聚集地,第二点,路是单向的,我们需要单向存图分析:把题目简化一下就是看拿到一块地,这M头牛能不能到达这里。就是一个DFS,对于每一头牛找出这头牛所能达到的地...

2018-08-06 18:34:42 151

原创 最短路,dijsktra 算法,HDU-2544

从最开始认识算法,到现在被吸引,这种感觉有点其妙。开始我认为算法就是简单的数学问题,到现在我认为算法真的是一种思想,一种逻辑思维让我们的大脑更加的清楚认识到这个问题的答案,从开始到最后的一步步推理,一步步接近正确答案的兴奋,这种兴奋,让我对算法着迷。LOVE 算法。LOVE计算机。好吧不发牢骚了,让我们一起去深入了解一下如何求最短路径。有了这种思想(算法思想),我觉得真的很神奇。给你好多好...

2018-08-03 09:00:26 175

原创 最小生成树,Kruskal 算法

这个算法就比较简单了先来点理论知识补充一下营养,呵呵呵呵,尽情的脱发吧这个算法的本质就是,先把你的所有边(权值)都存到一个数组里,然后从小到大排序,然后从最短的边开始连,如果已经连过则这条边舍弃,继续往下找边,直到n-1条边(n个岛需要n-1条边才能全通)听不懂???没关系我换中更专业的方式,就是并查集+贪心算法(目前我也不知道是个什么鬼),第一建立2个数组,一个表示每个岛...

2018-07-27 15:51:06 145

原创 最小生成树 , Prime 算法

最小生成树Prime算法题上会先给你说几个村庄,或者几个点,然后给你几句话,这几句话就是点到点之间的距离,然后你没有钱,但是你想修路,所以呢,你必须找到一个最省钱的方法,把每个地方给连通起来,就比如下面的题给你从0到6个岛,然后每个岛与某个岛之间有多长的距离0—1 距离7            0—3距离5             就这样,然后如图所示,你没有钱,只能把路修到最短才...

2018-07-27 14:21:20 2068

原创 暑假训练第15天,HDU-1875,kruskal

 畅通工程再续相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为了节省资金,只...

2018-07-25 19:15:31 205

转载 暑假训练第14天,POJ-3126 ,BFS

 这一题就是把1000从10000的质数都找出来,每次只改一位数字然后改变后的必须还是素数,找出从这个数到另一个数最少的步数。你说这人是不是有病,门牌号非要是素数,我真服,真给小明一样。然后我的思路是,先打一个素数表从1000到10000所有的素数都存在一个数组里,然后用广搜遍历,每次改变一位数,加入队列然后,然后用另一个数组存步数,广搜的好处就是,只要找到终点就是最短的路径。可惜...

2018-07-25 08:32:11 129

原创 HDU - 1241 ,BFS,DFS

The 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 that divides th...

2018-07-20 18:07:32 118

原创 暑假训练第10天,简单的搜索,POJ 1426,POJ 3984。

题目 POJ 1426输入一个小于n的数之后给一个输出一个十进制只有10组成并且能整除n。我用的BFS 从从1开始,然后除以n,然后遍历10,11,实质就是1*10的两个再遍历(101,100),(110,111),。。。。。。。每次遍历的数都是2,这就是个2叉树,下面是代码#include<iostream>#include<stdio....

2018-07-20 15:52:41 91

原创 暑假训练第9天, OJ 2251,3D迷宫。

这种迷宫题我认为用BFS比较快的,终于对BFS有理解更深了一点,这道题,BFS+队列,首先我们需要先建一个迷宫,然后开始从起点遍历,遍历到终点,输出时间(树根),这种3维的遍历时就是6个方向,上下左右前后,然后我们需要一个结构体来标记这个人的位置,然后开始遍历6个位置,遍过的位置进行标记,不需要第二次遍历,我们先将人的开始的位置压入队列,弹出,压入队列人旁的6个位置,依次遍历,然后更新...

2018-07-19 10:55:58 122

原创 暑假集训第8天,OJ 3278,抓牛问题

DescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a pointN (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0...

2018-07-19 10:44:45 298

原创 暑假训练第7天,今天学的深度搜索DFS和广度搜索BFS

在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n...

2018-07-17 21:08:54 114

原创 暑假训练第五天打卡,刷了一天的循环基础题,有点意思啊。开关灯

开关灯, 描述假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反...

2018-07-14 18:13:38 207

原创 暑假训练第四天,用python写校歌

今天我们学习了用python写一个校歌,import waveimport mathimport structff = wave.open("henu.wav", "w")#打开一个名为henu.wav的文件,如果没有自己写一个ff.setframerate(8000)#频率ff.setnchannels(1)#一个声道ff.setsampwidth(2)#音宽def wv(t=0...

2018-07-13 23:15:25 237

转载 暑假训练第三天,食物链并查集

昨天晚上学长挂了4道题,让7点开始做,挂5个小时,我真的是。。。。吃完饭7.30开始做题,,都是简单的并查集,然而我做道11点才做了3道,第四道简直了,做了这4道题我也正真认识道我自己有多菜,连并查集都理解不透彻,并查集改的是内容不是下标,我也学到了,当你不知道怎么读代码时,就动手画,然后一句一句读,一笔一笔改就能懂了,我从昨天晚上10点到11.30一直再想,尝试用各种方法才有了点思路,下面让我们...

2018-07-13 00:21:58 133

原创 暑假第二天,打卡学习。并查集

几天上午将的逆波兰,还有列队,然而没有看代码,没有运用的我并不会。我决定,明天晚上补补。今天刷了一天的题,各种难受,没思路,有了思路了不会表达出来,真的是菜啊。下午学习了并查集,虽然是半懂,队长挂了4道题,我现在做出来了三道,并且这三道做出来还是因为给源代码太想,随便改两个数字就能AC,现在的我终于明白当我看到AC时的感觉。好了下面我们来学习一下并查集//并查集按我现在对这个...

2018-07-11 23:44:19 238 1

原创 暑假第一天,简单的排序。

    This is my first 文章。    今天我们学习了最基础的算法,最简单的排序稳定排序: a在b的前面,且a=b,排序后a还在b的前面,这就是稳定的排序既然有稳定的那就肯定有不稳定的排序不稳定排序:a在b的前面,且a=b,排序后a可能会出现在b的后面,这就是稳定的排序...

2018-07-10 20:30:42 197 1

空空如也

空空如也

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

TA关注的人

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