POJ
文章平均质量分 63
编码思考
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[挑战程序设计竞赛] POJ 3699 - Meteor Shower
题意:给定M个坐标上会在T秒时掉落一颗陨石,人最初在坐标(0,0),人在当前坐标每走到四周的格子需要花费时间1秒。问这个人至少需要多少秒才能到达安全地带?(人可以在第一象限随便走~)BFS的过程中判断人是否被陨石碰到,碰到的地方就不能继续往下搜了,还有如果在坐标(0,0)第0秒有陨石掉落,人直接就被砸到了。。要输出-1。#include #include #includ原创 2014-11-28 15:31:58 · 1087 阅读 · 0 评论 -
POJ 3468 - A Simple Problem with Integers
线段树成段更新,更新和查询利用延迟操作,不需要更新到叶子结点。 当要更新或查询的路径上遇到了延迟标记,则需要将此标记更新到子结点即可。#include <stdio.h>#include <string.h>#define lson rt << 1#define rson rt << 1 | 1long long maxn[100002 << 2], lazy[100002 << 2原创 2015-03-23 09:03:15 · 515 阅读 · 0 评论 -
POJ 2528 - Mayor's posters
本题每次的更新区间为[1,10000000],区间较大,但是由于更新操作最多为10000条。从中可知数据的区间结点最多有20000个。将结点离散化后,可以节省很多空间。 离散化:把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 离散化之前: 离散化之后: #include <stdio.h>#include <string.h>#incl原创 2015-03-25 18:36:11 · 656 阅读 · 0 评论 -
[线段树] POJ 2828 - Buy Tickets
题意: 输入一个整数n。接下来n行分别输入两个整数Posi , Vali.。分别代表要插入的位置 和 插入的值。 本题思路比较难想,倒着插入会避免移动操作,只需要用线段树查询空着的个数即可。#include <stdio.h>#include <iostream>using namespace std;#define lson rt << 1#define rson rt原创 2015-03-17 17:40:06 · 597 阅读 · 0 评论 -
[最短路径] POJ 1062 - 昂贵的聘礼
本题题意比较难懂,说白了就是兑换的过程中,最高等级-最低等级<=M,否则不能进行兑换。由于M范围较小,可以枚举等级的区间。 举个例子:假设主人等级为3,M为2。 那兑换的过程中每个人的等级一定在[1,3] 或 [2,4] 或 [3,5]中的某个区间中。 枚举这个区间,然后倒着求最短路即可。注意本题是有向图。#include <stdio.h>#include <string.h>原创 2015-02-05 23:17:09 · 756 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 2376 - Cleaning Shifts
结构体排序 + 贪心#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 500000001;const double EPS =原创 2014-12-09 12:50:22 · 802 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 1328 - Radar Installation
题意:给定很多个岛屿的坐标,然后在X轴上安装雷达,问把覆盖到所有岛屿最少需要几个雷达。不能覆盖到所有岛屿则输出“-1”。根据题意,可以将每个岛屿的坐标转化成在X轴安装雷达的区间。如果有一个岛屿的纵坐标 > d 则一定输出“-1”,否则就有解。直接把转化完的区间按区间结束位置从小到大排序。随后贪心即可解决。#include #include #include #include原创 2014-12-09 20:27:27 · 686 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 1862 - Stripies
题意:有N堆菌落,每堆菌落都有自己的重量,现给定两堆菌落合并后的重量为2*sqrt(m1*m2),求全部合并后最小的重量。由合并公式可以看出,最开始合并的一定是两个最大的菌落,又可以根据2*sqrt(m1*m2)结果一定大于 min(m1, m2)。所以就不需要用优先队列来维护最大的权值了,直接从小到大排序后倒着挨个合并即可。。#include #include #includ原创 2014-12-19 15:00:03 · 953 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3040 - Allowance
题意:给定N,C分别代表面值的种类 和 每周至少要发的钱数。接着输入N行面值 和 对应面值的个数。问给定这些钱最多能发多少周?思路:1、当对应面值 >= C时,不需要贪心,直接计算即可。2、当对应面值 3、第二步结束后,显然能不浪费的面值都已经拿完了,如果当前贪心的结果val C的面值。重复上述步骤即可。。#include #include #includ原创 2014-12-19 11:56:22 · 867 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3050 - Hopscotch
题意:给定5x5的矩阵。矩阵中的每个点都可以作为起点,每个点可以跳到附近上、下、左、右四个位置。问:执行6次操作,可以组合出多少种不同的序列?DFS简单题~ 把每次搜到的结果存到set容器内,最后输出set元素个数即可。#include #include #include #include #include #include #include #include #i原创 2014-11-29 23:42:50 · 922 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3187 - Backward Digit Sums
题意:给定数字N和Sum。求由1~N的组合成的序列按题目的方式求和等于Sum。如果解有很多,输出字典序最小的那个。题目保证输入数据一定有解。不多说啦,DFS裸题,然后用类似杨辉三角的方式求和即可。。之前用队列模拟的求和。。结果TLE了。。然后改成二维数组方式求和了。。#include #include #include #include #include #include原创 2014-11-29 22:41:24 · 768 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3009 - Curling 2.0
题目大意:给定起点和终点的位置,从起点开始朝一个方向扔石头,当石头碰到一个方块,会停止在方块的前一个位置,并且这个方块会消失。当石头在一个方向上没有碰到任何方块,石头会飞到Board外,则游戏失败。求出从起点开始扔石头,是否能在10次以内碰到终点的位置。能则输出最少的次数,不能则输出-1。由于题目只询问10次以内是否能碰到终点的位置。那DFS的复杂度就没有多大了。。直接原创 2014-11-27 16:08:08 · 841 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 2718 - Smallest Difference
题意:给定0~9之间的一些不重复的数字,把这些数字任意组合成两部分,求两部分数字的差的最小值。(注意不能有前导0~)仔细想了一下发现:当给定数字个数为奇数时,两部分的个数应该是差一位的。当给定数字个数为偶数时,两部分的个数应该是相等的。用DFS做了一下,结果提交后TLE了,然后想了一下,发现输入的数字的个数为10的时候,结果只有一种~于是特判数字个数为10的时候,直原创 2014-11-28 15:43:52 · 1094 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3069 - Saruman's Army
模拟题,当时写的比较挫,界限原创 2014-11-24 15:26:39 · 914 阅读 · 0 评论 -
[挑战程序设计竞赛] POJ 3253 - Fence Repair
哈夫曼树裸题,用优先队列做的。。#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 500000001;const double原创 2014-11-24 16:09:04 · 981 阅读 · 0 评论 -
POJ 2886 - Who Gets the Most Candies?
由于模拟约瑟夫环比较费时,可以利用线段树的查询功能来优化。 如下图,把一个环拆开变成一条直线,就可以查询某段区间有多少个空位置了。 反素数经典博文:打开连接#include <stdio.h>#include <iostream>#include <algorithm>#include <string.h>#include <map>#define lson rt <原创 2015-03-20 16:49:23 · 696 阅读 · 0 评论
分享