老的POJ(1000-1100)
twilightgod
低调做人,认真做事
展开
-
1032 Parliament
拆成从2开始的递增数列,余下的部分倒回去加2轮,证明比较多,可以看此题的Discuss//4540529_AC_47MS_424K /*********************************************************************** Online Judge : POJ* Problem Title原创 2009-01-07 23:11:00 · 584 阅读 · 0 评论 -
1014 Dividing
有个结论比较难证明,没看懂,读入的数据%12再做另外背包应该也可以//3470240_AC_0MS_424K #include using namespace std;int a[6];int sum,i,zero,test;bool found;void dfs(int dep,int total){ if(total==sum)原创 2008-12-11 22:41:00 · 434 阅读 · 0 评论 -
1016 Numbers That Count
校内练习赛的时候做的,题目很长,要细心看规则直接模拟即可//4452572_AC_157MS_924K /*********************************************************************** Online Judge : POJ* Problem Title : Numbers Th原创 2008-12-11 22:48:00 · 567 阅读 · 0 评论 -
1028 Web Navigation
水题,试下stl::stack//4458048_AC_16MS_448K /*********************************************************************** Online Judge : POJ* Problem Title : Web Navigation* ID原创 2008-12-11 22:56:00 · 523 阅读 · 0 评论 -
1029 False coin
wa了n次,枚举哪个硬币是不同的,带入条件验证是否有矛盾要注意:对于>和对于=,出现在两边的肯定是真的//3463503_AC_32MS_292K #include #include #include using namespace std;#define MAXN 100 struct Node{ bool a[MAXN],b[M原创 2008-12-12 09:07:00 · 590 阅读 · 0 评论 -
1046 Color Me Less
水题//4377084_AC_0MS_392K #include #include using namespace std;#define MAXINT 2147483647 struct Color{ int r,g,b;};Color c[16];Color temp;inline double dis(Color原创 2008-12-12 09:14:00 · 521 阅读 · 0 评论 -
1056 IMMEDIATE DECODABILITY
水题,两两验证一个串是否为另一个的前缀,要注意读入结束的处理//4471444_AC_0MS_408K /*********************************************************************** Online Judge : POJ* Problem Title : IMMEDIATE DE原创 2008-12-12 18:36:00 · 483 阅读 · 0 评论 -
1080 Human Gene Functions
编辑距离问题,dp类似最长公共子序列f[i,j]=max{f[i-1,j]+w(a[i],BLANK), //a的i用空格匹配f[i,j-1]+w(BLANK,b[j]), //b的j用空格匹配f[i-1,j-1]+w(a[i],b[j]) //a的i与b的j匹配}要注意dp的边界,即f的初值f[0,0]=0f[i,0]=f[i-1,0]+w(原创 2008-12-12 18:43:00 · 431 阅读 · 0 评论 -
1085 Triangle War
题目大意是2个人玩一种游戏,每次放1条边,如果生成了三角形,则归他所有给定一些初始的走法,问都以最优策略走谁最后拿的三角形多?很早做的,有点难度,详细注释dp,或者说是博弈//4448583_AC_485MS_1468K /***********************************************************************原创 2008-12-12 18:55:00 · 1240 阅读 · 0 评论 -
1088 滑雪
经典dp,方程很容易写出f[i,j]=max{f[i-1,j],f[i,j-1],f[i+1,j],f[i,j+1]}+1 //当集合中的点的高度大于当前点高度即某点的状态由它的上下左右转移得到但是矩阵的元素大小具有不确定性,无法直接通过循环自底向上计算f[i,j]这里使用DFS的记忆化搜索,自顶向下按递归式计算,每求出一个点的值就保存起来,避免子问题重复计算//3原创 2008-12-12 19:02:00 · 624 阅读 · 0 评论 -
1050 To the Max
二维的最大子段和,dp先预处理,sum[i][j]表示矩阵1~i行,第j列的和,用递推可在O(n^2)时间解决再枚举两行i1,i2(1其和可用sum[i2][j]-sum[i1-1][j]表示,然后就是做一维的最大子段和了一个累加器,从左往右O(n)扫一遍,加上当前元素>0就更新best,//3446710_AC_32MS_348K #include using原创 2008-12-12 18:24:00 · 459 阅读 · 0 评论 -
1089 Intervals
题目大意:给定n个区间,求他们的并,用最少的区间表示考虑2个区间的位置关系,只有5种先按区间左端点增序排从左到右O(n)扫一遍第i个区间右端点比当前处理区间右端点大,而且他们相交,则更新当前处理区间的右端点第i个区间和当前处理区间不交,则产生新区间,输出,并更新当前处理区间的左右端点//4471891_AC_125MS_792K /*************原创 2008-12-12 19:09:00 · 581 阅读 · 0 评论 -
1013 Counterfeit Dollar
直接枚举哪个重/轻即可//4386918_AC_0MS_440K /*********************************************************************** Online Judge : POJ* Problem Title : Counterfeit Dollar* ID原创 2008-12-11 22:39:00 · 453 阅读 · 0 评论 -
1012 Joseph
推个公式由于具体剩下哪几个坏人和问题并没关系f(a,b,m,pos)表示有a个好人,b个坏人,报数为m,当前处理pos位置 =false (pos+m-1)%(k+bad)or=true b==0or=f(a,b-1,m,(pos+m-1)%(k+bad) ) else以下程序是生成提交代码的,由于有很多重复数据,直原创 2008-12-11 22:30:00 · 646 阅读 · 0 评论 -
1000 A+B Problem
测试下csdn blog的代码显示直接在submit里写的,没缩进//3469713_AC_0MS_292K #include int main(){ int a,b; scanf("%d %d",&a, &b); printf("%d/n",a+b); return 0;}原创 2008-12-02 20:02:00 · 414 阅读 · 0 评论 -
1079 Ratio
校内练习赛做的,数学题,枚举分母注意要同时计算取上整和下整//4452592_AC_0MS_292K /*********************************************************************** Online Judge : POJ* Problem Title : Ratio*原创 2008-12-12 18:39:00 · 443 阅读 · 0 评论 -
1001 Exponentiation
高精度,直接用java水过..第一个java题要注意的是3.0 3 处理末尾多余的00.000 3 都是0//4451279_AC_157MS_2592K import java.util.*;import java.math.*;public class Main { public static void main(String ar原创 2008-12-11 21:19:00 · 444 阅读 · 0 评论 -
1002 487-3279
之前用stl::map,tle了换sort+O(n)扫一遍ac //3513284_AC_1235MS_2964K #include #include #include using namespace std;#define MAXN 100000 int i,j,n,t;int pad[26]={2,2,2,3,3,3,4,4,4,5,5,5,原创 2008-12-11 21:28:00 · 468 阅读 · 0 评论 -
1003 Hangover
简单的循环//3522888_AC_0MS_192K #include #include using namespace std;int i,n;double sum,t;inline bool equ0(double x){ return fabs(x)}int main(){ while(cin>>t&&!eq原创 2008-12-11 21:39:00 · 438 阅读 · 0 评论 -
1004 Financial Management
水题....//3522917_AC_0MS_184K #include using namespace std;int i;double sum,t;int main(){ sum=0; for(i=0;i { cin>>t; sum+=t; } printf("$%原创 2008-12-11 21:42:00 · 345 阅读 · 0 评论 -
1005 I Think I Need a Houseboat
继续水,看题时间比写题长//3522940_AC_16MS_188K #include #include using namespace std;double r1,r0,x,y,r3;int year,n,t;int main(){ //freopen("d:/in.txt","r",stdin); cin>>t;原创 2008-12-11 21:52:00 · 450 阅读 · 0 评论 -
1006 Biorhythms
貌似有O(1)数学解法,直接O(n)过了....有空再研究//4476569_AC_344MS_428K /*********************************************************************** Online Judge : POJ* Problem Title : Biorhythms原创 2008-12-11 21:54:00 · 517 阅读 · 0 评论 -
1007 DNA Sorting
逆序对+排序,规模比较小,直接水,试个pas的//427283_AC_15MS_32K program pku1007;type dna=record s:string;so:longint;end;var n,m,i,j,k:longint; a:array[1..100]of dna;dd:dna;begin //assign(input,pku1原创 2008-12-11 21:56:00 · 428 阅读 · 0 评论 -
1008 Maya Calendar
简单的转换//4476510_AC_16MS_468K /*********************************************************************** Online Judge : POJ* Problem Title : Maya Calendar* ID原创 2008-12-11 22:12:00 · 471 阅读 · 0 评论 -
1011 Sticks
搜索题先长度按减序排,枚举原木棒长度,从而知道原来有几根,然后DFS即可有几个小优化,比如第i根不能用,那么和他长度相同的也不能用凑同一个原木棒时按下标增序选择,减少重复//3496151_AC_32MS_428K #include #include using namespace std;#define MAXN 100 int n,i,len,m原创 2008-12-11 22:21:00 · 534 阅读 · 0 评论 -
把写过的POJ代码都放到GitHub上了
https://github.com/twilightgod/twilight-poj-solutionhttp://poj.org/userstatus?user_id=twilightAC的一共363题, 供后人参考原创 2015-05-27 09:59:18 · 1705 阅读 · 0 评论