![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
poj
文章平均质量分 70
nianiajr
http://www.liangjiarui.com/
展开
-
poj-3505 Tower Parking
Language:DefaultTower ParkingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 1490 Accepted: 932DescriptionThere is a new revolution in the parking l原创 2013-02-18 13:39:18 · 654 阅读 · 0 评论 -
POJ 1019
题目意思是有一种串:1 12 123 1234 12345 123456....然后输入一个n,求出n下标的数字是哪个在参照discuss后面的讨论后感觉这些写比较符合一般人思维:由于每次增加一组后都会在原长度的基础上翻倍后再加上一个长度,该长度又刚好是新增组的序号长度,例如第10组就是多在后面+2(10是两位数);这样以来就可以枚举到刚好超过#include#includelong原创 2013-11-06 18:53:48 · 643 阅读 · 0 评论 -
POJ 1492
细节模拟题,分清情况就好,不过POJ好坑啊,我拿G++提交%lf居然WA,废了我两小时蛋疼了。思路:大概就是枚举比较,然后统计,不过要注意中间环节,不要出错。#include#include#includeint main(){ int s[50]; while(1){ int n,len=0; memset(s,0,siz原创 2013-11-06 23:14:16 · 662 阅读 · 0 评论 -
poj1094
这个拓扑排序有一些特殊,在给出m个信息时,只要前r个信息已经足够判断的时候就要输出判断结果,但输入还要继续,这是Poj的风格了,不过判断时一定要小心优先级,要先判断是否有环,然后是否有唯一序列,最后才是不确定序列,这里我坑了太久,看了别人的提示才知道。拓扑排序做法就是按照找入度为0的点作为起始点进行排序,这里有bfs较为贴切。总归来说还是要细心,理解逻辑的先后顺序。#include#incl原创 2013-12-29 13:57:58 · 634 阅读 · 0 评论 -
poj1860
bellman判环:#include#include#include#includeusing namespace std;struct edge{ int from; int to; double r; double c;}es[250];int n,m,s,E;double v,a,b,rab,rba,cab,cba,d原创 2013-12-21 11:38:10 · 716 阅读 · 0 评论 -
poj3259
依旧是判环,不过需要注意的是边的设定#include#include#include#includeusing namespace std;struct edge{ int from; int to; int v;}es[6000];int n,m,w,f,s,e,t,E,d[505];bool find_loop(){ memset(d,原创 2013-12-21 11:41:07 · 763 阅读 · 0 评论 -
poj1062
遍历+dijsktra,注意每次可以使用的更新点的筛选#include#include#include#include#include#includeusing namespace std;const int INF=0x3f3f3f3f;int m,n,t,v;int p[105],l[105],x[105],vis[105],ans,d[105];struct ed原创 2013-12-21 11:45:27 · 738 阅读 · 0 评论 -
poj2253
floyd变形,求最短路径最大值#include#include#include#includeusing namespace std;struct point{ double x,y;}p[205];double g[250][250];const double INF=100000000.0;int n;double dis(point p1,point原创 2013-12-21 11:47:28 · 648 阅读 · 0 评论 -
POJ1054-烦人的青蛙
思路完全参照了http://blog.csdn.net/tanklee/article/details/5634398博主的,分析很详细,代码也很好,按照思路用C++自己写了一遍,感觉尤其在剪枝哪里如果自己想的话肯定会漏掉不少情况,也显示出自己在思考问题上的不周全,尽量要在想问题的时候用笔在纸上画一画或许会好很多,将考虑的点列举出来,才能理清逻辑,要不每次都是看着别人的代码才想到原来要这么做,还有原创 2014-01-21 21:46:19 · 954 阅读 · 0 评论 -
poj2057-树状dp
第一次写树状dp,完全没什么概念,而且这题看了感觉好复杂,看了好几个人的解题报告,想了一段时间才想明白那个转移方程的含义,这几份报告都很详细,最后按http://blog.sina.com.cn/s/blog_5f5353cc0100hd08.html的思路写的,由于第一次写,所以加了很多注释,也仿照了其他博主的代码,越写越感觉到树状dp的神奇,不过要能独自相处转移方程,确实还有待提升,加油!原创 2014-01-22 18:14:43 · 806 阅读 · 0 评论 -
poj1276
这是一个多重背包问题,按照背包九讲上面的思想做的,最需要注意的就是体积变化那里,01背包与完全背包的差别,细微的差别却导致不同结果,不得不说背包的巧妙啊,具体看代码:#include#includeusing namespace std;int main(){ int cash,n; while(cin>>cash>>n){ int *c = n原创 2014-01-17 18:07:07 · 636 阅读 · 0 评论 -
poj3267
采用动态规划的思想,具体代码看http://blog.csdn.net/lyy289065406/article/details/6648121很详细,越发感觉到dp的神奇啊。#include#include#include#define min(a,b)(a<b?a:b)using namespace std;int main(){ int w,l; whil原创 2014-01-17 23:14:05 · 822 阅读 · 0 评论 -
poj1191-棋盘分割问题
这个题想了一会没什么思路,就去搜了别人的解题思路,看了好几个,感觉这个作者的处理很巧妙http://blog.csdn.net/yihuikang/article/details/7770656,看完以后自己写了一遍,其中记录棋盘和的那个二维数组真的很赞,以及后面的更新再次利用了二维数组,同时棋盘的划分也是很合理,学习了~#include#include#include#include原创 2014-01-21 00:39:33 · 830 阅读 · 0 评论 -
poj2151
学习http://user.qzone.qq.com/289065406/blog/1304863551写的很详细的报告 学会用间接的方式来转化求解概率的问题,这里是要求求解在满足每个队至少解决一道题目,并且有人完成n题的概率, 细心读题还能发现这里有一个坑,n和m可以是不同的,之前一直不知道WA了很久,后面看了别人解题博客才恍然大悟,接着分析 题目的数量为m,至少完成1题且其原创 2014-02-01 00:16:18 · 857 阅读 · 0 评论 -
POJ1850-组合数学
这是做的第二道数学题了,组合数学果然还是很有意思的,一定要把所有情况都讨论清楚,先考虑普遍的而后再考虑特判的,先把长度小于字符串的情况求出来,而后再考虑长度为len的情况,思路来自 http://user.qzone.qq.com/289065406/blog/1301473705写得很详细,佩服。#include#include#include int C[30][30];int原创 2013-11-05 13:15:33 · 609 阅读 · 0 评论 -
poj3122
给N块蛋糕,分给f+1个人要求,尽量大且大小相同,可以浪费也就是可以有蛋糕剩余,那么采用二分,上下界为单个蛋糕体积最大值,0;便可以出解,注意精度问题。#include#include#define pi 3.1415926535898#define max(a,b)(a>b?a:b)const double eps=10e-8;int dblcmp(double x){原创 2013-11-19 09:28:13 · 852 阅读 · 0 评论 -
poj2488
按象棋中的马的走法来走迷宫,要求覆盖完所有点,完全dfs不过注意保存路径,还有dfs的字典序方向。#include#include#include#includeusing namespace std;stacks;int dir[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};int t,p,q原创 2013-11-19 09:24:36 · 1037 阅读 · 0 评论 -
poj-1410 判断矩形和线段是否相交
IntersectionTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 9464 Accepted: 2494DescriptionYou are to write a program that has to decide whether a given li原创 2013-02-20 14:38:52 · 802 阅读 · 0 评论 -
poj-1562Oil Deposits
Language:DefaultOil DepositsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 10182 Accepted: 5533DescriptionThe GeoSurvComp geologic survey company is原创 2013-02-20 12:46:02 · 480 阅读 · 0 评论 -
poj-1163 The Triangle
Language:DefaultThe TriangleTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 31646 Accepted: 18682Description73 88 1 02 7 4 44原创 2013-02-20 13:10:31 · 462 阅读 · 0 评论 -
poj-1200 Crazy Search
Language:DefaultCrazy SearchTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 19424 Accepted: 5506DescriptionMany people like to solve hard puzzles some原创 2013-02-20 13:59:16 · 521 阅读 · 0 评论 -
poj 1837-Balance
BalanceTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 8971 Accepted: 5474DescriptionGigel has a strange "balance" and he wants to poise it. Actually, t原创 2013-07-27 17:35:08 · 579 阅读 · 0 评论 -
poj 1696
继续基础几何题,大概意思有N个横坐标不同的点,从y坐标最小的点出发,一只蚂蚁只能左转,走完所有的点,那么这样来看每走一个点,必须是从起点到终点的连线,是最靠外的点,也就是其他点的连线都得在它的逆时针方向,那么这样以来就只需要在还未到达的点集中不断挑选即可,最后输出路线就行。#include#include#includeusing namespace std;struct poin原创 2013-08-16 16:00:17 · 658 阅读 · 0 评论 -
poj 1556 判线段相交+最短路问题
此题就是给出一幅图,然后上面一些墙,让求起点到终点的最短路径,说到最短路径那就必须得有一个图,那么首要问题就变成了如何构图,这里就得用到计算几何里面的基础知识,判断线段是否相交,也就是两点之间的连线,是否和墙相交,相交就没有路,不相交就有路,这样一来枚举任意两个点作判断便可成图,后面有图了就变成求最短路的问题,最近才学的,所以写两种吧,当作一种复习:1.Dijkstra 求最短路:#inc原创 2013-08-16 01:33:35 · 732 阅读 · 0 评论 -
poj 2826 Easy Problem
看着题标我就知道肯定要被坑,诶学长推荐的十道几何入门题。。怎么越来越坑了,题目我都没看明白,后面才知道原来求两线段构成个V来接水,但情况好像有点多啊,好多接不到水啊的,还要求交点啊,都不会啊,弱菜只能看着别人的代码,学习怎么去解题,代码好长的感觉,有的甚至上两百行了,要不要这么残暴啊,选了好几份看了思路又学习别人的各种模版巧了代码还是一直WA····,各种坐标x和y弄混,+写成-太是考验了,诶最后原创 2013-08-18 01:22:58 · 704 阅读 · 0 评论 -
poj 2074
这是一道基础几何题,不过久久WA也不知道为什么,参照了http://blog.csdn.net/non_cease/article/details/7773307的不过比较奇怪的不知道为什么非要用C++提交才能过,而G++提交却不能过,题目解法大概如下:1.房屋的左点与障碍的右点连接成线交于观测线得到一个点a,再用房屋的右点与障碍的左点连接交于观测线得到另一点b,那么两点间的距离就是视线被挡住原创 2013-10-25 20:22:11 · 749 阅读 · 0 评论 -
POJ 1905
这个作者写的很详细了http://blog.csdn.net/lyy289065406/article/details/6648562本题用通过推到公式用二分来得出解答就好。#include#include#includeusing namespace std;const double eps =10e-8;int dblcmp(double x){ return xe原创 2013-11-15 12:01:07 · 600 阅读 · 0 评论 -
POJ 3723
将给出的那天的花费进行不间断划分,划为m组,且使得每组的花费最大值最小,此题可以采用二分,通过每次搜寻得出最终答案,二分上下界确定:单天花费最大值必定为下界,而所有天数的花费之和肯定为其上界,每次二分都进行一遍检查,通过检查判断来缩小二分范围,最终得出解答。#include#include#define max(a,b)(a>b?a:b)using namespace std;int原创 2013-11-15 12:06:19 · 672 阅读 · 0 评论 -
poj3211-01背包变形
这里要求洗衣服不能串色,同盆只能洗相同颜色的衣服,而相同颜色的衣服会有若干件,同时又是两个人一起洗,可以将这个问题转化为01背包问题,对每一种颜色的衣服进行01背包,首要问题是解决两个人同洗的问题,两个人同洗也就是2倍的速度,但一件衣服只能一个人洗,所以又不能单把同种颜色的衣服的时间折半分摊给两个人,但这里可以获得一个启示,要想节约时间,那么两个人的工作量应该接近,我们不妨这样来转化,假设某种颜色原创 2014-01-21 00:34:23 · 1064 阅读 · 0 评论