主元素问题是一道非常经典的著名的问题,乍一看很简单,也很容易写出来,但越往后越难。 问题描述:给定一个长度为n的序列,若当中有数出现的次数>50%,输出这个数;否则输出NO。 还是先上数据: 7 3 3 1 1 3 2 3 输出是: 3 有什么好的方法吗? 建议你花时间先想一想 好啦,开始讲解。 A Read More
posted @ 2017-09-28 17:49 白驹过隙----青春绿 Views(904) Comments(0) Diggs(1) Edit
今天我们接着搞图论:割点和割边 (一)割点 啥叫割点? 针对无向连通图,若删除一个点后使得该图不连通,则该点是割点。 注意:一个图中可能有多个割点 先上一组数据: 6 7 1 41 34 23 22 52 6 5 6 图是这样的: 很容易看出结果是: 2 那么如何求出图中的割点呢? Algorith Read More
posted @ 2017-09-26 22:40 白驹过隙----青春绿 Views(4940) Comments(3) Diggs(3) Edit
图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系。(摘自百度百科) 1.Floyd 弗洛伊德算法 这种算法解决的是多源最 Read More
posted @ 2017-09-22 20:03 白驹过隙----青春绿 Views(842) Comments(0) Diggs(1) Edit
试题描述 你是一个电视节目的获奖嘉宾。主持人在黑板上写出一个 n 位非负整数(不以 0 开头),邀请你删除其中的 d 个数字,剩下的整数便是你所得到的奖品的价值。当然,你希望这个奖品价值尽量大。1<=d<=n<=10^5 输入 两行,第一行仅包含一个正整数d,第二行位一个符合题目要求的 n 位数。 Read More
posted @ 2017-09-20 17:01 白驹过隙----青春绿 Views(260) Comments(0) Diggs(0) Edit
试题描述 有 n 个正整数的集合 S,每次可以从 S 中删除两个数,然后把它们的和放回集合,直到剩下一个数。每次操作的开销等于删除的两个数之和,求最小总开销。所有数均小于 105。 输入 第一行仅包含一个正整数 n,第二行包含 n 个正整数,两两之间用一个空格分隔。 输出 一个数,表示最小的总开销。 Read More
posted @ 2017-09-16 15:20 白驹过隙----青春绿 Views(220) Comments(0) Diggs(0) Edit
匈牙利算法,用于二分图最大匹配,时间复杂度为O(NM) 话不多说,直接上代码 Read More
posted @ 2017-08-06 16:05 白驹过隙----青春绿 Views(147) Comments(0) Diggs(0) Edit
一道简单的最小生成树 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int n,a[10 Read More
posted @ 2017-07-20 15:57 白驹过隙----青春绿 Views(162) Comments(1) Diggs(0) Edit
输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横竖或者对角线方向),就说它们属于同一个八连块。例如,下图中有两个八连块。 输入 第一行包括两个正整数m和n,由空格隔开,接下来的m行,每行n个字符,字符只包括“*”和“@”。 输出 一个自然数,表示八连块 Read More
posted @ 2017-03-20 18:23 白驹过隙----青春绿 Views(412) Comments(0) Diggs(0) Edit
该文被密码保护。 Read More
posted @ 2017-02-12 22:36 白驹过隙----青春绿 Views(12) Comments(0) Diggs(0) Edit