自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 POJ 1064 Cable master

题意:n条绳子,长度分别为Li,如果从中截取K条相同的绳子,每条最长是多少(两位小数)?题解:题解很巧妙,直接二分搜索,从0到INF二分循环100遍,便可以达到精度要求#include#include#include#include#include#include #include #include #include #include #include #define

2015-08-27 18:03:31 296

原创 POJ 1631 Bridging signals(LIS)

题意:一道最长上升子序列,不过数据较大题解:n2的话会超时,因此采用O(nlog(n))算法,dp[i] 表示长度为i的上升子序列末尾最小值,len记录当前长度最大值,采用二分查找在dp[i]中寻找大于a[i] 的最小值并且替换代码:#include #include #include using namespace std;#define maxn 40010int n,l

2015-08-25 19:10:56 364

原创 POJ 1065 Wooden Sticks

题意:我们要处理一些木棍,第一根的时间是1分钟,另外的,在长度为l,重为w的木棍后面的那根的长度为l’, 重量w’,只要l 并且w ,就不需要时间,否则需要1分钟,求如何安排处理木棍的顺序,才能使花的时间最少。题解:贪心,首先按照长度重量从小到大排序一遍,然后做如下操作:选取当前没有被标记的最小的木棍,记录下它的长度和重量为x,y,然后向后处理,满足长度重量均大的做个标记,更新x,y,

2015-08-22 13:56:56 335

原创 POJ 1742 Coins (多重背包)

题意:有n种面额的硬币,面额个数分别为A_i、C_i,求最多能搭配出几种不超过m的金额?题解:看了别人代码敲完#include#include#include#include#include#include #include #include #include #include #include #define INF 0x3f3f3f3f#define maxn

2015-08-22 12:54:57 722

原创 HDU 5414 CRB and string

题意:给定两个字符串,问能否在第一个字符串中某个字母后面加入一个字母(不能相同)(这个操作可以操作多次),使其变成第二个字符串。题解:做的时候没有意识到对于abc  adddbc这样的样例,可以在a后面插入3遍d,使改变符合题意,结果没A掉,真是可惜了。。。#include#include#include#include#include#include #include #i

2015-08-21 15:39:00 350

原创 POJ 3126 Prime Path

给定两个四位素数a b,要求把a变换到b变换的过程要保证 每次变换出来的数都是一个 四位素数,而且当前这步的变换所得的素数 与 前一步得到的素数 只能有一个位不同,而且每步得到的素数都不能重复。 求从a到b最少需要的变换次数。无法变换则输出Impossible解题思路:超级水题,40入口的BFS + 素数判定不过剪枝之后就没有40入口了,入口数远小于40无论是判定素数还是搜索素

2015-08-19 16:54:59 288

原创 POJ 3190 Stall Reservations

题意:一些奶牛要在指定的时间内挤牛奶,而一个机器只能同时对一个奶牛工作。给你每头奶牛的指定时间的区间,问你最小需要多少机器。题解:感觉是道经典题,遇到很多遍都好像是弃了。。。。 只能借鉴别人思路了。。。。维护一个优先队列,里面以已经开始挤奶的奶牛的结束时间早为优先,然后每次只需要检查当前是否有奶牛的挤奶工作已经完成的机器即可,若有,则换那台机器进行工作。若没有,则加一台新的机器。

2015-08-19 14:10:02 389

原创 POJ 3009 Curling 2.0

题意:给定一个m*n的网格,在这些网格上一些地方有障碍物,给定起点与终点的位置,当石头从起点开始走,撞上障碍才会转弯,否则会一直沿着来时的方向继续前进。撞到障碍后停在障碍前的位置,障碍消失。然后石头可以选择四个方向(相邻处无障碍的方向)前进,问至少需要停多少次才能从起点到达终点。不能到达或者多余10步后游戏失败。如果能到达输出最少的步数,否则输出-1.题解:一道比较简单的DFS,刚交一发完美过

2015-08-17 15:53:29 432

原创 POJ 1182 食物链

Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述

2015-08-17 13:27:02 423

原创 POJ 2431 Expedition

