- 博客(12)
- 收藏
- 关注
原创 HDU 5029 Relief grain
题意:一棵树 m次染色 每次染色一条路径 颜色不会覆盖会积累 问每个点覆盖次数最多的颜色是什么思路:树上路径操作不是树链剖分就是LCT 对于每次染色 相当于让那种颜色的权值+1一般的熟练剖分都是将树剖成线段然后放在线段树上 这题只是剖成线段 然后对于路径的染色 就变成了对多个线段的染色由于剖分已经使树变成了线性的结构 因此我们可以利用“头加尾减”的方式维护
2014-09-27 10:36:12 1337 5
原创 HDU 5039 Hilarity
题意:一棵树上有些边是1有些是0 问 有几条简单路径路过奇数个1 树上的边的1和0可以修改思路:不会做… 看题解才找到思路… TAT首先要明确一点 对于u->v这条路径 它的奇偶是可以通过root->u和root->v计算的 因为如果从root出发的两路径不相交 那么两路径上的1相加即可判断u->v 如果相交 假设相交部分有x个1 那么对于u->v的1的个数即
2014-09-26 13:56:55 1127
原创 HDU 5032 Always Cook Mushroom
题意:一块田地坐标从(1,1)到(1000,1000) 每块田地能种(x+A)*(y+B)的蘑菇 问 形似(0,0)(p,0)(p,q)这样的三角形区域能种的蘑菇的数量思路:其实很简单 枚举x 根据输入的向量 我们可以求出每个x对应最高的y 然后对于y可以用等差数列求和 再加上y个B 最后乘(x+A)就好了 但是这题时间卡得挺恶心的…一开始写完T了 输入开挂还
2014-09-25 16:16:07 1192
原创 HDU 5037 Frog
题意:一只足够聪明的青蛙要过河 它每次最多跳L米 河宽m米 河中有n个石头 你可以任意的添加石头 问 青蛙最多跳几次思路:明显的考验想法 题的方向不是乱搞题就是贪心题首先我们明确 想要次数最多一定要每次跳的最短 但是不能忽略青蛙足够聪明 因此想到可以每2步跳L+1米考虑到河中本来就有一些石头 所以每次跳之前要先判断是不是能跳到石头上 如果能就不需要加石头
2014-09-25 09:39:19 864
原创 HDU 5040 Instrusive
题意:一个人拿着纸盒子往目的地走 正常情况下一秒走一格 可以原地不动躲在盒子里 也可以套着盒子三秒走一格 走路的原则是不能穿墙 而且地图上有些灯 灯能照到自己和面前一个格 每一秒灯顺时针转90度 如果要从灯照的地方离开或者进入灯照的地方就必须套上盒子 问 最短多长时间到目的地思路:状态只有500*500(地图大小)*4(灯转的4个方向)个 暴搜即可 bfs时候要
2014-09-24 14:30:18 1204
原创 HDU 5033 Building
题意:地面上有n座楼 你分别站在m个位置上 问每个位置上能看见多大角度的天空思路:很明显能想到在站的位置两边维持单调性 因此我们可以将站位和楼的位置排序 从左到右维护一遍 再从右到左维护一遍 这里可以利用单调栈 对于新扫描到的位置 如果是楼 那么栈中比它矮的楼就没用了可以出栈 如果是站位 可以这样判断 如果可以看见栈底的楼(最高的楼)那么前面的矮楼一定不会影响后
2014-09-24 10:26:26 884
原创 HDU 5001 Walk
题意:连通无向图 随机选起点 随机乱走 可以重复走点 问 每个点有多大几率不被路过思路:一看就是DP题…但是开始的时候陷入了僵局 我是想先算路过每个点的概率然后用1减去这个概率 但是由于可以重复路过 所以无法判断是不是第一次经过这个点所以我们应该直接做不路过的概率 即类似bfs的一步步走 如果走到了要计算的点就停下来 意思就是除了要计算概率的那个点不能
2014-09-18 16:34:57 842
原创 HDU 5000 Clone
题意:每个克隆个体有n个属性 如果对于A、B两个个体 A的n个属性均不低于B的n个属性 那么B会被淘汰 问最多能有多少个体同时存活思路:根据数据大小猜一下是n^2的复杂度 往DP方面考虑一下DP需要一个想法的支持 就是最优的那个集合中的元素的n个属性的和一定是一样的 为什么呢? 想象一下 假设最优的集合的属性和是5 这时你选过来一个和为6或者4的元素 那么至少
2014-09-18 09:23:44 1345 1
原创 HDU 4998 Rotate
题意:n次旋转 每次平面绕ai点旋转pi弧度 问 最后状态相当于初始状态绕A点旋转P弧度 A和P是多少思路:假设初始X点的最后状态为X‘点 则圆心一定在X和X'连线的垂直平分线上 那么只要用在取一个点Y和Y' 同样做它的垂直平分线 两线交点即是圆心 然后用简单几何方法算出角度 最后注意要求最后状态由最初状态逆时针旋转得到 适当调整角度即可PS:kuangb
2014-09-17 10:46:13 865
原创 ZOJ 3812 We Need Medicine
题意:一个物品重w效力t 给出所有n个物品 有q个询问 每个询问输出w的和为m同时t的和为s的方案思路:明显就是01背包 只不过一个东西在两个维度上有价值 由于w只有50因此可以状压先想如何输出方案 利用f[i][j]表示sumw=i同时sumt=j时候装进包里的最后一个物品 那么输出这个物品后i和j都减去这个物品的w和t 就可以到达新的状态 这样可以一直到背包为
2014-09-16 18:58:44 1032
原创 ZOJ 3810 A Volcanic Island
题意:n*n的格子 将它分成n份大小为n的连通块 要求每个块形状不同 用4种颜色将格子染色后输出思路:纯构造题 考验智商 不过还是有思路可寻的首先这题要想到将格子分区域的去做(想不到就没办法了…)假设我们两行为一个区域 那么将这两行划分成两个面积为n的块之后发现它们的形状必然相同 因此两行不行 所以我们尝试3行为1个区域!! 可以构造:这样构造就可以保证形
2014-09-09 13:33:20 1698
原创 ZOJ 3811 Untrusted Patrol
题意:一幅图某些点有监视器 监视器只记录第一次路过的时间 问 给出路线序列 是否存在满足序列的情况下遍历整幅图的点思路:不要想割点 割点无法处理在一个双连通分量内的多个监视器 这题就是贪心+搜索贪心就是尽量多的使用不违背序列的点 那么我们先把序列里的第一个点和不存在监视器的点加入图 并将他们连边 对于其他的序列中的点 如果这个点存在与第一个点所形成的连通块连接的
2014-09-08 10:41:45 985
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人