自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 HDU 1221

这道题嘛,分析清楚,什么时候最大,什么时候最小#include #include #include #include using namespace std;struct Point { double x, y; Point() {} Point(double x, double y) { this->x = x; this->y

2016-08-10 23:37:14 678

原创 HDU 2962

Dijstra 1.设定mid=left+(right-left+1)等,二分可以根据自己的需求,产生很好的灵活性2.其实题目也没有说清楚,这个第二个输出实在模棱两可#include#include#include#include#include#include#include#define INF 1e9using namespace std;const int max

2016-08-08 12:38:58 221

原创 poj3723

#include#include#include#includeusing namespace std;const int maxn=1000+10;const int maxm=15000+10;struct Edge{ int u,v,dist; Edge(){} Edge(int u,int v,int d):u(u),v(v),dist(d){}

2016-08-07 22:56:03 222

原创 POJ1789

#include#include#includeusing namespace std;const int maxn=2000+10;const int maxm=5000000;struct Edge{ int u,v,dist; Edge(){} Edge(int u,int v,int d):u(u),v(v),dist(d){} bool o

2016-08-07 22:53:02 250

原创 POJ1861

#include#include#include#includeusing namespace std;const int maxn=1000+10;const int maxm=15000+10;struct Edge{ int u,v,dist; Edge(){} Edge(int u,int v,int d):u(u),v(v),dist(d){}

2016-08-07 22:52:20 239

翻译 POJ 2393 最小瓶颈生成树裸体

如题,是裸体#include#include#includeusing namespace std;const int maxn=2000+10;const int maxm=10000+10;struct Edge{ int u,v,dist; Edge(){} Edge(int u,int v,int d):u(u),v(v),dist(d){}

2016-08-07 16:02:48 273

原创 POJ 1861最小瓶颈树wa

说好的最小瓶颈树,要求最长边的最小值,过程中那些边可以重复?样例Output什么鬼。。。怎么回事#include#include#includeusing namespace std;const int maxn=1000+10;const int maxm=15000+10;struct Edge{ int u,v,dist; Edge(){} Edg

2016-08-07 15:39:42 171

翻译 POJ 1751

1.数据可以直接用了,不需要再开平方了2.走0捷径也好,常规求距离也罢,直接加边就可以了,毕竟sort可以排序不虚3.只要在kruskal每次并查集过程中输入加入edge即可。4.我在写Point 的时候直接在里面写length函数的时候卡壳了一下。。。#include#include#includeusing namespace std;const int maxn=

2016-08-06 23:50:31 260

原创 HDU2907

代码还是WA的。还是没有处理好判断#include#include#include#includeusing namespace std;const double eps=1e-10;int dcmp(double x){ if(fabs(x)<eps) return 0; return x<0?-1:1;}struct Point{ double x,

2016-08-06 22:33:31 205

翻译 URAL 1333

这题真是无语了。想法的确挺好的,因为1%的精度可以了,同时,N但是这个吃精度的事情真是无语1.一开始我打算把所有的数据都乘以1000,结果数据出现了惊人的误差2。同时,如果我用dcmp函数将double 类型变成int类型比较大小的时候,出现了蜜汁bug。看来像这种只是经过了+-*的double 野生类型,直接用就可以了。。。amazing#include#include

2016-08-06 15:29:32 185

原创 URAL 1572

一开始没有将他当作一个三维视角审视的题目,各种平面分析感觉是不是有点繁琐。。。后来被大神点播一下发现。。。的确竟然可以直接用get_max and get_min这样的过程轻松比较我还是太连清了#include#include#include#include#includeusing namespace std;const double eps=1e-10;double g

2016-08-06 14:36:50 186

原创 URAL 1294

原以为是会分分钟搞定的。。结果也是折腾了半个小时首先,明明列出了余弦公式,还先去求一下角度,这样就不大好了。一开始看到int类型10000以内, 于是就像用int做,但是想到如果是这样的话中间过程可能会数据过多。这个判断impossible情况真是比我想象中还要方便,直接对这个公式进行分析就可以了#include#include#include#include#include

2016-08-06 14:04:12 218

原创 HDU2108

又是一波水题WA点,如果三点共线,依旧算是凸包,即求最大点集#include#include#include#includeusing namespace std;const double eps=1e-10;int dcmp(double x){ if(fabs(x)<eps) return 0; return x<0?-1:1;}struct Point

2016-08-05 23:51:53 329

原创 HDU 1392

这样不好。。。一天到晚就搞搞水题。。。这题WA点就是凸包如果只有一个点的时候,输出0,两个点的时候输出距离以上#include#include#include#includeusing namespace std;const double eps=1e-10;int dcmp(double x){ if(fabs(x)<eps) return 0; retur

