- 博客(33)
- 资源 (63)
- 收藏
- 关注
原创 UVA11300分金币
题意: 圆桌旁作者n个人,每个人都有一定数量的金币,他们每次可以给相邻的人一枚金币(可以给多次),问所有人金币数都相同的话最少要给多少次金币。思路: 这个题目感觉很好,首先我们可以假设每个人都向他前面的人给出了xi的金币,x1表示1这个人给了n这个人(因为是环)多少金币,x2表示2给了以多少金币,xi可以使负数,负数说明是反着给的x2=-4说明是一给了二4
2014-10-20 16:17:44 552
原创 UVA11248 网络扩容(枚举割边扩充)
题意: 给你一个有向图,问你从1到n的最大流是多少?如果流量大于等于C那么直接输出一个串,否则输出只扩充一条边的流量就可以达到1->n大于等于C的所有边,如果扩充不了就输出另一个串。Sample Input 4 4 51 2 51 3 52 4 53 4 54 4 51 2 1
2014-10-17 17:45:04 437
原创 hdu3987 最小割边数
题意: 是让你求最小割之后问最小割的最少边数是多少,因为最小割不是唯一的,所以存在最小边数的问法。思路: 两个方法,一个是先一遍最大流,然后把割边全都改成流量1,其他的全都改成流量无穷就行了,第二个方法是比较经典的方法,就是把权值放大 *(E+1)+1,最后在对(E+1)取余就行了,这么干其实是同时跑了两遍最大流,只不过是
2014-10-17 15:17:41 488
原创 UVA11419 我是SAM
题意: 给你一个n*m的矩阵,上面有一些格子上有目标,我们可以在格子的外面用枪打目标,一发子弹可以消灭一行或者一列目标,问你最少多少枪能把目标打光,并且输出开枪的位置,题目没说spj(特判),但显然是特判。思路: 求最少多少枪好办,就是求最小顶点覆盖,这个大家都知道,关键是求方案,白书上当时说的是什么匈牙利树,表示没听过,没办法,愣是在网上找到一个代码不停的模
2014-10-16 19:44:53 1015
原创 UVA10047独轮车
题意: 给你一个独轮车,轮子上有五个扇形,每过一个格子就转过一个扇形,刚开始的时候方向是向北的,绿色上行向下,每一次可以有三种操作,到下一个格子,左转90度,右转90度,每一次操作都花费时间1,问从起点到终点的最小步数,要求到终点的时候必须还是绿色扇形向下,方向无所谓。思路: mark[x][y][col][fx]代表的是在点(x,y)处,颜色是col方向是
2014-10-16 16:02:41 1129
原创 UVA11624大火蔓延的迷宫
题意: 给1个n*m的网格,上面有的点能走,有的点不能走(墙),然后有的点是火源,火源和人一样,每次都是上下左右四个方向蔓延,速度一样是1,火也不可以从墙上跨过去,给你人的起点,终点是只要走到边界就行,就是走出矩阵,问你最小逃生时间。思路: 一开始小卡了一下,过了一会马上反应过来了,这个题算是基本的广搜题吧!我们想下他跟我们见过的最最基本的广搜有什么区别?是不
2014-10-16 16:00:29 2373
原创 UVA11729突击战(汇报和执行任务)
题意: 你是一个长官,有一些士兵要跟你先汇报任务后在去执行任务,每次只能接受一个人的汇报,但是每一时刻可以有多个士兵在执行任务,问所有任务执行完要的最小时间。思路: 按执行任务时间从大到小排序来执行就行了,至于为什么贪心的策略是这个我是这么想的,首先任何一个人执行任务的顺序都不会影响他的汇报和干活时间,还有就是(1)如果两个任务的工作时间相等,汇报时间
2014-10-16 09:31:21 469
原创 UVA11292杀怪
题意: 一个怪物有N个头,每个头都有半径,然后有M个骑士,每个骑士能砍掉半径小于等于X[i]的头,花费为X[i],并且一个骑士只能用一次,问砍掉怪物所有头的最小花费。思路: 比较简单的贪心题,我是直接把头和骑士都放在一起,然后从大到小排序下,如果权值一样的让骑士在前面,然后开始枚举每一个点,如果当前点是骑士,那么直接进栈,如果不是骑士,那么就从栈里取出一个
2014-10-16 00:00:18 407
原创 UVA10881蚂蚁
题意: 在一个木棍上有只小蚂蚁,他们的移动速度都是1,移动的时候如果和别的蚂蚁碰面,那么碰面的这两只小蚂蚁会马上掉头继续走,给你每只蚂蚁的初始距离木棒左端点的距离和方向,以及木棍长度,问你t时间后每个蚂蚁的状态。思路: 比较有意思的题,其实对于这个题目,我们考虑下,如果所有的蚂蚁都没有区别,那么两只蚂蚁相遇是不是相当于"穿过去"了?那么有区别的时候呢?其实
2014-10-15 23:18:45 1168
原创 Known Notation 39届亚洲赛牡丹江站K题
题意: 题意,哎!说道题意就蛋疼啊,比赛的时候就愣是把这个题目读成数字可以随意组合,比如123 可以拆成1 23 ,12 3 ,1 2 3,结果显然,水题当神题,各种想不出来,然后就显然的悲剧了,现在说下这个题目的意思给你一个串问你最少多少步操作可以把这个串变成合格的表达式组,每个合格表达式都是AB*的形式,A,B是数字,而且是1位的数字,只能是1位,然后AB*可以变成一个数字,也是
2014-10-15 18:14:55 507
原创 hdu5062 简单题
题意: 求区间逆序数的个数,逆序数增加了个要求就是必须要是先升序在降序例如12321或者123321这样的.思路: 水题直接写就行了,数据范围不大,估计直接求也不会超时,我看见询问只有7种情况,直接打表了,下面给出打表代码和ac代码。打表#include#includeint jude(int now
2014-10-15 17:58:15 645
原创 hdu 5063 不错的小想法题(逆向处理操作)
题意: 刚开始的时候给你一个序列,长度为n,分别为a[1]=1,a[2]=2,a[3]=3,a[4]=4...a[n]=n,然后有4种操作如下:Type1: O 1 call fun1();Type2: O 2 call fun2();Type3: O 3 call fun3();Type4: Q i问当前a[i]的值,****** 询问最多50次******
2014-10-15 17:53:20 443
原创 Average Score39届亚洲赛牡丹江站A题
题意: A班有n个人,B班有m个人,然后现在给你n-1个A班人的成绩,和m个B班人的成绩,然后题目要求求出A班剩下的没给成绩那个人的成绩范围,要求是这个人从A班转到B班后能使A,B的平均分都提高。思路: 这场比赛的最水题,可惜让我上去1WA了,当时随意一敲,随意一交,然后很不好意思的wa掉了,哎!说道这个就有点坑队友的感觉,这个题目我们可以直接求下平均数,
2014-10-14 21:13:59 542
原创 Building Fire Stations 39届亚洲赛牡丹江站B题
题意: 给你一棵树,让你再里面选取两个点作为**点,然后所有点的权值是到这两个点中最近的那个的距离,最后问距离中最长的最短是多少,输出距离还有那两个点(spj特判)。思路: 现场赛的时候我们压根就没看这道题,还有k题也是水题,可惜当时我们读的题意不对,最后只过了3个题,拿了个铜,不过没啥遗憾,因为这是第一次去亚洲赛,没空手而归就是好事,下几场放开了打就行了。
2014-10-14 20:55:53 760
原创 POJ2135 来回最短路(简单费用流)
题意: 就是从1走到n然后再走回来,一条边只能走一次,要求路径最短。思路: 比较水,可以直接一遍费用流,不解释了,具体的看看代码,敲这个题就是为了练练手,好久不敲了,怕比赛手生。 #include#include#include#define N_node 1000 + 10#define N_edge 40000 + 20#defi
2014-10-09 20:00:09 2157
原创 hdu3472 混合欧拉
题意: 给你一些字符串,有的字符串反过来也有意义,题目问给的这n个字符串是否可以首尾相连,组成一个串。思路: 算是混合欧拉的基础题目了,混合欧拉就是专门处理这类问题的,先说下混合欧拉的大体步骤。(1) 判断整个图是否连通,如果不连通直接不行(方法随意,并查集搜索什么的都行)(2) 看度数差为奇数的有多少个,只能有0个或者两个,其他的都不行。(3) 如果度
2014-10-09 19:46:02 481
原创 hdu3018 一笔画问题
题意: 给你一幅画,这幅画由点和边构成,问你最少几笔能把这幅画画完。思路: 这个题目的结论比较巧妙,首先我们考虑下,如果给的图是欧拉图,或者是条欧拉回路,那么我们一笔就搞定了,那么我们可以把图的每一个部分都检查一遍,如果是连通块,那么就直接+1,如果不是欧拉回路,那么我们就要统计这个连通块的度数为奇数的点的个数s, 答案+s
2014-10-08 20:28:09 502
原创 POJ2553 强连通出度为0的应用
题意: 给你一个有向图,然后问你有多少个满足要求的点,要求是 这个点能走到的所有点都能走回这个点,找到所有的这样的点,然后排序输出。思路: 可以直接一遍强连通缩点,所点之后出度为0的强连通点中所包含的点都是满足要求的,比较容易理解,还有就是这个题目我数组开到快 80000000了,还没MLE,这个我就不说什么了。
2014-10-07 16:27:42 428
原创 POJ1236 强连通 (缩点后度数的应用)
题意: 一些学校有一个发送消息的体系,现在给你一些可以直接发送消息的一些关系(单向)然后有两个问题(1) 问你至少向多少个学校发送消息可以让所有的学校都得到消息(2) 问至少加多少条边可以让所有学校达到消息互通(变成强连通图)思路: 比较简单了,我们先强连通所点,然后对于第一个问题,我们只要输出入度为0的个数,这个很好理解,对于第二个问题,我们可以输
2014-10-07 11:28:16 501
原创 hdu1435 稳定婚姻问题
题意: Stable MatchTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 307 Accepted Submission(s): 120Special JudgeProblem
2014-10-07 11:27:36 1168 1
原创 hdu1914 稳定婚姻问题
稳定婚姻问题就是给你n个男的,n个女的,然后给你每个男生中女生的排名,和女生心目中男生的排名,然后让你匹配成n对,使婚姻稳定,假如a和b匹配,c和d匹配,如果a认为d比b好,同时d也认为a比c好,那么ad就有可能私奔,这样就导致了婚姻的不稳定,稳定婚姻就是找到一种解决方案让婚姻稳定算法: 稳定婚姻的解决方法比较简单,通俗易懂,而且还容易实现,具体有没有固定的模板我不知道,没有去找
2014-10-07 11:24:04 1020
原创 稳定婚姻问题(自己的总结)
稳定婚姻问题就是给你n个男的,n个女的,然后给你每个男生中女生的排名,和女生心目中男生的排名,然后让你匹配成n对,使婚姻稳定,假如a和b匹配,c和d匹配,如果a认为d比b好,同时d也认为a比c好,那么ad就有可能私奔,这样就导致了婚姻的不稳定,稳定婚姻就是找到一种解决方案让婚姻稳定算法: 稳定婚姻的解决方法比较简单,通俗易懂,而且还容易实现,具体有没有固定的模板我不知道,没有去找
2014-10-07 11:20:52 4231
原创 hdu 5059 判断数字表示方式以及范围合法(int型之内)
题意: 给你一个串和两个整数a,b,问你这个串表示的数字是否合法,并且在a,b之间,和法的要求是无论是正数还是负数都没有前导0,并且注意 -0 是不合法的。思路: 写了将近两个小时了,还是wa,就是不停的模拟模拟模拟,最后都感觉自己不知道题意了,-0不合法是最后ac了才测出来的,在网上看到了一个比较好的方法,里面涉及到两个新的函数,之前没用过,先解释下函
2014-10-06 11:08:46 682
原创 hdu1024 最大m子序列和
题意: 给你一个序列n个数组成,然后让你在里面找到m个子序列,让这m个子序列的和最大。思路: dp[i][j]表示的是第j个数字在第i个子序列时的当前最优值。dp[i][j] = maxx(dp[i][j-1] + num[j] ,maxx(dp[i-1][k]) + num[j]); k是从1到j-1.可以这么理解这个转移方程,对于当前的这个数
2014-10-05 18:37:56 5582
原创 poj 2472
题意: 给你一个无向图,然后每条边的权值就是不被抓的概率,有个货要从1逃到n,问你他的最安全概率是多少?思路: 水题,直接跑就行了,一开始自己想多了,还转换了一下log,后来发现转换之后会有正环,有正环求最长路就呵呵了,直接跑就行了,具体看代码,我写的是spfa.
2014-10-05 13:12:19 639
原创 hdu4539 郑厂长系列故事——排兵布阵 + POJ1158 炮兵阵地
题意: 郑厂长系列故事——排兵布阵Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1883 Accepted Submission(s): 686Problem
2014-10-04 16:58:55 930
原创 POJ 3228 二分最大流
题意: 给你N个位置,每个位置都有金矿数量和仓库数量,然后位置和位置之间的距离给了出来,最后问你吧所有的金矿都放到库里面走的路径 最长的最短 是多少?思路: 比较简单的一个题,直接二分答案,然后用最大流是否满流来判断二分方向,还有就是建图的时候不用拆点什么的,一开始建图想麻烦了,都快敲完了才反应过来,具体看代码。
2014-10-03 18:15:59 465
原创 hdu2167 方格取数 状态压缩dp
题意: 方格取数,八个方向的限制。思路: 八个方向的不能用最大流了,四个的可以,八个的不能抽象成二分图,所以目测只能用dp来跑,dp[i][j]表示的是第i行j状态的最优,具体看代码。
2014-10-03 14:11:06 662
原创 hdu 5045 费用流
题意: 网选赛的一个题目,当时各种超时各种wa,哎! 题意是有n个人m道题,每个人对每道题都有一个ac率,每相邻的n到题目必须n个人每人一道,顺序无所谓,上下的m%n道只要不出现一个人做两道就行,最后要求输出最大的ac率。思路: 第一眼就感觉是网络流,然后建了一个很复杂的图,结果各种超时,当时吧这个题目想的复杂了,队友后来用dp过了这个题目,感觉有点失落啊,回去
2014-10-02 20:54:35 461
原创 hdu3182 状态压缩dp
题意: 一个人做汉堡包,每个汉堡包有自己的花费和价值,某些汉堡包必须是在其他的某些汉堡包已经做好了的前提下才能制作,给你这个人的初始钱数,问最大的价值是多少。思路: 比较简单的一个题目,首先我们开一个数组dp[i]表示i状态(状态压缩)时的最大价值,把每一个状态都用这n个汉堡包更新一下,还的开个数组money[i]表示的是i状态是的剩余钱数,更新的时候记住一
2014-10-02 20:44:10 801
原创 hdu1074 状态压缩dp+记录方案
题意: 给你一些作业,每个作业有自己的结束时间和花费时间,如果超过结束时间完成,一天扣一分,问你把n个作业完成最少的扣分,要求输出方案。思路: 状态压缩dp,记录方案数的地方我用的是类似并查集的方法,记录当前状态是那个状态转移过来的,,对于字典序最小,这个比较好处理,给的是升序的,所以直接更新的时候记录就行了,,我是开了一个dp[i]表示i状态时的最小扣分,
2014-10-02 19:37:50 564
原创 hdu3449 有依赖的背包问题
题意: 给你一些物品,每个物品有自己的价值和花费,每个物品都对应一个箱子,每个箱子有价钱,买这个物品必须买相应的箱子,给你一个价钱,问最多可以获得多少价值。思路: 典型的有依赖的背包,每个箱子是“主件” 每个箱子所对应的物品是他的“附件”,有依赖的背包的过程就是把没一组主件和附件的集合中附件跑一遍01背包,然后把主件强加到跑完后的数组里,然后再在虽有的集
2014-10-02 16:08:45 1847 1
原创 hdu1561 树形dp
题意: 给你n个东西,每个东西有自己的价值,让你从里面最多取出m个物品,问最大的价值,有的物品有限制,就是必须先取出某个物品后才能取出这个物品。思路: 树形dp,应该是树形的01背包吧,自己dp太渣了,看题解看了好久才懂,我对于树形dp的理解目前是 树形第dp就是用树的节点关系,来约束dp更新是的顺序,比如必须更新完子节点
2014-10-02 14:17:40 472
内存清理工具(加速球)
2016-12-09
屏幕像素点获取并设置鼠标位置为制定像素(源码)
2016-12-07
程序速度齿轮
2016-11-20
服务提权工具
2016-11-20
重新封装了下node-mongo服务.zip
2019-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人