![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
POJ
文章平均质量分 64
小毛毛大莫雨
这个作者很懒,什么都没留下…
展开
-
POJ 1002 487-3279
把每行输入的字符串转换成电话号码的格式按照字典序对转换后的字符串进行排序 从头到尾遍历每个字符串统计每个字符串重复的次数并按要求输出#include #include #include #include using namespace std;const int maxn = 100000 + 10;string tel[maxn];char trans( char a ){原创 2015-03-02 22:03:51 · 218 阅读 · 0 评论 -
POJ 1144 Network 求割点(tarjan)
求割点Code:#include #include #include #include using namespace std;const int maxn = 100 + 5;int ind;int root;int low[maxn];int dfs[maxn];bool vis[maxn];bool flag[maxn];vector mp[maxn]原创 2015-03-11 23:55:36 · 216 阅读 · 0 评论 -
POJ 3041 Asteroids 最小点覆盖
每一行看成一个点,设为集合A;每一列看成一点,设为集合B把输入的点的坐标转化成集合A到集合B的点的连线,转化成求A、B构成的二分图的最小点覆盖,最小点覆盖数 = 最大匹配数匈牙利算法Code:#include #include #include using namespace std;const int maxn = 500 + 5;int mp[max原创 2015-03-11 18:12:37 · 167 阅读 · 0 评论 -
POJ 1273 Drainage Ditches
Code:#include #include #include #include using namespace std;const int maxn = 200 + 10;const int INF = 99999999;queue apath;int cap[maxn][maxn];int flow[maxn][maxn];int augPath[maxn];原创 2015-03-08 17:43:37 · 262 阅读 · 0 评论 -
POJ 3259 Wormholes 最短路径(Bellman Ford)
Code:#include #include #include using namespace std;const int maxm = 2500 * 2 + 200 + 10;const int maxn = 500 + 10;const int INF = 999999;struct Edge{ int s; int e; int weight原创 2015-03-06 19:38:06 · 190 阅读 · 0 评论 -
POJ 2063 Investment(完全背包问题)
投资债券,给出初始资金,固定的年限,债券的面值及每年的收益,每种债券可以无限买,求在给定年限内的最大收益完全背包问题,需要注意的是收益是利滚利,要每年算一次,把每年的收益再作为本金投资。Source Code:#include #include using namespace std;const int maxn = 20;const int maxm = 2000原创 2015-03-16 11:11:06 · 439 阅读 · 0 评论 -
POJ 2231 Moo Volume
先贴个代码#include #include #include using namespace std;const int maxn = 10000 + 10;__int64 num[maxn];int main(){ int n; while( ~scanf( "%d", &n ) ) { for( int i = 0; i <原创 2015-03-02 23:37:29 · 239 阅读 · 0 评论 -
POJ 1657 Distance on Chessboard
题目描述: 在国际象棋棋盘上给出起点 a 和终点 b,分别求出 王、后、车、象 四种棋子从 a 到 b 所需要的步数; 王、后、车、象的走法: 王:八个方向都可以走,每步只能走一格; 后:八个方向都可以走,每步没有格数限制;原创 2015-03-02 22:32:34 · 277 阅读 · 0 评论 -
POJ 1656 Counting Black
100 * 100 格子的白板,左上角坐标为(1, 1),右下角坐标为(100, 100)对这个白板有3种操作:WHITE x y L ---- 把左上角坐标为( x, y ),边长为L的区域涂成白色BLACK x y L ---- 把左上角坐标为( x, y ),边长为L的区域涂成黑色TEST x y L ---- 统计左上角坐标为( x, y ),边长为L的区域中黑色块的数原创 2015-03-02 22:30:09 · 206 阅读 · 0 评论 -
POJ 1922 Ride to School
题目描述: Charley想要从起点到达终点,路程是4.5km,这一过程必须和另外一个人同行,假设有n个人要走这段路程,他们分别在不同的时间出发,匀速行驶。在同行的过程中如果有人从旁边经过,Charley 就会跟速度较快的那个人同行,求到达终点所需的最短时间。算法分析: 以n个人中第一个出发的那个为原点,出发时间为0,其他人的出发时间都以第一个出发的人为参照物,由于是和第一原创 2015-03-02 22:36:08 · 291 阅读 · 0 评论 -
POJ 3624 Charm Bracelet (0-1背包问题)
赤裸裸的0-1背包,用二维数组空间会溢出,优化成一维Source Code:#include #include #include using namespace std;const int maxm = 12880;const int maxn = 3500;int c[maxm];int w[maxn];int d[maxn];int M, N;vo原创 2015-03-15 23:05:43 · 313 阅读 · 0 评论 -
POJ 1068 Parencodings
题目描述:给出一个括号序列,规定一下两种编码形式:1)P-sequence:P = p1 p2 ... pn,其中pi表示第i个右括号左边的左括号个数;2)W-sequence:W = w1 w2 ... wn,其中wi表示在第i个右括号和与之相匹配的左括号之间的右括号个数(包括第i个右括号)示例如下:括号序列S: ( ( (原创 2015-03-02 22:20:35 · 212 阅读 · 0 评论 -
POJ 1001 Exponentiation (Java高精度)
给出一个浮点数 R 和一个整数 n ,求 R 的 n 次方,结果以"0."开始的要舍掉"0"R 和 n 的范围是:0.0 0 因此结果的范围为 [ 0, 99.999^25 ],显然直接用浮点数型运算会溢出,需要用到大数运算,也可以用Java的大数类直接计算,后者代码比较简单,但效率要比C/C++大数算法低得多。Code:import java.util原创 2015-03-02 21:53:10 · 241 阅读 · 0 评论 -
POJ 1003 Hangover
题目描述: 假设有n块长度为1的木板重叠放在桌子边缘,最上面一块木板最多有1/2悬空,第二块为1/3,以此类推,第n块最多有1/n悬空,给出木板悬空的总长度,求需要用到的木板的最小数目。算法分析: 设总长度为 length, 需要的最少木板数为 n, 根据题意,满足不等式 length Code:#include #include原创 2015-03-02 22:06:00 · 327 阅读 · 0 评论 -
POJ 1007 DNA Sorting
字母序列的逆序数:对序列里的每一个字符,按照字典序的顺序,当前字母后面比它小的字母个数为该字母的逆序数,所有字母的逆序只和为字母序列的逆序数。给出若干段等长的DNA序列,把给出的DNA序列按照逆序数由小到大的顺序排列输出,如果两段序列的逆序数相同则按输入时的顺序输出。Code:#include #include #include using namespace std原创 2015-03-02 22:31:28 · 298 阅读 · 0 评论 -
POJ 1005 I Think I Need a Houseboat
题目描述: 一块地(可以等效成一个点),坐标为( x, y ),在原点( 0, 0 )处有一以原点为圆心的半圆形水域,该水域每年会延半圆的弧形方向向外均匀扩散50平方公里,问这块地会在几年内被水域吞没。算法描述: 设这块地会在n年内被吞没,吞没时半圆形水域的半径为r 根据面积公式:50 * n = 1/2 ( π * r ^ 2 ) 根据坐标:r原创 2015-03-02 22:16:32 · 190 阅读 · 0 评论 -
POJ 1978 Hanafuda Shuffle
一叠卡片从上到下编号一次为 n, n-1, ..., 3, 2, 1,每次从这一叠卡片中抽出若干张放到最上面(如图),经过若干次这样的操作后,问最顶层的卡片的编号是多少。直接用静态链表来模拟移动的操作然后输出表头元素。Code:#include #include using namespace std;const int maxn = 55;struct node原创 2015-03-02 22:37:41 · 274 阅读 · 0 评论 -
POJ 2536 Gopher II (二分图求最大匹配)
题意:老鹰来抓老鼠,老鼠开始逃跑,老鼠移动速度为 v,老鼠必须在 s 时间内跑进洞里,否则就会被抓到。给出所有老鼠的坐标、老鼠洞的坐标、老鼠的移动速度 v、老鼠跑进洞里的限定时间 s,输出最少有多少只老鼠被抓到。构图:分别计算每只老鼠跑到每个老鼠洞需要的时间,如果在限定时间内能跑到,则当前老鼠和老鼠洞之间有路径,否则没有。老鼠、老鼠洞以及他们之间的路径构成一个二分图,转化成求该原创 2015-03-12 08:25:38 · 287 阅读 · 0 评论