2016-08-05 23:36:00 244

原创 UVA 11626

这个就是套凸包的模板的基础题,注意因为三个点可以在凸包的外侧,所以while过程中不要将等于的也弹出其他就没什么大不了的了#include#include#include#includeusing namespace std;const double eps=1e-10;int dcmp(double x){ if(fabs(x)<eps) return 0; r

2016-08-05 23:14:04 259

翻译 HDU 2112

明明是一个基础Dijkstra。。。怎么每次一旦用string的map就这么多7788的错误GG#include#include#include#include#include#include#include#define INF 1e9using namespace std;const int maxn = 150+10;const int maxm = 10000+10

2016-08-05 14:57:32 376

翻译 POJ3259

这就很尴尬了。。。明明是经典的模板题。。。我还WA了好几次。。题目没看仔细,path是双向的,当时只是YY着虫洞的单方向性。这个模板是从0这个下标顶点开始判定的。所以不妨通过0到各个顶点之间分别架设一条权值为0的边来解决问题#include#include#include#include#include#define INF 1e9using namespace std;

2016-08-05 11:52:18 347

原创 HDU 2145wa

还是WA了,这个究竟是为神魔?#include#include#include#include#include#define INF 1e9using namespace std;const int maxn = 300+10;struct Edge{ int from,to,dist; Edge(int f,int t,int d):from(f),to(

2016-08-05 10:59:47 243

翻译 POJ3615

为什么init所有的(包括自身)d[u][v]=-1就是错误的了。。。。然后那个用Inf就对了,不是明明可以在floyd过程对d[i][k]==-1进行判定么。。#include#include#define INF 1e9using namespace std;const int maxn = 300+10;int n,m,t;int d[maxn][maxn];void i

2016-08-05 09:10:29 266

原创 POJ 2263

这题好奇怪啊!!!!!明明我思路是对的,但是呢,样例输入进去之后的结果确实错误的,我不服,直接放oj上,,,,过了。。。#include#include#include#include#include#includeconst int INF =1e9;using namespace std;const int maxn= 200+5;int n,m;int d[ma

2016-08-04 23:22:36 382

原创 POJ 2244

这题说是什么dp思路下的floyd。。。也就那样吧。。。倒是输入用map对我这类新手还是比较新鲜= =#include#include#include#includeusing namespace std;const int maxn= 30+5;int n,m;double d[maxn][maxn];void init(){ for(int i=1;i<=n;i++

2016-08-04 21:03:24 237

原创 HDU 1385

用Floyd并且增加对其dist[i][j] == dist[i][k]+dist[k][j]+cost[k] && path[i][j]>path[i][k]即可对dist相同状况下,保证path[i]下最小的情况置换出来#include#include#define INF 1e9using namespace std;const int maxn = 100+20;int

2016-08-04 19:43:19 241

原创 POJ 2553

这道题还是和其他题目相似,没有什么差别和软用#include#include#include#include#includeusing namespace std;const int maxn=5000+10;int n,m;vector G[maxn];stack S;int dfs_clock,scc_cnt;int pre[maxn],low[maxn],sccno[m

2016-08-04 17:11:44 192

原创 POJ 2186

我忽视了如果里面不知一个out0的DAG图,那样显然不能满足#include#include#include#include#includeusing namespace std;const int maxn=20000+10;int n,m;vector G[maxn];stack S;int dfs_clock,scc_cnt;int pre[maxn],low[ma

2016-08-04 16:16:54 228

翻译 HDU 2767

#include#include#include#include#includeusing namespace std;const int maxn=20000+10;int n,m;vector G[maxn];stack S;int dfs_clock,scc_cnt;int pre[maxn],low[maxn],sccno[maxn];bool in0[maxn],

2016-08-04 15:38:21 183

原创 POJ 2451

一道模板题,倒是提醒了我还要加一加外面的边框lf这玩意= =我竟然又忘了,连清打脸#include#include#include#includeusing namespace std;//精度控制const double eps=1e-10;int dcmp(double x){ if(fabs(x)<eps) return 0; return x<0?-1

2016-08-04 14:49:50 267

原创 UVA 1475

当初看刘书时发现的题目,没有好好去理解= =其实题目要求的是最大的n,使得不管炸掉n个塔之后依旧有核该核——司令部但是在二分的时候还是赶脚有点懵比,后来才发现要求的是可以将其炸出来#include#include#include#includeusing namespace std;//精度控制const double eps=1e-10;int dcmp(double

2016-08-04 14:07:08 228

