算法
小猪今天有学习吗
这个作者很懒,什么都没留下…
展开
-
区间求和类算法
/*长胖描述wh学长非常喜欢巧克力,有一天,wyx给了他n个巧克力魔盒,每个魔盒里都有无穷个巧克力,每个盒子里的巧克力都有固定的肥胖值(为正表示增加,为负表示减少)。为了让wh更加肥胖,wyx列出了m个方案:每个方案中都有一个L 、R,wh会从第L个盒子到第R个盒子这连续的R - L + 1 个盒子中,每个盒子里拿出一个巧克力吃掉,并增加相对应的肥胖值。每个方案最多只能实现一次,当然也可...原创 2019-06-03 20:40:12 · 1006 阅读 · 0 评论 -
狄杰斯特拉
/*描述给一个n( 1 <= n <= 2500 )个点,m条边( 1 <= m <= 6200 ) 的无向图,求s到t的最短路。输入第一行四个由空格隔开的整数 n、m、s、t。之后的m行,每行三个正整数 s[i]、t[i]、wi,表示一条从s[i]到t[i]长度为w[i]的边。输出一个整数表示从s到t的最短路长度。数据保证至少存在一条道路。输入样例 17 1...原创 2019-05-27 21:22:30 · 634 阅读 · 1 评论 -
并查集判断团伙个数优化
并查集之团伙2597 团伙时间限制: 1 s空间限制: 128000 KB题目描述1920年的芝加哥,出现了一群强盗。如果两个强盗遇上了,那么他们要么是朋友,要么是敌人。而且有一点是肯定的,就是:我朋友的朋友是我的朋友;我敌人的敌人也是我的朋友。两个强盗是同一团伙的条件是当且仅当他们是朋友。现在给你一些关于强盗们的信息,问你最多有多少个强盗团伙。输入描述输入文件gangs.in...转载 2019-05-18 16:35:42 · 176 阅读 · 0 评论 -
最大的最小距离算法核心
最大最小距离算法步骤:1.从初始数据集D={x1,x2,… xn}中选取一个点作为第一个聚类中心z12.计算数据集D中其他点到z1的距离集合d1i={d12,d13,…d1n},选择其中最大的max{d1i}对应的点作为第二个聚类中心z2.3.计算D中各点到z1,z2的举例d1i,d2i,找到其中每对的最小值的min{d1i,d2i},(注,min{d1i,d2i}是一个数据集,是{min{d11.d21},min{d12,d22转载 2019-05-17 16:30:26 · 757 阅读 · 0 评论 -
肥宅快乐还是不快乐,拓展欧几里得,exgcd???bfs
扩展欧几里德算法先介绍什么叫做欧几里德算法有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做?欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时间复杂度里求解出来 a 和 b 的最大公约数了,这就是欧几里德算法,用 C++...原创 2019-05-22 12:14:09 · 277 阅读 · 0 评论 -
itoa()函数 字符串数字转换
字符串转整数描述请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字...原创 2019-05-21 20:12:08 · 241 阅读 · 0 评论 -
安排房间 二分
/*在一条街道上面,有n个房间,第i个房间在x[i]的位置,现在要给m个人安排房间,如果他们住的太近,就会打架,所以我们需要找出一个距离,使任意两个人之间的最小距离尽可能的大,那么,这个最大的最小距离是多少呢?输入第一行用空格分隔的两个整数n和m;第二行为n个用空格隔开的整数,表示位置x[i]。输出输出仅一个整数,表示最大的最小距离值。输入样例 15 31 2 8 4 9输出样...原创 2019-05-20 12:08:21 · 389 阅读 · 0 评论 -
分段
描述对于给定的一个长度为 N 的正整数数列 A ,现要将其分成 M 段,并要求每段连续,且每段和的最大值最小。例如,将数列 4 2 4 5 1 要分成 3 段:若分为 [4 2][4 5][1],各段的和分别为 6, 9, 1 ,和的最大值为 9;若分为 [4][2 4][5 1],各段的和分别为 4, 6, 6 ,和的最大值为 6;并且无论如何分段,最大值不会小于 6。所以可以得到要...转载 2019-05-19 10:47:53 · 678 阅读 · 0 评论