算法
文章平均质量分 50
沧海一笑浅悠悠
这个作者很懒,什么都没留下…
展开
-
[排序]求解第k大分值
描述:Arch0n老师is a rich man, 他靠自己的才华和智商年纪轻轻就赚了不少钱。为了训练自己的智商,他经常玩一些interesting的游戏来训练自己的智商,比如什么RGB游戏,还有和妹子一块玩Don't Starve。言归正传,今天他又发明了一个新的interesting game。Ar老师手上有一堆卡牌,然后卡牌上写了一个数字Ai(正整数),当前他有n张牌,然后他总是随机取出两张...原创 2018-04-21 23:42:03 · 384 阅读 · 0 评论 -
[BFS]正向BFS+hash解决八码问题
八数码问题,可以用单向广搜、双向广搜、A*、IDA等多种方法求解。具体可以参考:八数码的八境界DescriptionThe 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding ti...原创 2018-04-18 11:41:06 · 602 阅读 · 0 评论 -
[位运算]dfs+位运算解决N皇后问题
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。共有若干行,表示棋盘和皇后的数量;如果N=0,表示结束。分析:本篇文章重点介绍位运算解决N皇后的思想,并不是解决特定的问题。和普通算法一样,这是一个递归过程,程序一行一行地寻找可以放皇后的地方。过程带三个参数,r...原创 2018-04-13 23:11:06 · 733 阅读 · 0 评论 -
[位运算]位运算的4个简单应用
1. 不用任何比较判断两个数中大的那个数我们将两个数做差,得到另一个数,判断这个数的符号位就可以了。当然,不能直接使用判断语句,所以我们使用位运算来操作。2. 两个相同的数异或结果等于0。就这道题而言,在运算过程中会产生一个中间值,即a与b的异或结果,a异或b再异或b就会等于a,如果第二次异或a就会等于b。所以直接三个异或就可以搞定3. 整数的二进制中有多少个1每次循环采用n&=(n-1)...原创 2018-04-13 20:17:46 · 1013 阅读 · 0 评论 -
[并查集]L2-024. 部落
L2-024. 部落时间限制120 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(<= 104),是已知小...原创 2018-03-28 21:32:34 · 458 阅读 · 0 评论 -
[模拟]来一瓶82年拉菲(酒杯问题)
问题描述:悠神最近过生日,朋友纷纷来贺。现有一瓶82年拉菲与若干酒杯。酒杯呈三角形酒塔摆放,即每一个酒杯摆放在下一层两个酒杯中间,最下面一层酒杯摆放在桌面上。共有N(1<=N<=20)层酒杯,第k层共有k个酒杯。悠神将拉菲倒进第一层的酒杯中,速度为1杯/s,倒满后酒会向左右两个方向溢出,假设会全部溢出到这个酒杯下面相邻的两个酒杯中。然而悠神有洁癖,他不喜欢浪费,更不喜欢浸湿他心爱的桌布...原创 2018-03-28 11:23:18 · 623 阅读 · 0 评论 -
[BFS]愿天下有情人都是失散多年的兄妹
题目概述:L2-016. 愿天下有情人都是失散多年的兄妹时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越呵呵。大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人、父母、祖父母、曾祖父母、高祖父母)则不可通婚。本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚?输入格式:输入第一行给出一个正整数N(2 <= N &l...原创 2018-03-26 23:35:06 · 319 阅读 · 0 评论 -
vector的嵌套实现二维数组,解决矩阵相乘问题
定义vector的元素可以是一个vector。比如, vector<vector<int>> 即表示一个二维int数组,里层的vector表示第一维, 外层的vector表示第二维。问题描述:L1-048. 矩阵A乘以B时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,...原创 2018-03-26 16:45:58 · 1958 阅读 · 0 评论 -
BFS与DFS的用途与选择
1.BFS是用来搜索最短径路的解是比较合适的,比如求最少步数的解,最少交换次数的解,因为BFS搜索过程中遇到的解一定是离根最近的,所以遇到一个解,一定就是最优解,此时搜索算法可以终止。这个时候不适宜使用DFS,因为DFS搜索到的解不一定是离根最近的,只有全局搜索完毕,才能从所有解中找出离根的最近的解。(当然这个DFS的不足,可以使用迭代加深搜索ID-DFS去弥补)2.空间优劣上,DFS是有优势的,...转载 2018-02-01 16:21:15 · 2898 阅读 · 0 评论 -
[贪心]二分法解决最小值最大化问题经典例题-POJ2456疯牛
题意:有n个牛栏,选m个放进牛,相当于一条线段上有 n 个点,选取 m 个点,使得相邻点之间的最小距离值最大。首先给出n个牛棚的位置,那么每个牛棚之间的最小距离是和相邻两个牛棚之间的距离。因此,先给牛棚的位置排个序。将第一头牛放在0号位置,二分法不断缩进距离d,如果前一头牛放到了xi处,就要将下一头放到满足xi+d<=xj的最小的xj处。这样保证最近的两头牛之间的距离都不会比当前的最小值小,...原创 2018-04-20 22:27:16 · 1574 阅读 · 0 评论