翻译 UVA 1396

书上的题目,开始跟着新的大神了= =#include#include#include#includeusing namespace std;//精度控制const double eps=1e-10;int dcmp(double x){ if(fabs(x)<eps) return 0; return x<0?-1:1;}//点struct Point{

2016-08-04 00:52:03 201

原创 HDU 3718

颇有收获。自己组一组连线,但是连线可以通过给相应两两字母组合提供便利。这个输入K是卖萌的吧那个scanf(" %c",&str[i])的手法讲道理有点意思#include #include #include #include using namespace std;const int MAXNODE = 27;typedef int Type;const Type I

2016-08-03 23:58:50 230

原创 HDU 1533

这个还是套模板,此模板是对图的建立从下标1开始#include #include #include #include using namespace std;const int MAXNODE = 104;typedef int Type;const Type INF = 0x3f3f3f3f;struct KM { int n; Type g[MAXNODE

2016-08-03 20:29:43 215

翻译 HDU2255 KM完全匹配模板题收藏

跟着yifan sama继续游走江湖#include #include #include #include using namespace std; const int MAXNODE = 305; typedef int Type; const Type INF = 0x3f3f3f3f; struct KM { int

2016-08-03 19:39:20 211

翻译 UVA11927

Num是奇数才当作1个石头理解一下sg函数函数中,在想那个vis的初始化是否含有一点回溯的意思,显然我想多了= =sg在图论中的一种简单应用= =#include #include #include #include using namespace std;const int N = 1005;int n, m, sg[N];vector g[N];int dfs(

2016-08-03 18:13:21 173

翻译 UVA11859

#include #include const int N = 10005;int t, n, m, cnt[N], vis[N], prime[N], pn = 0;int main(){ for(int i=2;i<=N;i++){ if(vis[i])continue; vis[i]=1; prime[pn++]=i;

2016-08-03 18:10:45 242

翻译 UVA10733

头一次用polya定理,还是有点意思的= =膜拜yifan大神#include #include unsigned long long n;int main(){ while(~scanf("%llu",&n)&&n){ printf("%llu\n",(n*n*n*n*n*n+6*n*n*n+3*n*n*n*n+8*n*n+6*n*n*n)/24); }

2016-08-03 12:18:04 274

翻译 UVA12013

老夫看着模板过的第一道题。。。这类题好蠢,,,只要你有一个老司机的眼神。。。 #include #include const int N = 30; int t, next[N], vis[N], num[N]; char str[N]; bool judge() { for(int i=2;i<=26;i+=2){

2016-07-30 19:40:48 147

翻译 poj3675

这道题给我的感觉就是套模板,一直到circle与triangle求area过程,然后只是对多边形降解那个三角形和圆求面积的函数似乎只能表现逆时针效应,否则会出错继续仰慕lab104_yifan大神的思路#include#include#include#include#includeconst double eps = 1e-8;const double pi = acos(-

2016-07-28 19:39:56 454

原创 poj2954

用nick定理之前用的模板都是double 的= =,然后也是头一次将一堆模板删删删tr_area这个是int 类型的,最后在处理两个/2过程同时进行,几个不同步的/2过程害得老夫debug了一小会= =#include #include#include #include #include using namespace std;struct Point { int

2016-07-28 18:41:43 422

翻译 poj3304

改造相交方式还真是非常有趣通过分析可以不用进行直线和线段之间相交,而是直接用线段和线段之间相交来判定,同时规范相交的函数进行修改没有必要对第二个线段(即进行枚举的线段)要求第一个线段两段在其两侧改造相交函数的含义是,此次过程中,,第一个线段的作用相当于可以认为是直线了,即求直线和线段相交的过程= =看来我还是太连清了,居然会以为,其实是判断线段相交#include #includ

2016-07-28 11:07:21 168

翻译 poj 2826

这题虽然以前就看过,这会算是亲自下手了一发。殊不知,里边精度问题还是棒哭了。1.sb这个点真心判得还无语。刚才这不还明明已经确定了点之间的关系么。。。2.fabs 和abs。。。我太连清了3.求两个直线连接的时候,如果用之前通过求相交的点,这种点是不可靠的。4.+eps,听大神的话就是对的多谢lab104_yifan大神带我走题库,刷题,膜#include #includ

2016-07-28 09:44:23 203

翻译 poj 1325

一开始没有看到其实mode_0然后的话,整个题目就是之前提到的最小项点覆盖。#include #include #include #include using namespace std;const int N = 1005;int k, m, n;vector g[N];int left[N], vis[N];bool dfs(int u) { for (in

2016-07-28 08:19:43 233

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除