POJ
ztypl
这个作者很懒,什么都没留下…
展开
-
POJ-1002 487-3279
大致题意:将若干字母电话本映射为数字表示,输出重复电话号码及次数。题目链接: http://poj.org/problem?id=1002此题解法很多。这里先将字符串数组转化为7位整数数组,快排后查询元素出现的次数即可。注意输出时的前导零。#include #include #include #include #include #include using namespa原创 2015-02-06 11:03:31 · 384 阅读 · 0 评论 -
POJ-2329 Nearest number - 2
题目大意:有一个N*N方阵,将其中的0替换为曼哈顿距离最近的非零元素的值;若有多余1个的最近非零元素,则维持原值0不变。 题目链接:http://poj.org/problem?id=2329 先写了一发BFS,结果TLE。写的过程中看出了一些类似DP的特质,尝试用DP写了下:两遍扫描,分别考虑来自左上和右下的元素,dp数组记录距离该元素最近的非零元素的个数、距离和位置。注意dp数组的更新规则。原创 2016-06-04 17:41:55 · 371 阅读 · 0 评论 -
POJ-2388 Who's in the Middle
题目大意:求一个数组的中位数 题目链接:http://poj.org/problem?id=2388 数据量水,直接sort也能过。或者用算法导论第9章的方法,类似快排方法来找。#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <stdlib.h>#include <原创 2016-06-02 17:32:15 · 296 阅读 · 0 评论 -
POJ-3083 Children of the Candy Corn
题目大意:有一个迷宫,求从起点到终点以三种方式移动(贴左墙走、贴右墙走、最短)的距离 题目链接:http://poj.org/problem?id=3083 贴墙走用DFS,最短路用BFS#include <iostream>#include <stdio.h>#include <string.h>#include <queue>#define MAXN 41using namespace原创 2016-06-02 16:13:21 · 229 阅读 · 0 评论 -
POJ-1017 Packets
题目大意:有货物若干,大小分别为1*1,2*2,3*3,4*4,5*5,6*6,将货物装在6*6大小的箱子中,求最少的箱子个数。 题目链接:http://poj.org/problem?id=1017原创 2016-02-29 01:44:08 · 224 阅读 · 0 评论 -
POJ-1012 Joseph
题目大意:约瑟夫环问题,前k人为好人,后k人为坏人,选取最小报数m,使得所有坏人先被剔除。题目链接:http://poj.org/problem?id=1012模拟即可,模拟过程中i表示淘汰过程的轮数(取值1~k),ans表示尝试的报数,成功时结束循环ans即为结果。数组a[]记录每轮淘汰人的原始编号,故模拟过程可表示为a[i]=(a[i-1]+ans-1)%(2*k-i+1)(公式比较简原创 2015-02-13 20:17:21 · 317 阅读 · 0 评论 -
POJ-1013 Counterfeit Dollar
题目大意:一共有12个硬币,其中有且只有一个假币,假币可能轻一些也可能重一些。输入给定三组天平的称重结果,有三种状态:up(左边重)、even(一样重)、down(右边重)。三组状态能保证唯一确定假币,求假币是哪一个并且假币是轻还是重。题目链接:http://poj.org/problem?id=1013将题目转化为判定问题,依次假设12个硬币为假币,判断是否符合三次天平判定结果,知道找到原创 2015-02-13 21:49:47 · 763 阅读 · 0 评论 -
POJ-1016 Numbers That Count
题目大意:对于一个由数字组成的串,可以变换为c1 d1 c2 d2 ... ck dk形式的串,表示原串中数字di出现了ci次。若变换前后的串相等,则称该串具有self-inventorying属性。比如31123314。对某一串n,连续进行若干次该变换可能出现以下某一种情况:1.立即出现self-inventorying属性2.变换i次后出现self-inventorying属性原创 2015-02-17 19:56:51 · 368 阅读 · 0 评论 -
POJ-1008 Maya Calendar
题目大意:两种历法的转换,注意转换后的历法类似于干支纪年法,月和日单独循环。题目链接:http://poj.org/problem?id=1008#include #include #include #include #include using namespace std;#define MAXN 10char Haab[19][MAXN]={"pop", "no",原创 2015-02-09 20:11:53 · 307 阅读 · 0 评论 -
POJ-1007 DNA Sorting
题目大意:对字符串数组按照逆序数数量进行排序。题目链接:http://poj.org/problem?id=1007首先统计每个字符串的逆序数数量,这里采用(n*logn)时间复杂度的二路归并方法(此题n^2复杂度方法貌似也不会超时;鉴于此题字符串只有ATCG四个字母,也可以分别统计每个字母出现次数的前缀和,再一次遍历统计逆序数),然后根据逆序数快排即可。#include #incl原创 2015-02-09 18:46:21 · 305 阅读 · 0 评论 -
POJ-1006 Biorhythms
题目大意:三个周期,长度为23,28,33.给定整数p,e,i表示三个周期高峰出现的时间,整数d表示一个给定的时间,求给定时间后至三个均达到高峰的时间之间的天数。题目链接:http://poj.org/problem?id=1006&lang=zh-CN&change=true题目可抽象为一个方程组:(n+d)≡p (mod 23)(n+d)≡e (mod 28)(n+d)≡i原创 2015-02-06 13:23:40 · 425 阅读 · 0 评论 -
POJ-1005 I Think I Need a Houseboat
题目大意:河水每年淹没50面积,淹没导致的范围为一个圆心在原点的上半圆。给定一个点求此点在那一年被淹没。题目链接:http://poj.org/problem?id=1005简单的数学几何题。可列方程1/2*π*(x^2+y^2)=50n.解得n=⌈π*(x^2+y^2)/100⌉,(⌈⌉符号表示向上取整)。#include #include #include #includ原创 2015-02-06 12:18:59 · 487 阅读 · 0 评论 -
POJ-1004 Financial Management
题目大意:大水题,求12个数的平均数。题目链接:http://poj.org/problem?id=1004#include #include #include #include using namespace std;int main(){ double sum=0; for(int i=0;i<12;i++) { double t原创 2015-02-06 12:04:46 · 407 阅读 · 0 评论 -
POJ-1003 Hangover
题目大意:n块板子可伸出桌外的长度为级数∑1/(n+1),给定伸出桌外长度,求需要多少块板子。题目链接:http://poj.org/problem?id=1003简单题。先对∑1/(n+1)打表,再查找不小于输入长度的最小下标输出即可(可使用二分查找)。#include #include #include #include using namespace std;原创 2015-02-06 11:49:43 · 338 阅读 · 0 评论 -
POJ-1837 Balance
题目大意:有一个天平,单臂长15。天平上有C个位置可以用来挂砝码。有G个砝码,求将所有砝码全部挂上时使天平平衡的方法有多少种。 题目链接:http://poj.org/problem?id=1837 注意题目中几个变量的范围都不大。暴力的话是O(C^G)复杂度,最坏为20^20,肯定不行。 寻找题目的递推规律,可以知道挂一个砝码时影响天平的状态,且只与挂之前的天平状态有关。使用二维dp数组做动原创 2016-06-05 11:40:49 · 272 阅读 · 0 评论