自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 资源 (7)
  • 收藏
  • 关注

原创 poj 1450 水题

给你n*m的网格,求把每个点都遍历一遍最后回到起点,最短距离,直线距离为1,斜线距离为根号2.当n*m为偶数时,会发现只要走n*m长就能到达起点了。当n*m为奇数时,最后一步走个斜线才能到达起点。#includeint cas,n,m;int main(){ scanf("%d",&cas); for(int i=1;i<=cas;i++){ printf("Scenari

2012-09-23 18:49:49 555

原创 poj 2109 水题(pow函数)

pow函数 主要求a的b次方pow(a,b);double          64                     15~16  (有效数字)             10^(-307) ~10^308(绝对值范围)#include#include#includeint main(){ double n,k; while(scanf("%lf%lf",&n

2012-09-22 21:32:20 454

原创 poj 1815 最小点割转化为最小边割+枚举 (邻接矩阵+递归dinic)

题意就是去掉几个点,是VS与VT不连通。并问去掉了哪几个点?。本来是最小点割的,但要转化成最小边割,就是拆点,把点变成边就行了。容量为1 。其他点相连时权值为MX。求一次最大流,若为MX,那么就证明VS与VT直接相连了,NO ANSWER!若不为MX,那么从第一个点枚举,去掉这个点,即i到i+n边容量从1边为0 。初始流量。求次最大流看看流量改没改变,若改变了,那么就说明此点是我们要找

2012-09-22 21:16:22 792

原创 zoj 2788 (dinic递归+非递归)

建图真的很重要啊!!!若A到B有门且门的开关面向A,那么A到B建边,权值为MX,B到A建边,权值为1.建一个超级源点,与有入侵者的点相连,权值为MX。非递归版#include#include#define MX 100000int cas,vs,vt,k,dist[1000],que[5000],list[1000];struct Egde{

2012-09-20 21:46:00 676

原创 zoj 2587 (最小割是否唯一+dinic非递归模版)

最大流后,从VS与VT搜索一遍,来看看是否能到达所有的点,如果不能,那么最小割不唯一。如果能,最小割唯一。#include#include#define MX 1000000int k,queue[10000],vis[1000],list1[1000],list2[1000],d[1000],vs,vt;struct Edge{ int u,v,next,p

2012-09-19 12:41:31 678

原创 poj 3308 (最大流 最小点权覆盖)

dinic递归法调了一下午最后TLE。。。二分图最小点权覆盖:从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。行为一个集合,列为一个集合。因为要乘积,所以用对数来算,就变成加法了。也就转换成求最小割。用最大流来做。#include#include#include#include#include#define MX 100000

2012-09-16 19:48:50 371

原创 poj 2250 (LCS 需打印路径)

#include#include#includeusing namespace std;int dp[110][110],k,it1[110],it2[110],it[110],path[110][110];char name[300][40],name1[110][110],str[40];int max(int a,int b){ return a>b?a:b;}void p

2012-09-16 14:22:51 419

原创 poj 1458 LCS(最长公共子序)

裸的。思想:dp[i][j]为str1中到i为止与str2中到j为止,最长子序数。若str1[i-1]==str2[j-1]那么dp[i][j]=dp[i-1][j-1]+1;否则dp[i][j]=max(dp[i-1][j],dp[i][j-1]);#include#includechar str1[1010],str2[1010];int dp[1

2012-09-12 19:56:27 438

原创 poj 3469 最小割

最小割是等于最大流的。割:将vs与vt分成两个集合的那些前向弧。最小割:容量最小的割。#include#include#define MX 10000000int n,m,numb,d[30010],queue[1000000],next[900010],list[30010];struct edge{ int u,v,flow;}eg[900000];voi

2012-09-12 17:45:57 494

原创 poj 1637 最大流(混合图欧拉回路)

。。。。对拍了好久,对出个300多个遍的bug,正在纠结要不要看的时候。。突然发现。。哪错了。。边权是1 。。但你也不能就赋1啊。。你个白痴T,T。。对于无向边,随便定向,然后看看每个点的出入度之差是不是偶数,如果有不是的那就不是欧拉图了,如果都是,那么对于之差为偶的点,改变x/2 (x为出入度之差)条边,如果是满流,那么就能变成欧拉回路。如果不是满流,就不能变成欧拉回路。建图:将

2012-09-10 21:37:53 2128

