算法
文章平均质量分 96
KeepTing
java开发工程师
展开
-
n皇后问题(深搜DFS)
#include#includeint n,stack[100]; //存放的是路径int total; //路径的总数目int att(int l,int i);void make(int l){ int i; if(l==n+1){ total=total+1; for(i=1;i<=n;i++) printf("%-3d原创 2015-10-20 15:52:25 · 705 阅读 · 0 评论 -
2015第七届蓝桥杯决赛C语言A组--穿越雷区(DFS)
X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。例如:A + - + -- + - - +- + + + -+ - + - +B原创 2016-05-24 19:05:56 · 2365 阅读 · 0 评论 -
2015第七届蓝桥杯决赛C语言C组--五星填数(DFS)
标题:五星填数如【图1.png】的五星图案节点填上数字:1~12,除去7和11。要求每条直线上数字和相等。如图就是恰当的填法。请你利用计算机搜索所有可能的填法有多少种。注意:旋转或镜像后相同的算同一种填法。请提交表示方案数目的整数,不要填写任何其它内容。先填满再判断和是否相等。。。#includeint a[10];int flag[15原创 2016-05-24 20:42:41 · 2220 阅读 · 0 评论 -
HDU 2817 A sequence of numbers (数学+快速幂)
Problem DescriptionXinlv wrote some sequences on the paper a long time ago, they might be arithmetic or geometric sequences. The numbers are not very clear now, and only the first three numbers of e原创 2016-08-06 16:38:14 · 469 阅读 · 0 评论 -
POJ 1118 Lining Up(枚举)
Lining UpTime Limit:2000MS Memory Limit:32768KTotal Submissions: 24910 Accepted:7809Description"How am I ever going to solve this problem?" said the pilot. Indeed, the p原创 2016-09-13 20:12:06 · 468 阅读 · 0 评论 -
HDU 1251 统计难题(字典树模板)
Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提原创 2016-09-17 09:45:46 · 368 阅读 · 0 评论 -
最大间隙问题(线性时间)
问题描述:最大间隙问题:给定n 个实数x1, x2 ,..., xn,求这n 个数在实轴上相邻2 个数之间的最大差值。假设对任何实数的下取整函数耗O(1),设计解最大间隙问题的线性时间算法。编程任务:对于给定的n 个实数x1,x2,...,xn,编程计算它们的最大间隙。数据输入:输入数据由文件名为input.txt的文本文件提供。文件的第1 行有1 个正整数n。接下来的原创 2016-09-05 20:33:40 · 5083 阅读 · 5 评论 -
字典序问题(排列组合)
字典序问题。在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc,xyz等字符串都是升序字符串。现在对字母表中产生的所有长度不超过6的升序字符串,计算它在字典中的编码。123…原创 2016-09-07 08:24:19 · 11599 阅读 · 4 评论 -
求最大公约数的线性组合(扩展欧几里得)
#includeint x,y;int gcd(int a,int b){ //欧几里得算法求最大公约数 if(b==0) return a; return gcd(b,a%b);}int exgcd(int a,int b){ //扩展欧几里得算法原创 2016-09-04 17:39:14 · 2870 阅读 · 0 评论 -
1000的阶乘-HDU 1042-大数阶乘(万进制思想)
思路: 即用数组a,数组中的每个元素存储4位数,, 比如,计算9的阶乘,在计算到7的阶乘时,7!为5040,可以用a[0]存储5040,没有产生进位,然后8!=5040*8=40320,如果看成万进制则产生了进位,那么a[0]=320(注意输出时不足4位的要在前边补0),a[1]=4(最高位不用补0),9!=40320*9,那么a[0]*9=320*9=...原创 2016-10-02 20:32:41 · 1576 阅读 · 0 评论 -
排列的字典序问题
问题描述:n个元素{1,2,, n }有n!个不同的排列。将这n!个排列按字典序排列,并编号为0,1,…,n!-1。每个排列的编号为其字典序值。例如,当n=3时,6 个不同排列的字典序值如下:字典序值 0 1 2 3 4 5排列 123 132 213 231 312 321算法设计:给定n以及n个元素{1,2,, n }的一个排列,计算出这个排列的字典序值原创 2016-10-28 10:14:31 · 7750 阅读 · 5 评论 -
有重复元素的全排列
描述:输入n(≤10)个小写字母(可能重复),输出n个字符的全部排列输入:aacc输出:aacc acac acca caac caca ccaa利用STL中的next_permutation()函数代码仅供参考,勿拷贝作为课堂派作业!!!#include#includeusing namespace std;原创 2016-10-28 15:37:58 · 760 阅读 · 0 评论 -
POJ 2240 Arbitrage(Floyd最短路)
ArbitrageTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 22202 Accepted: 9426DescriptionArbitrage is the use of discrepancies in currency exchange rates to transform one unit o原创 2017-03-02 19:24:22 · 304 阅读 · 0 评论 -
POJ 3660 Cow Contest(Floyd最短路)
Cow ContestTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 10780 Accepted: 6003DescriptionN (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming c原创 2017-03-02 19:41:07 · 281 阅读 · 0 评论 -
HDU 2639 Bone Collector II(0-1背包第k优解)
题意: 已知物品的个数、背包的容量、每个物品的价值和体积,求第k优解;思路: 和0-1背包相似,就是数组加了多一维,不同的是对于第i个物品选和不选的问题,0-1背包中是直接求的max(dp[j],d[j-w[i]]+v[i]);而在这里因为要求第k优解,需要将选(mv[])和不选(mw[])的情况记录下来(存到数组中),之后再将两个 数组进行有序的合并。以下AC代码:#inc原创 2017-04-18 19:33:45 · 551 阅读 · 0 评论 -
POJ 1511 Invitation Cards(最短路spfa算法)
Invitation CardsTime Limit: 8000MSMemory Limit: 262144KTotal Submissions: 21615Accepted: 7089DescriptionIn the age of television, not many people attend theater performances. Antique原创 2017-03-05 18:25:48 · 710 阅读 · 0 评论 -
HDU 2255 奔小康赚大钱 (KM算法+二分图最大权匹配)
奔小康赚大钱Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8774 Accepted Submission(s): 3871Problem Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行原创 2017-05-02 15:57:06 · 597 阅读 · 0 评论 -
2016 ACM/ICPC 青岛区域赛网络赛 1001 I Count Two Three(打表+二分)
I Count Two ThreeTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3582 Accepted Submission(s): 1094Problem DescriptionI will sho原创 2016-09-18 10:35:49 · 1489 阅读 · 0 评论 -
HDU 1157 Who's in the Middle (快速排序)
Problem DescriptionFJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median' cow gives: half of the cows give as much or more than the median; half give as原创 2015-08-17 15:43:50 · 356 阅读 · 0 评论 -
hdu 1051-Wooden Sticks
Problem DescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashion. It nee原创 2015-09-21 21:02:50 · 274 阅读 · 0 评论 -
hdu 1257 最少拦截系统 (贪心)
Problem Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求原创 2015-09-21 15:57:22 · 325 阅读 · 0 评论 -
蓝桥杯 历届试题 高僧斗法
问题描述 古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。 节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个台阶上。最高一级台阶必须站人,其它任意。(如图1所示) 两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过。两个小原创 2016-01-19 09:44:31 · 1661 阅读 · 0 评论 -
蓝桥杯 李白打酒 (dfs)
话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb 就是合理的次序。像这样的答案一共有原创 2016-01-20 09:18:31 · 1148 阅读 · 0 评论 -
最大子矩阵和(详解)
转载自:http://blog.csdn.net/beiyeqingteng前言:今天花了很长时间,看了无数人写的帖子,但是几乎没有人把这个问题一下子说得很清楚,所以,我把这个问题按照自己的思路写出来,希望能够把这个问题讲清楚。问题:求一个M*N的矩阵的最大子矩阵和。比如在如下这个矩阵中:0 -2 -7 09 2 -6 2-4 1 -4 1-1转载 2016-01-20 11:33:35 · 54193 阅读 · 18 评论 -
DFS和BFS模板
DFS:该DFS框架以2D坐标范围为例,来体现DFS算法的实现思想 #include#include#includeusingnamespacestd;constintmaxn=100;boolvst[maxn][maxn];//访问标记intmap[maxn][maxn];//坐标范围intdir[4][原创 2016-01-20 16:59:03 · 404 阅读 · 0 评论 -
HDU 2509 Be the Winner (Nim博弈)
Problem DescriptionLet's consider m apples divided into n groups. Each group contains no more than 100 apples, arranged in a line. You can take any number of consecutive apples at one time.For exa原创 2016-02-04 11:09:30 · 312 阅读 · 0 评论 -
判断多边形凹凸性
1)角度法:判断每个顶点所对应的内角是否小于180度,如果小于180度,则是凸的,如果大于180度,则是凹多边形。2)凸包法:这种方法首先计算这个多边形的凸包,关于凸包的定义在此不再赘述,首先可以肯定的是凸包肯定是一个凸多边形。如果计算出来的凸多边形和原始多边形的点数一样多,那就说明此多边形时凸多边形,否则就是凹多边形。3)顶点凹凸性法利用以当前顶点为中心的原创 2016-03-01 14:42:34 · 13809 阅读 · 2 评论 -
DFS专练
一、N皇后问题问题描述:在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n的棋盘上放置n个皇后,任何2个皇后不能在同一行或同一列或同一斜线上。思路:要解决N皇后问题,其实就是要解决好怎么放置这n个皇后,每一个皇后与前面的所有皇后不能在同一行、同一列、同一对角线,我们可以以行优先,原创 2016-02-17 11:50:36 · 576 阅读 · 0 评论 -
并查集详解
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,⋯,Sk},一般都会使用一个整数表示集合中的一个元素。每个集合可能包含转载 2016-02-22 10:51:15 · 316 阅读 · 0 评论 -
2014年山东省第五届ACM--Weighted Median
Weighted MedianTime Limit: 2000MS Memory limit: 65536K题目描述For n elements x1, x2, ..., xn with positive integer weights w1, w2, ..., wn. The weighted median is the element xk satisfying and原创 2016-04-10 16:22:00 · 466 阅读 · 0 评论 -
HDU 2544 最短路 (弗洛伊德模板)
Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N输入保证至少存在1条商店到赛场的路线。Output原创 2016-03-06 07:42:27 · 833 阅读 · 0 评论 -
HDU 2545 树上战争 (并查集)
Problem Description给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜Input输入包含多组数据每组第一行包含两个数N,M(N,M接下来N-1行,每行2个整数A,B(1接下来M行,每行有2个数,表示lxh和pfz的初始位置的编号X,Y(1原创 2016-02-21 11:13:58 · 377 阅读 · 0 评论 -
HDU 1016 Prime Ring Problem (经典DFS)
Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.原创 2016-02-17 11:58:27 · 284 阅读 · 0 评论 -
HDU 1232 畅通工程 (dfs、并查集)
Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( 注意:两个城市之原创 2016-01-21 10:50:09 · 419 阅读 · 0 评论 -
HDU-2159(FATE)
Problem Description最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最原创 2015-10-26 20:59:55 · 293 阅读 · 0 评论 -
HDU-1087(Super Jumping! Jumping! Jumping!)
Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it t原创 2015-10-25 20:33:59 · 356 阅读 · 0 评论 -
hdu 1050 Moving Tables(贪心算法)
Problem DescriptionThe famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure.The floor has 200 rooms each on the north side and原创 2015-09-28 20:39:20 · 448 阅读 · 0 评论