ACM_poj
文章平均质量分 74
tintinsnowy
这个作者很懒,什么都没留下…
展开
-
poj 1651
题目链接:点击打开链接题目大意:一串数,相邻的3个数相乘,消去中间这个数,直至全部消失。求最大的结果,详见题目题目分析:由于首尾不能取走,所以枚举中间的数,然后又分为了2段#include#include#include#include#define INF 0x3f3f3f3fusing namespace std;int dp[105][105];int ma原创 2013-08-20 11:15:23 · 741 阅读 · 0 评论 -
POJ 2485(prim 算法)
题目链接:点击打开链接题目分析:标准版的PRIM题目总结:每次都是忘记写mid_dis=INF ,害得爆栈= =#include#include#include#include#define MAXN 600#define INF 1000000000using namespace std;int grid[MAXN][MAXN];int ans;int clos原创 2013-11-30 21:47:43 · 765 阅读 · 0 评论 -
poj 2075(prim 算法)
题目链接:点击打开链接‘题目分析:最小生成树的小题目,适合练手题目总结:。。。小心啊写成“%1.f”一直出不来= =#include#include#include#include#include#define MAXN 1000#define INF 1000000000using namespace std;string data[MAXN];float gr原创 2013-12-02 10:18:45 · 680 阅读 · 0 评论 -
【mark】最长公共子序列(poj 1458+hdu 1159)
经典的问题,在各大博客上有数不清的好帖子下面为最常见的n^2算法#include#include#include#include#includeusing namespace std;int f[500][500];char x[500],y[500];int solve(int a,int b){ int i,j; memset(f,0,size转载 2014-01-03 19:46:59 · 790 阅读 · 0 评论 -
poj 2127(最长公共上升子序列)
题目链接:点击打开链接题目分析:1.设主串为father【i】,子串为son【j】,dp【I】【J】表示主串以father【i】结尾和son【j】结尾的区间有当前的最大上升子列。 尽量压缩主串比如:若father【i】==son【j】,则考虑在i前的k位和j-1是不是有更优的选择,找到最大值然后+1就是dp【i】【j】原创 2014-02-18 09:53:00 · 1052 阅读 · 0 评论 -
poj 1125 floyd简单应用
题目链接:点击打开链接题目大意:问题重述 众所周知,证券经纪业依靠的就是过度的传言。您需要想出股票经纪人中传播假情报的方法,让您的雇主在股票市场的占据优势。为了获得最大的效果,你必须蔓延最快的方式谣言。 不幸的是你,股票经纪人信息只信任他们的“可靠来源”,这意味着你在你传播谣言之前必须考虑到他们的接触结构。它需要特定股票经纪人和一定的时间把谣言传递给他的每一位同事。你的任务原创 2014-02-20 10:59:49 · 636 阅读 · 0 评论 -
poj 2533(最长上升子序列)(n^2 ) 和 nlogn的算法
题目链接:点击打开链接题目大意:略题目分析:1.用n平方的做法,枚举以data【i】为结尾的子序列,向前查找,比data【i】小并且dp【j】比dp【i】小的新手代码:#include#include#include#includeusing namespace std;const int maxn=1005;int data[maxn],dp[maxn];int原创 2013-08-26 15:27:07 · 1050 阅读 · 0 评论 -
poj 1631(Bridging signals LIS)nlogn
题目链接:点击打开链接、题目大意:绕了这么多圈子,其实还是求最长上升子序列题目分析:用nlog n与 poj2533一样啊:点击打开链接#include#include#include#includeusing namespace std;const int maxn=40005;int stack[maxn];int main(){ freopen("ou原创 2013-08-26 16:36:50 · 668 阅读 · 0 评论 -
POJ FIBONACCI (3070)
正常解法是用矩阵快速幂.但是,只是#include#include#include#include #define maxn 3000using namespace std;//计算阶乘int a[150000];void pow(){ a[0]=0,a[1]=1; for(int i=2;i<150000;i++) a[i]=(a[i原创 2014-03-18 22:11:53 · 552 阅读 · 0 评论 -
poj 1521(ENTROPY) huffman 编码
题目链接:poj题目大意:赤裸裸的huffman编码,就是压缩编码,给一个串求出最短的编码题目分析:最近学HUFFMAN编码,所以拿来用下,原理不再细讲题目总结:1.priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数: priority_queue 其中Type 为数据类型, Container 为保存数据原创 2013-11-24 11:28:40 · 1024 阅读 · 0 评论 -
【树状数组】poj 2352
题目链接:点击打开链接题目大意:统计左下角的矩形的点的个数题目分析:裸的树形数组,第一次写,没有注意x=0; /************************* * Author:sherry * Time: Augest 26th,2013 **************************/#include#include#include#d原创 2013-08-26 09:15:35 · 624 阅读 · 0 评论 -
hdu 4278(Faulty Odometer)
题目链接:点击打开链接题目分析:昨天队里用的模拟方法= =,不过看board,有人一分中秒杀,后来才发现是poj 2719改编 特殊的八进制代码:#include#include#includeusing namespace std;typedef long long __int64;__int64 ans;char dat原创 2013-09-02 10:12:03 · 777 阅读 · 0 评论 -
hdu 1506 栈
题目链接:点击打开链接题目大意:同poj 2796;题目总结:hdu又被lld坑了#include#include#include#include__int64 num[100010];__int64 sum[100010],maxn=-1,tmp;int right[100010],left[100010];int main(){ int n,原创 2013-10-30 15:17:19 · 657 阅读 · 0 评论 -
poj 2442 sequences(堆排列)
题目链接:http://poj.org/problem?id=2442题目大意:m行数字每行那个,从每行选一个,组成的sum最小。题目分析:由于是学长提示用堆,所以也就试了这个方法,nlongn 关于更多的知识来:点击打开链接 就是对容器中几个函数的原理解释。先学习下,在用这个原创 2013-11-06 20:35:16 · 776 阅读 · 0 评论 -
poj 1258 Agri-Net (prim算法)
题目链接:点击打开链接题目大意:用最小的花费将这个村子连通题目分析:第一遍用了书上的代码,手打了一遍,然后就T了= = 臃肿而麻烦+易错,终于体会到代码简洁多么重要#include#include#include#include#define MAXINT 200000typedef struct{ int v,weight;}edge;typedef原创 2013-11-30 21:15:45 · 714 阅读 · 0 评论 -
POJ 1190(神搜+剪枝)
原来的地址:点击打开链接poj 1190 生日蛋糕( 深搜+2类重要剪枝总结 )分类: ACM笔记 2011-08-02 22:14 356人阅读 评论(0)收藏 举报优化systemoo题意 : 有一个多层蛋糕,已知蛋糕的体积和层数,求该蛋糕的最小表面积(最底层的下表面面积不计入总面积) 题目对转载 2013-11-09 09:31:42 · 953 阅读 · 0 评论 -
poj 2453
题目描述 An Easy ProblemTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7537 Accepted: 4473DescriptionAs we known, data stored i原创 2013-08-16 09:55:03 · 726 阅读 · 0 评论 -
poj 3630 phone list
题目链接:点击打开链接题目大意:如果一个电话号码为另一个电话号码的前缀,那么就打不通,判为NO题目分析: trie 树的资料见我的转载 先将电话号码排序,从长到短,进行处理,详见代码,注意数组的大小题目心得:完全自己第一次写的Trie 树,一开始先学习trie 白书2 P 209,然后 做这道题,写完后wa了2 次,觉得自己写的没有错啊原创 2013-08-31 11:07:48 · 604 阅读 · 0 评论 -
poj 2342 anniversary party(树形dp入门)
题目链接:点击打开链接题目大意:给一些关系,都是上下级的关系,但是同时出现在party上就会不开心,每个人都有一个开心值,于是主板要使得party的开心值最大,则题目分析:很裸的树形dp。很不错的模板题目。用二维的dp[ i ][ 0 ],dp[ i ][ 1 】来表示来还是不来。最后算最大的max(dp[ root ][ 0 ],dp[ root ][ 1 】 )原创 2013-09-09 09:59:46 · 855 阅读 · 0 评论 -
poj 2955(Brackets)【 区间dp2】
由于最近练习所以将区间DP的专题拿出来作,感谢博主的推荐:专题地址:点击打开链接题目链接:点击打开链接题目大意:求配对的括号的最大数目题目分析:和之前的几题一样先进行预处理,最重要的是枚举长度,在移动分界点从而进行dp dp[i][i+k]=max(dp[i][i+k],dp[i][j]+dp[j+1][i+k]);代码如下,欢原创 2013-09-03 10:23:07 · 706 阅读 · 0 评论 -
poj 1001 (Exponentiation) 高精度乘法
题目链接:点击打开链接题目大意:求一个有理数的n次方题目分析:这么大的数就是高精度乘法,然后有些具体的要求。用数组的方法。题目总结:具体看下discuss里面的数据很不错。#include#include#include#include#include#define maxn 20000using namespace std;int n,dot,len原创 2013-09-13 20:28:18 · 919 阅读 · 0 评论 -
poj 2318 Toys
题目链接:点击打开链接题目大意:把玩具放在格子里面,看每个格里面有多少玩具题目分析:基础入门题目,注意叉积和规范写法自己写的代码,欢迎斧正#include#include#include#include#includeusing namespace std;struct point{int x,y; point(int a=0,int b=0)原创 2013-10-03 09:58:48 · 562 阅读 · 0 评论 -
poj 2398 toy storage
题目链接:点击打开链接题目分析:poj 2398和poj 2318一致#include#include#include#include#includeusing namespace std;struct point{ int x,y; point(int a=0,int b=0) { x=a; y=b原创 2013-10-03 12:48:15 · 619 阅读 · 0 评论 -
poj 3304 ( segments)
题目链接:点击打开链接题目分析:所有线段投影在直线上至少有交点, 反过来想,如果存在这样的直线,那么也一定存在另一条与之垂直的直线与所有的线段相交。 枚举任意线段的2个点形成的直线,看是否能满足题目反思:第一遍以为任意其中的2个线段投影在直线上能有交点即可。结果~#include#in原创 2013-10-04 14:09:16 · 597 阅读 · 0 评论 -
poj 2406 power string(KMP)
题目链接:点击打开链接题目分析:利用KMP进行分析,白书上的方法略有不同 其实就是进行预处理,找到上一个与之匹配的总结:数组开小了,出现re#include#include#include#includeusing namespace std;int n,m,f[1000005];char s[1000005];int ge原创 2013-10-07 13:06:36 · 684 阅读 · 0 评论 -
poj 1702(Eva's Balance)
题目链接:点击打开链接题目大意:有些3的幂的重量的砝码,现在给定任意一质量的重物,现在要求怎么样放置才能平衡题目分析:将重物转化为三进制(0,1,2),先要分成3的幂,所以见2 就要想办法变为1,见1如果有前面的进位,那么也要进行进位。 最终得到的没有2的数则为右边的重量,左边的所需要的则是刚才调整时用到的重量由于是自己做法,有点搓欢迎斧原创 2013-10-22 15:21:18 · 816 阅读 · 0 评论 -
poj 3250 bad hair day
题目链接:点击打开链接题目分析:好用的单调栈! 维持栈内严格递减的顺序,因为栈顶元素小于当前的一定是看不见当前的所以留在那里没有任何价值,弹出题目拓展:点击打开链接#include#include#include#include#include#includeusing namespace std;stackdata;int main(){原创 2013-10-22 20:25:23 · 660 阅读 · 0 评论 -
poj 2796 feel good(单调栈)
#include#include#includelong long num[100010];long long sum[100010],maxn=-1,tmp;int right[100010],left[100010];int main(){ int n,i,a,b; while(~scanf("%d",&n)) { sum[0]=0;原创 2013-10-30 15:03:36 · 721 阅读 · 0 评论 -
POJ 1118+2606+2780(同一直线上点最多的数目)
题目链接:点击打开链接题目大意:这三题的意思差不多,都是给一些点,求出在同一直线上数目最多的点数目题目分析:其实想法就没打算用多难的算法,每后进一个点就分别求下和前面的点的斜率,然后排序 之前还想用bool型的k【】,k都是double型的没法计数啊= =#include#include#include#include#de原创 2013-11-21 19:32:28 · 1261 阅读 · 0 评论 -
【数据结构】poj 1338 (pair,priority_queue)
题目链接:原创 2014-04-24 19:31:45 · 1014 阅读 · 0 评论