原创 poj 1087 网络流

仍是最大流。map很好用啊,自己写的change函数就TLE了,直接拿map来映射就行。。。转换器之间边权值为MX。VS到用电器之间权值为1,用电器到插头之间权值为1,提供的插座到VT之间权值为1.#include#include#include#include#define MX 100000using namespace std;int h,n1,n2,

2012-09-09 17:24:23 487

原创 poj 3436 网络流

纠结了好久的题,必须要拆点,但是有个不拆点也能A的代码。可是这组样例告诉我们必须拆点:2 410 0 0 0 110 0 0 0 010 0 1 1 110 0 1 1 1不拆点的代码:(AC了 但是是错的)点与点之间的权值为min(i,j的容量)#include#include#define MX 1000000int n,p,map

2012-09-08 20:00:43 567

原创 poj 1250 水题

。。。。某大叔说我写的代码很难看,囧了,还特意找了篇文章让我膜拜。还是个全英文的,更囧了,好吧,让我一点一点纠正我的习惯吧。#include#includechar s[1000];int ss[30],num;int main(){ while(scanf("%d%s",&num,s)&&num) { memset(ss,0,sizeof(ss)); int l

2012-09-04 15:17:30 477

原创 poj 1248 水题

同水,只要注意按字典序最大的输出就好了#include#include#includeusing namespace std;bool cmp(int a,int b){ return a>b;}int poww(int x,int y){ int xx=x; for(int i=1;i<y;i++) xx=xx*x; return xx;}char s

2012-09-04 14:57:21 765

原创 poj 1207 水题

很水,注意i j大小要自己判断#includeint num,i,j;int main(){ while (scanf("%d%d",&i,&j)!=EOF) { int max=0; int i1=i,j1=j; if(i>j) { int c=i; i=j; j=c; } for(int num1=i;num1<=j;num1++

2012-09-04 13:48:56 461

原创 poj 2112 网络流

完全不会。。看了好久别人的代码 才看懂。建图:vs=0 ve=k+c+1 从Vs到奶牛边权值为1,机器到ve权值为M。奶牛到机器权值为1.利用二分思想,从某长开始构图,把小于等于此长的边留下,再来bfs看看能不能形成增广路,能的话dfs一下返回流量,若返回的流量>=C证明此长可以,那么减小长度接着构图、bfs、dfs。#include#include#define MX 1

2012-09-04 13:09:49 459

原创 poj 1118 2606 共线

最近有点烦躁额。。感觉自己太笨了。。刷点水题吧。。1118#include#include#includeusing namespace std;double numb[1400005];int n, x[710],y[710];int main(){ while(scanf("%d",&n)&&n) { int max=0; for(int i=1;i<

2012-09-02 21:33:11 358

原创 poj 1273 网络流

裸的网络流,注意有重边就行。比如 dicuss上的一组数据,结果应为15:3 21 2 41 2 51 2 6#include#include#define MX 10000000int n,m,c[205][205],f[205][205],pre[205],mf[205],q[205];int main(){ while(scanf("%d%d"

2012-09-02 10:58:07 419

原创 poj 1149 网络流

构图很难,每个顾客为一个点,Vs与每个第一个要i猪圈的连边,权值为第i个猪圈所能提供的猪,若某个顾客比上一个顾客后到来要i猪圈的猪,那么上个顾客指向此顾客的边权值为MX,因为可以随意调动猪。最后每个顾客有条边指向Vt,权值为他想要的猪。#include#include#define MX 100000000int m,n,pn[1010],pre[1010],mf[1010],c

2012-09-01 09:29:24 341

原创 hdu 1116 欧拉回路

#include#includeint cas,n,pre[30],vst[30],in[30],out[30];struct point{ int u,v;}eg[100000];int find(int w){ int now,root=w; while(root!=pre[root]) root=pre[root]; while(pre[w]!=root) {

2012-08-28 11:59:25 2961

原创 hdu 1878 欧拉回路

判断是否存在欧拉回路,主要是还要判断图是否连通。#include#includeint point[1010],pre[1010];struct p{ int u,v;}eg[10010];int find(int root){ int now,w=root; while(pre[root]!=root) root=pre[root]; while(pre[w

2012-08-27 19:46:51 2898

原创 poj 1679 prim

