
POJ
文章平均质量分 74
jiangyi711
这个作者很懒,什么都没留下…
展开
-
poj 1001 "求高精度幂"
0MS, 364K这是一个求高精度幂的题。思路是把所有的输入转化成整数,记录下小数点所在的位置来控制输出。#include #include #include #define LEN 125using namespace std;void function() { char s[6] = {0}; int n = 0; int bit, x, carry =原创 2010-03-15 20:20:00 · 739 阅读 · 0 评论 -
POJ 1258 : 最小生成树(Prim)
DescriptionFarmer John has been elected mayor of his town! One of his campaign promises was to bring internet connectivity to all farms in the area. He needs your help, of course. Farmer John ordered a high speed connection for his farm and is going to sha原创 2010-10-06 13:23:00 · 3333 阅读 · 1 评论 -
POJ 3278 : 经典BFS
Catch That CowTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 8341Accepted: 2476DescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number lin原创 2010-09-17 01:24:00 · 5680 阅读 · 0 评论 -
POJ 2244 : 约瑟夫环
题目和传统的约瑟夫环有些不一样。要求第一个人就必须报数,因此第一个人总是最先被删除的。因此可以把该问题看成是n-1个人的问题。题目就转变为,在n-1个人的规模下,满足1为胜利者的最小的M。#include int main(){ int a = 4; a += (a++); std::cout #include #define MAX 151int ret[MAX] = {0};int main(){ int m,原创 2010-08-15 02:13:00 · 1519 阅读 · 0 评论 -
POJ 2389 : 大数相乘
#include #include #include #define MAX 44char num1[MAX] = {0}; //用于存放两个乘数char num2[MAX] = {0};char ret[2*MAX] = {0}; //存放结果void calc(){ int len1 = strlen(num1); int len2 = s原创 2010-08-14 03:58:00 · 788 阅读 · 0 评论 -
动态规划(线性模型):POJ 1631 最长上升子序列
这道题如果采用和第2533题一样O(n^2)的方法会超时。下面贴出TLE的代码。#include #include #define MAX 40001using namespace std;int dp[MAX];int seq[MAX];int DP(int s[], int n){ int i, j, max; for (i=1; i seq[j]) { if (dp[j] > max) { max = dp[原创 2010-07-24 15:36:00 · 860 阅读 · 0 评论 -
动态规划(线性模型):POJ 2533 最长上升子序列
用一个数组dp[i]表示从子串1——i的最长上升子序列的长度。(注意必须包括seq[i],例如2 3 4 5 1的最长上升子序列为1)则此时的状态转移方程dp[i] = max(dp[j]+1) (转移条件 1 seq[j])。复杂度为O(n^2)。#include #define MAX 1001using namespace std;int cnt;int seq[MAX];int dp[MAX];int DP(int seq[], int n){ int i原创 2010-07-24 14:18:00 · 757 阅读 · 0 评论 -
动态规划 :POJ 1141 括号匹配
#include #include #include #include using namespace std;char input[101] = {0};char output[201] = {0};int d[101][101];vector ret[101][101];int INF = 99999999;int main(){ int i = 1, j, k, len, MAX_LEN, mmin; while (i原创 2010-07-15 04:10:00 · 1397 阅读 · 0 评论 -
动态规划 :POJ 1088 滑雪
//状态转移方程 dp[i][j] = max(dp[i-1][j], dp[i][j+1], dp[i+1][j], dp[i][j-1]) + 1;#include #include #include using namespace std;int **matrix;int **length;int R, C;int dp(int i, int j){ if (length[i][j] != 0) { return length[i][j];原创 2010-07-10 19:28:00 · 577 阅读 · 0 评论 -
动态规划 :POJ 1191 棋盘分割
题目的要求是均方差最小,按照均方差的公式,可以转化为最后分割的每个矩形的平方和最小。设f(k, x1, y1, x2, y2)左上角为x1,y1,右下角为x2,y2的矩形在切割k次之后每一块的平方和。s[x1][y1][x2][y2]左上角为x1,y1,右下角为x2,y2的矩形的平方和。由此可以写出状态转移方程:f(k, x1, y1, x2, y2) = min{ min(f(k-1, x1, y1, a, y2)+s[a+1][y1][x2][y2], f(k-1, a, y1, x2, y2)+s[原创 2010-07-10 17:21:00 · 909 阅读 · 0 评论 -
动态规划 :POJ 1014 Dividing
#include #include int array[7] = {0};char flag[60001] = {0};int main(){ int sum = 0, n = 0; while (1) { n++; scanf("%d %d %d %d %d %d", &array[1], &array[2], &array[3], &array[4], &array[5], &array[6]); sum = 1*array[1] + 2*arr原创 2010-07-09 04:08:00 · 696 阅读 · 0 评论 -
POJ 1328 "Radar Installation"
一道贪心算法的题目,wa了N次,最后发现是数据精度的问题,改用float终于ac。#include #include #include #include #include using namespace std;struct region { float left; float right;}array[1000] = {0};int cmp(const v原创 2010-04-08 02:36:00 · 631 阅读 · 0 评论 -
poj 2406 "Power Strings"
125 MS 5256k#include #include #include using namespace std;#define MAX 1000001char array[MAX] = {0};int P[MAX] = {0};int main() { char *ptr = array + 1; while (scanf("%s", ptr)原创 2010-03-21 00:48:00 · 781 阅读 · 0 评论 -
poj 1936 "all in all"
#include #include char s1[100001] = {0};char s2[100001] = {0};int main() { while (scanf("%s%s", s1, s2) != EOF) { char *p1 = s1, *p2 = s2; int len1 = strlen(p1); int len2 = strlen(p原创 2010-03-21 00:36:00 · 609 阅读 · 0 评论 -
poj 1002 "487-3279"
题目不再说了,由于是刚开始做poj上面的题,很是吃力。这道题提交了好多次,有一次是TLE。我觉得主要是由于排序的关系。之前用的是插入排序,即将val[i]赋值给array[i]的时候,进行插入排序,复杂度为O(n^2+n^2+n)结果就超时了。后来自己实现了一个快速排序,变成O(n^2+nlogn+n)。#include #include #include #define MAX原创 2010-03-15 19:35:00 · 1904 阅读 · 0 评论 -
POJ 2485 : 最小生成树(kruskal+并查集)
DescriptionThe island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public highways. So the traffic is difficult in Flatopia. The Flatopian government is aware of this problem. They're planning to build some highways so that it w原创 2010-10-08 00:38:00 · 2352 阅读 · 0 评论