题目大意:有n个加油站,每个加油站的加油的油量有限,距离终点都有一个距离。一个卡车的油箱无限,没走一个单元要消耗一单元的油,问卡车到达终点的最少加多少次油。题解:可以认为,在到达加油站时,就获得一次在之后任何时候都可以加Bi单位汽油的权利。由此,可以利用优先队列,放置经过的加油站可加的Bi单位汽油,需要时取出队头元素即可完成贪心贴一份别人的代码。。。

2015-08-15 16:47:01 404

原创 POJ 3253 Fence Repair

POJ 3253题目的大致意思为:有一块长木板,要经过n-1次切割将其切成n块FJ想要的木板,对于每块木板,没切割一次,将会消耗和这条木板长度值相等的金钱,问最少需要多少钱,可将木板切成自己想要的n块。题解:由题目易知:开销合计应该是木板长度乘以节点深度(看了一张将切木板过程描述为树的图会很清晰),最短板与次短板为兄弟,由此可以慢慢将最短板和次短板合成,插入数组,直到剩下最后一个元素,

2015-08-15 16:07:04 427

原创 uva 11549 Calculator Conundrum(floyd判圈)

uva 11549题意:有个老式计算器,每次只能记住一个数字的前n位。现在输入一个整数k,然后反复平方,一直做下去,能得到的最大数是多少。例如,n=1,k=6,那么一次显示:6,3,9,1...题解:重复下去必然会重复,可以利用set结构保存是否出现过这个数,更可以利用floyd判圈算法Floyd算法:两个指针p1,p2.最开始先全都指向链表头,p2移动的速度比p1快一倍,

2015-08-14 14:15:34 528

原创 输入输出优化代码

#include inline int readint(){    char c = getchar();    int x = 0;    while(!isdigit(c))        c = getchar();    while(isdigit(c))    {        x = x * 10 + c - '0';        c = ge

2015-08-14 09:41:49 555

原创 UVA 10795 A Different Task

uva 10795    题意就是在汉诺塔基础上加上起始和终止状态,求需要的步数。    一开始让我写这道题,我是不会的。。。不过看了书上讲解,还是似懂非懂,利用一个函数f(P,i,final),P数组是各盘子初始柱子编号,i代表将1,2,3....i全部移到fianl柱子所需要的步数,呃,想清楚这个函数,然后递归求解就ok了,递归方程是f(P,i,final) = f(P,i-1,6-P

2015-08-13 15:44:57 465

原创 UVA 10881 - Piotr‘s Ants

UVa 10881题目大意:一根长L厘米的木棍上有n只蚂蚁,每只蚂蚁有个开始的位置和爬行方向,速度为1.当两只蚂蚁相撞后,两者同时掉头继续爬行,求按输入顺序给出每只蚂蚁T秒后的位置后朝向。  所有蚂蚁顺序始终不变,因为相撞就会改变方向,也就是蚂蚁始终在自己的那段小区间活动,而对于蚂蚁相撞返回问题,可以直接看作是蚂蚁相遇直接穿过,这样直接在输入时预处理就ok了,思路很强大啊!!代码见蓝书

2015-08-13 08:40:20 483

原创 LA 3708 Graveyard

LA  3708在一个周长为 10000 的圆上等距分布着 n 个雕塑。现在又有 m 个新雕塑加入(位置可以随意摆放),希望所有 n + m 个雕塑能在圆周上均匀分布。这就需要移动一些原有的雕塑。要求 n 个雕塑移动的总距离最小。乍一看这道题没有思路,这时候就只能借助于蓝书了,书上巧妙的将坐标缩小到1,在扩大n+m倍,这就保证最后所有n+m个点就是按照 0,1,2,3.....坐标分布

2015-08-13 08:36:35 762

原创 新的旅程 出发!

这是我写的第一篇文章,这个博客以后就记录一些难题巧题,记录我ACM历程的点滴。话不多说,直接上题。最近应该是以刘汝佳蓝书敲题为主,有详细题解和答案,方便我学习。uva 11300题意:将所有人的硬币进行一次平均分配,这里要注意的是,每个人只能和左右相邻的人交换硬币,而且这些人组成的是一个环。  题解:书上讲的很详细,以前遇到这种题只能是果断弃疗,因为一点思路都没有,所以比较惊讶于蓝

2015-08-13 08:31:24 1095

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除