判断最小生成树唯不唯一根据prim算法,找出最小的那条边及点u,然后看看已属于T集合的有没有到达点u的距离和此最小边一样长,若有而且还不是点v,那么就证明有其他最小生成树.#include#define MX 100000000int cas,n,m,pre[110],dist[110],map[110][110];int prim(int v0){ for(in

2012-08-26 19:51:08 376

原创 poj 2935 bfs

#include#include#includeusing namespace std;struct point{ bool f[4]; char s[10000]; int pos,x,y,step;}a[10][10];int sx,sy,ex,ey,step[10][10],xx[4]={0,0,1,-1},yy[4]={1,-1,0,0};char ss[10000]

2012-08-26 15:55:17 421

原创 poj 1364 SPFA+差分约束

约束条件:如果是gt    s[a-1]-s[a+b]如果是lt     s[a+b]-s[a-1]此外,新加的原点与其他点的leth为零。n+1为原点。#include#include#define MX 10000000int n,m,dist[110],vst[110],list[110],f[1000000];char ss[5];bool visit

2012-08-26 14:04:12 330

原创 poj 部分 最短路题

查了查poj上的最短路的题。。。还有好多都没做啊。。哎,不做了,最近做乏了,把这写题目存起来,以后再做吧1125   1502  1511  2502  3037  3377  3615  3660

2012-08-26 12:02:01 338

原创 poj 1724 SPFA

dist数组开成二维,存的是到第i点花费j时的最小距离。#include#include#include#define MX 100000000using namespace std;int n,k,m,dist[110][10010],list[110],next[10010];bool visit[110];struct point{ int u,v,leth,c

2012-08-26 11:51:32 503

原创 poj 3159 SPFA+手写栈

一天啊  。。就挂在这道题上了。。。next数组开小了。。导致一直TLE。。服了我自己了。。T,T题意:    A小朋友不希望B小朋友比他多X块糖。。SPFA+手写栈实现    队列会超时。。数据问题吧#include#define MX 100000000int pos,stack[150010],dist[30010],next[150010],list[300

2012-08-24 20:02:17 1068

原创 poj 1847 bellman-ford

本来想spfa做的。。。不知怎么的,就写了bellman了。。因为只会bellman。。T,T。。我真是水。。题意:几个点,从某点到某点需不需要转换开关的问题,求转换开关次数最小的路。一行列表,第一个是出度,第二个是不需要转换开关的那条路,接下来的几个路是需要转换开关的路。#include#include#define MX 1000000000int k,dist[110]

2012-08-23 19:15:45 412

原创 poj 2240 bellman-ford

题意:     货币转换,看一圈下来有没有货币能够升值。。。题解:     仍需要floyd来算关系。bellman来看有没有正权值回路并通过此点能够到达v0.#include#includestruct point{ int u,v; double w;}eg[1100];int cas=1,k,pos,n,m,map[50][50];double dis

2012-08-23 16:21:55 311

原创 poj 1932 bellman

我真的很水。。。代码写的丑不说。。。思想也跟不上。。。哎。。努力爬呀努力爬。。题意:she从1到n能不能走到,每个房间都有能量值,有正有负,如果能量为0或从1到n没有通路。就hopeless。否则winnable。题解:先用floyd 算出图的关系,即i 能不能到达 j。然后在bellman 若图中存在正回路并且能通过此点到达n 也是可以的。#inclu

2012-08-23 15:02:25 347

原创 poj 1860 bellman-ford

题意:     兑换货币,给你初始货币,看看你兑换完能不能比初始货币多。这真不要脸。。。有这好事我也去换了。。T,T题解:    建个点0,从点0指向初始货币。bellman负权回路反用,也就是找正权回路就行。#includestruct point{ int u,v; double w,r,c;}eg[11000];int n,m,s;double V,dist[1

2012-08-23 10:57:30 363

原创 poj 3259 bellman-ford

果然还是水啊。。险过。。差点就TLE了。。题意:   n个点,正常的路是双向的,wormholes是单向的而且是负权值边。求图中有没有负权值回路。#include#define MX 10000000struct point { int in,out,w;}eg[5200];int s[1050],dist[1050],n,m,w,u,v,t;int bellman(

2012-08-22 16:54:27 278

原创 poj 1062 dijkstra

