- 博客(19)
- 资源 (63)
- 收藏
- 关注
原创 POJ2771最大独立集元素个数
题意: 女生和男生之间只要满足四个条件中的一个,那么两个人就不会在一起!然后给出一些男生和女生,问最多多少人一起做活动彼此不会产生暧昧关系。思路: 这样的问题还是比较裸的问法,就是再问最大独立集元素个数,左边是男,右边是女,建立二分图,然后可能暧昧的连接在一起,最后n-最大匹配数,就行了,还有就是很多人都不是很理解这个结论为什么是对的,我说下我的简单理解,我
2015-02-06 17:05:47 508
原创 POJ2688状态压缩(可以+DFS剪枝)
题意: 给你一个n*m的格子,然后给你一个起点,让你遍历所有的垃圾,就是终点不唯一,问你最小路径是多少?思路: 水题,方法比较多,最省事的就是直接就一个BFS状态压缩暴搜就行了,时间复杂度20*20*1024的,完全可以接受,但是被坑了,一开始怎么交都TLE,后来又写了一个BFS+DFS优化,就是跑之前先遍历一遍图,看看是不是所有的垃圾点都能遍历到,这样还是
2015-02-06 17:04:43 734
原创 POJ2669不错的最大流 竞赛问题(枚举King的个数)
题意: 有n个人,任意两个人都比一次赛(一共比了n*(n-1)/2场),赢一场得到一分,最后的时候如果得分最高,或者是自己打败了所有比自己得分都高的人就算是King,给你每个人的最后得分,问最多有多少个人是King.思路: 一开始上了就贪心了一次,WA了,改了改之后又贪心了一次,还是没过,然后换思路(其实做这个题目是本着最大流来的),然后就去考虑最大流,最大
2015-02-06 17:02:55 674
原创 POJ2446 模板盖格子 简单二分匹配
题意: 给你一个n*m的格子,有的格子上有坑,然后让你用1*2的东西去覆盖所有没有坑的格子,不能重叠,坑上也不能放东西覆盖,问是否能成功。思路: 简单题目,每个格子和四周的格子如果可以放在同一个1*2的里面那么就连接一条边,直接匹配一遍就行了,有的人可能想问为什么?可以这么想,首先如果像覆盖所有的格子那么必须是放最多的1*2覆盖物((n*m-k)/2这么多
2015-02-06 17:01:40 491
原创 POJ2349二分+并查集,类似最小树的贪心
题意: 给你n个点,你的任务是构建一颗通讯树,然后给你一个s表示可以选出来s个点两两通讯不花钱,就是费用是0,其他的费用就是两点的距离,有个要求就是其他的费用中最大的那个最小。思路: 方法比较多,题目也不难,但是容易有一个误区就是很多人认为这个题目是在求最小生成树,我不是这么想的(虽然这个题目可以用最小树的算法过,但是我的感觉是他和最小树是相同的代码,不同的思
2015-02-06 16:58:02 439
原创 POJ2308连连看dfs+bfs+优化
DFS+BFS+MAP+剪枝题意: 就是给你一个10*10的连连看状态,然后问你最后能不能全部消没?思路: 首先要明确这是一个搜索题目,还有就是关键的一点就是连连看这个游戏是存在决策的,就是如果当前的这个点可以连接好几个点的话,我们选择那个点连接是不一样的,所以还要遍历所有的可能连接点,这样考虑的话单纯的一个搜索肯定不行了,可以用一个深搜套广搜的的结构,深搜是
2015-02-06 16:49:41 770
原创 POJ1789简单小生成树
题意: 给你一些车牌号,然后另一两个车牌号之间的权值就是这两个字符串之间相同位置不同字母的个数,然后求最小生成树。思路: 裸题,不解释了。#include#includeusing namespace std;typedef struct{ int a ,b ,c;}EDGE;EDGE e
2015-02-06 16:46:15 431
原创 POJ1722二维spfa+优先队列优化
题意: 给你一个有向图,然后求从起点到终点的最短,但是还有一个限制,就是总花费不能超过k,也就是说每条边上有两个权值,一个是长度,一个是花费,求满足花费的最短长度。思路: 一开始写了一个mark[i][j]第i个点花费j状态的spfa,TLE了,然后又优化了下,就是先反向搜索一遍简单最短路(以花费为权值)然后用这个结果在mark[][]二维的最短路里面剪枝用,
2015-02-06 16:44:57 973
原创 POJ1611基础带权并查集
题意: 有一个人生病了,和他一个社团或者间接和他有联系的人都会生病,问一共有多少人生病了。思路: 比较简单和基础的题,带权并查集中的一种,就是记录更新集合元素个数,这个题目我是开始的时候每个人自己在自己的集合里,元素个数是1,然后在多开出来m个集合,让第i个社团直接映射到i+n个集合,元素个数一开始是0,然后就是简单更新了,还有就是注意下两个人已经属于同一个
2015-02-06 16:44:01 460
原创 POJ1486模拟或者匈牙利变种
题意: 有n个矩形,每个矩形上的某个位置上都有一个点,但是由于矩形是透明的,当一些矩形重叠在一起的时候就很可能分不清哪个点是那个矩形的,给你n个矩形的坐标,还有n个点的坐标,然后让你找出所有能确定的点。思路: 两种方法做的,第一种是用的模拟的方法,我是这么想的,如果把一个状态给我们自己我们会怎么判断?我肯定是先找到我一眼就能看出来的删除,什么样的算是可以删
2015-02-06 16:42:46 537
原创 POJ1456贪心(set或者并查集区间合并)
题意: 给你n商品,每个商品有自己的价值还有保质期,一天最多只能卖出去一个商品,问最大收益是多少?思路: 比较好想的贪心,思路是这样,每一次我们肯定拿价值最大的,至于在那天拿当然是尽可能的往后拖了,因为可以把前面的时间留给一些快过期的用,这种贪心策略很容易想到,对于实现的时候我尝试了两种方法,首先把商品按照价格从大到小排序,一个是我以前常用的set容器,他可
2015-02-06 16:40:28 767
原创 POJ1258最小生成树简单题
题意: 给你个图,让你求一颗最小生成树。思路: 裸题,克鲁斯卡尔或者普利姆都行。#include#includeusing namespace std;typedef struct{ int a ,b ,c;}NODE;NODE node[100*100+10];int mer[105];
2015-02-06 16:39:18 1536
原创 poj1190深搜 生日蛋糕
题意: 让你制作一个蛋糕,这个蛋糕有m层,而且每层都是圆柱形,并且每一层都必须满足ri>ri+1 && hi > hi+1,然后给出蛋糕的总体积是n*PI,还有层数m,让你构建一个蛋糕,使得这个蛋糕的总面积(没有底面)S*PI中的S最小,其中S,m,n,ri,hi都是整数(n思路: 题意的最后一句话是突破口,就是所有的数据都是整数,这样我们可以考虑搜索,就
2015-02-06 16:38:32 560
原创 POJ1376简单广搜
题意: 给你一个n*m的矩阵,然后给你机器人的起点和终点,还有起点的方向,然后每次机器人有两种操作,左右旋转90度,或者是朝着原来的方向走1,2或者3步,机器人再走的过程中不能碰到格子,也不能碰到边界,输出最少步数。思路: 比较简单的题目,只是要注意几点。(1)走的过程中边界不可以碰(2)如果你想一下子走3步的话,记住路程中不能碰墙(3)mark的
2015-02-06 16:37:25 946
原创 POJ1135比较有意思的对短路(多米骨牌)
题意: 有一个骨牌游戏,就是推到一个后所有的牌都会被退到的那种游戏,起点是1,有两种骨牌,一种是关键牌,另一种是普通牌,普通牌是连接关键牌用的,给你一些边a b c的意思是关键牌a倒之后c时间b会被a的效应影响到,被推倒,然后问题是求出所有牌被都被推倒的时间,还有最后倒的牌处在的位置(两种情况,处在某一个关键牌上,处在某一条关键牌之间)。思路: 可以用spfa
2015-02-06 16:36:10 737
原创 POJ1094查分约束,判断关系是否唯一
题意: 给你一些a1 当前这组之后如果能确定这n个数的大小关系,那么就输出关系2 当前时候出现bug,就是和前面如果冲突,那么就不行3 最后的答案是否是不确定的,就是既没确定关系,也没出现bug.思路: 这个题目要清楚一点就是处理顺序,上面的三个情况可能会出现重叠的情况,那么就按照上面的1 2 3的优先级来处理,至于判断当前关系是否成立和唯一我
2015-02-06 16:35:17 456
原创 POJ1087DFS+匈牙利或者DINIC
题意: 有n个插孔,m个电器,q种转换器(转换器可以无限用),然后问你最多有多少个电器能充电。思路: 比较简单,就是在建图的时候要考虑下,我用了两种方法做的,一个是最大流,这个方法我的建图是这样,先给每个用电器虚拟出来一个点n,每个插座虚拟出来两个点(限流)m,然后给每个插座或者是插头的类型虚拟出来一个点,这样就ok了,建图是这样s ->
2015-02-06 16:34:27 435
原创 hdu3374最小表示法+KMP
题意: 给你一个最长100W的串,然后让你找到最小同构子串,还有最大同构子串的下标,最小同构子串就是把字符串连接成一个环,然后选择一个地方断开,得到的一个ASCII最小的子串(求最大同理),得到两个下标之后还要求两个数,就是最小子串出现的次数,还有最大子串出现的次数,就是所有循环移位后的到的len个子串中最小子串出现了多少次?思路: 求最小和最大小标这个可以
2015-02-06 16:33:40 479
原创 POJ1149 最大流经典建图PIG
题意: 有一个人,他有m个猪圈,每个猪圈里都有一定数量的猪,但是他没有钥匙,然后依次来了n个顾客,每个顾客都有一些钥匙,还有他要卖猪的数量,每个顾客来的时候主人用顾客的钥匙打开相应的门,可以调整猪的数量,然后卖给一些猪给这个顾客(卖多少自己决定),顾客走之后所有的们就都锁上了,问主人最多能买多少头猪。思路: 经典的建图,这已经是我第三次做这个题目了,大一,大
2015-02-06 16:32:21 609
内存清理工具(加速球)
2016-12-09
屏幕像素点获取并设置鼠标位置为制定像素(源码)
2016-12-07
程序速度齿轮
2016-11-20
服务提权工具
2016-11-20
重新封装了下node-mongo服务.zip
2019-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人