哎。。大神就是大神啊。。没有图他就建个图。。没有点他就建个点!!疯了。。我实在是太水了。。。题解:        建一个点(点0),此题即变为从0到1的最短路。点0到其他点的权值为若要直接卖点 j 所需要的花费,若通过利用 i 到达点 j ,优惠了 vi,那么点 i 到点 j 的权值就为 vi。另一个关键点:等级问题,利用枚举,把与点1有关的等级区间段一点点移动,每移动一次,求

2012-08-21 20:11:35 362

原创 poj 3268 dijkstra

题意:    n个点,m条边,终点为x,问从某点到x,再回来,最大权值和为多少。题解:   正图一次从x点开始的dijkstra,再来个反图,从x点开始的dijkstra。把两个dist数组加和找最大。#include#define MX 111111111int map[1010][1010],mapcopy[1010][1010],dist1[1010],dis

2012-08-21 17:50:28 332

原创 poj 1122 dijkstra

题意:       图已经给出,-1代表无路,给你一个点,和很多个点,求很多个点到这个点的最短路,并升序输出。题解:       构造个反图,此题就变成了从一个点到很多个点的最短路。#include #include#include#define MX 1111111using namespace std;int map[30][30],n,p[30],dest,

2012-08-21 16:44:05 417

原创 poj 1797 kruskal

这题真坑爹啊。。。一直RE。。不开大不行啊。。。题意:找出1到n最大路径的一段最小路。#include#includeusing namespace std;#define MX 100000000int pre[105010];struct point{ int in,out,leth;}eg[105010];int n,m;bool cmp(po

2012-08-20 17:40:29 400

原创 poj 2387 dijkstra

题意非常简单,从n到1的最短路径。 但是要注意,输入是先输入m再输入n的。即第一行是m n。#include#define MX 1000000000int dist[2010],map[2010][2010],n,m;bool s[2010];int dijkstra(int v0){ for(int i=1;i<=n;i++) { dist[i]=map[

2012-08-20 15:01:29 302

原创 最短路 SPFA (对于bellman-ford 的优化)

SPFA算法:              既然是优化,那么肯定也不可能在图中出现负权值回路。              主要就是运用队列,如果一个点的信息被改变了,那么就把他加入队列,把队列中 点与此点相关的边  所连接的点的信息更新。直到队列为空。code:时间复杂度 O(km) k为平均每点如队列次数#include#include#includeusing na

2012-08-16 20:48:46 320

原创 最短路 Bellman-Ford 边上权值任意的单源最短路

小B算法:           怎样都好,就是不能图中包含负权值回路。。!           假如图中有n个点,那么我们需要将图遍历(因为有n-1条边)n-1次(邻接表)或n-2(邻接矩阵,因为有初始化),每次遍历的时候,拿出一个点(u),再与其他个点比较(v),如果起始点到u距离大于  起始点到v的距离加上u到v的距离,那么就更新。直到所有的点拿完,再去遍历吧。。判断存在负权值回路

2012-08-16 19:03:47 752

原创 最短路 dijkstra 权值非负的单源最短路径

小D算法:         一个图,无向有向皆可,但是一定不能有权值为负的时候!(此为前提)         从起点出发,找最小的边并且另一点未被标记,然后把这点标记了,再通过此点更新其他的点的信息。         直到最后所有的点都被标记了。OVER~*逆用:          多点到某一点:即储存个反图,转换为一点到多点就可以利用dijkstra求解。

2012-08-16 18:18:23 1006

mingw-win64

MinGW win64位安装包

2016-05-12

xgboost编译后.rar

xgboost利用make编译后,直接在python-package文件夹下进行python setup.py install即可,适用于win64

2016-05-12

git-win64.ext

git-win64

2016-05-12

scipy_0.14.0.win_amd64_py2.7.exe

scipy_0.14.0.win_amd64_py2.7.exe

2016-05-12

numpy-MKL-1.8.0.win-amd64-py2.7

numpy-MKL-1.8.0.win-amd64-py2.7.exe

2016-05-12

java模拟浏览器登陆新浪微博爬取用户信息

java模拟浏览器登陆新浪微博爬取用户信息 新建java工程把包导入即可,仅供参考

2015-07-25

hadoop+HA+zookeeper+hbase配置文件

hadoop2.6.0+HA+Zookeeper3.4.6+hbase1.0.0安装配置步骤详细文档,包括各种xml配置文件

2015-04-25

空空如也

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

TA关注的人

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