自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

amourjun的专栏

我的愿望是----一觉睡到小时候!

  • 博客(152)
  • 收藏
  • 关注

原创 新的一年 换个新家~

博客搬到cnblogs.com/amourjun

2016-01-15 21:19:04 781

转载 IOS学习【xcode 7新特性url链接】

由于xcode7的更新,在访问http链接的时候会输出错误信息The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.Google后查证,iOS9引入了新特性App Transport Security (ATS)

2016-01-14 23:15:00 1005

原创 IOS学习【VMware 12 安装 Mac OS X 10.11】-Day1

1、下载安装VMware 12 pro  (32位不能安装)虚拟机 VM12密钥5A02H-AU243-TZJ49-GTC7K-3C61N2、unlock206 用于VMware 12识别tacos系统注意 unlock206运行路径不能有中文字符若成功运行会出现重复的一段字符3、下载dmg镜像下面的链接有具体的文件下

2016-01-14 23:03:09 6960

原创 IOS学习【前言】

2016-1-1416年开始时导师安排任务,开始IOS学习之旅 经过几天的学习,感觉还是需要作比较多的学习笔记,因此开始用博客记录整个过程,方便以后查看学习与分享。前期准备首先学习IOS主要面临的问题是开发设备,这里由于各种原因(钱)我选择用PC(或笔记本)跑虚拟机来运行mac系统。需要注意的是mac系统会消耗较大的内存,所以我把原来8G的内存加到了16G,但后面使用x

2016-01-14 22:44:52 421

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-01-14 18:35:09 356

转载 分享45个android实例源码,很好很强大.收藏吧!!!

andriod闹钟源代码http://www.apkbus.com/android-20974-1-1.htmlandroid源码分享之指南针程序http://www.apkbus.com/android-20973-1-1.html重力感应的测试程序andriod源代码http://www.apkbus.com/android-20972-1-1.htmlan

2014-06-25 22:30:49 3393

原创 快速幂

快速幂运算:int pow(int a,int n){ int rs=1; while(n) {    if(n&1)      rs=rs*a;    a=a*a;    n=n>>1;  }  return rs;}快速幂取余

2014-04-20 17:30:59 500

原创 POJ3228 并查集或二分最大流枚举答案

忘记写题意了。这题题意:给出每个地点的金矿与金库的数量,再给出边的长度。求取最大可通过边长的最小权值使每个金矿都能运输到金库里。这题和之前做的两道二分枚举最大流答案的问法很相识,但是这里用最大流速度不够快,所以用了并查集来判断。方法:边排序后,每次边判断为,将两点合集,若合集中满足金库数量大于金矿数量  则该合集满足条件。代码:#include#include#include

2014-02-28 19:29:01 964

原创 poj3723 MST好题 kruskal

#include#include#include#includeusing namespace std;#define inf 10000000#define MAXN 20000struct Edge{ int x,y,len;}e[3*MAXN];int n,m,r,ans;int fa[MAXN];int find(int x){ if(x != fa[x])

2014-02-26 20:36:50 646

原创 hdu 2066 最短路水题

题意:给出多个可选择的起始点和终点,求最短路 思路:执行起始点次的spfa即可 代码:#include#include#includeusing namespace std;#define MAXN 1100#define MAXM 5000#define inf 2000000000struct Edge{ int to,next;

2013-10-22 19:20:18 528

原创 hdu 3342 拓扑排序 水

好久没切题  先上水题!拓扑排序! 代码:#include#include#includeusing namespace std;int g[105][105];int d[105];int N,M;bool Topsort(){ for(int i=0;i<N;i++) { for(int j=0;j<N;j++) {

2013-10-16 17:34:07 506

原创 poj 1200字符串hash

题意:给出不同字符个数和子串长度,判断有多少个不同的子串 思路:字符串hash。 用字符串函数+map为什么会超时呢?? 代码:#include #include #include using namespace std;const int N=16000005; //题目给出子串的最大和不超过16Mconst int NUM=257;bool

2013-09-06 10:24:54 1219

原创 hdu 3722 二分图 最优完备匹配 KM算法

这题只要想到是最优完备匹配就行了;题意:给出n个字符串,若两两相连,将前一个反置添加到后一个后面,相连的值为两个字串从头开始相等的字符个数;问如何匹配得出最大值;思路:建图,套模板。代码:#include#include#include#includeusing namespace std;#define CLR(arr, what) memset(a

2013-09-03 15:34:00 679

原创 poj 1149经典网络流构图

题意:m个猪圈,n个客户,每个客户给出选则猪圈的钥匙和需要购买猪的个数,其中每次客户购买时客户选则的猪圈数量可以相互更换,问最大购买数量。 思路:以客户作为除源点汇点之外的点,然后对于每个猪圈从源点连其第一次购买的客户,容量为其猪的个数,随后链接其下一次购买的客户容量为无穷。最后每个客户与其汇点相连,数量为想要购买的个数。 一开始没想出来,其实对于每个需求,只要控制好其源点容量的进

2013-09-03 10:05:46 848

原创 poj 2455 二分+最大流

这个因为点少用邻接矩阵做的。 题意:求由1到n的t条不重复路径中最大边权值的最小值。 思路:先对边权进行排序,然后二分边权值,建图求从1到n的最大流,当最大流为t时便求出答案。 代码:#include#include#include#includeusing namespace std;#define N 210int n,m,t;int a

2013-08-30 10:56:51 503

转载 hdu 3549最大流Ford-Fulkerson算法

Ford-Fulkerson算法戳戳http://www.cnblogs.com/luweiseu/archive/2012/07/14/2591573.html Ford-Fulkerson方法依赖于三种重要思想:残留网络,增广路径和割。Ford-Fulkerson方法是一种迭代的方法。开始时,对所有的u,v∈V有f(u,v)=0,即初始状态时流的值为0。在每次迭代中,可通过寻找

2013-08-29 17:06:38 653

原创 poj 3648 2-SAT建图+topsort输出结果

其实2-SAT类型题目的类型比较明确,基本模型差不多是对于n组对称的点,通过给出的限制条件建图连边,然后通过缩点和判断冲突来解决问题。要注意的是在topsort输出结果的时候,缩点后建图需要反向连边,然后输出就可以了。2-sat题型差不多。 题意:新娘新郎分别坐在长桌两边,n-1队夫妇来参加婚礼,要求:夫妇不能坐在同一边,通奸关系不能坐在同一边。输出新娘对面的序列。 思路:对称关系

2013-08-28 19:45:31 608

原创 poj 3683 2-sat建图+拓扑排序输出结果

发现建图的方法各有不同,前面一题连边和这一题连边建图的点就不同,感觉这题的建图方案更好。题意:给出每个婚礼的2个主持时间,每个婚礼的可能能会冲突,输出方案。思路:n个婚礼,2*n个点,每组点是对称的,用O(n2)的方法判断每个点之间的关系来建图,然后通过拓扑排序输出即可。代码:#include#include#includeusing namespac

2013-08-28 10:35:37 691

原创 poj 2723 二分+2-sat判定

题意:给出n对钥匙,每对钥匙只能选其中一个,在给出每层门需要的两个钥匙,只要一个钥匙就能开门,问最多能到哪层。 思路:了解了2-SAT判定的问题之后主要就是建图的问题了,这里建图就是对于2*n个钥匙,分别分成a和a'两组,即选了比如a,b一组钥匙,选择了a则必须选择b',那么进行连边,而对于每层门,若该门能开,且选择了a',则b肯定需要选,那么a'和b连边。最后就是判定了,同样的 若a与a

2013-08-25 20:24:12 489

原创 hdu 3062 2-Sat入门

开始学习2-Sat,前面看了对称性解决2-sat的ppt,很有帮助。 题意:n对夫妻,夫妻需要出席一人,给出不相容的关系,求每对是否能完成出席方案。 思路:通过关系建图,Tarjan缩点,然后进行判断:条件:若有一对夫妻在同一个连通分量中,即不可组成方案。 代码:#include #include #include using namespace std;

2013-08-25 10:57:46 415

原创 poj 3694双联通缩点+LCA

题意:给你一个无向连通图,每次加一条边后,问图中桥的数目。 思路:先将图进行双联通缩点,则缩点后图的边就是桥,然后dfs记录节点深度,给出(u,v)使其节点深度先降到同一等级,然后同时降等级直到汇合到同一个点为止。途中直接进行删边处理且桥的数目减少。 代码:#include#include#include#includeusing namespace std;

2013-08-25 09:48:29 503

原创 poj 1986LCA离线dfs+并查集

题意,给出边和权值,求出两个点间的最短距离。 用离线算法的时候有个地方不知道怎么处理了。 代码:#include #include #include #include using namespace std;const int NN=100010;int n,m;vector > edge[NN],qe[NN];vector q1,q2;

2013-08-24 10:17:37 708

原创 poj 1330 LCA最近公共祖先

今天学LCA,先照一个模板学习代码,给一个离线算法,主要是方法并查集加上递归思想。 代码:#include#include#include#includeusing namespace std;#define MAXN 10001int f[MAXN];int r[MAXN];int indegree[MAXN];int vis[MAXN];ve

2013-08-17 21:04:58 1567 2

原创 poj 1882完全背包变形

题意:给出一个上限硬币数量s,给出n套硬币价值,求一套硬币能用不大于s数量的硬币组成从1开始连续的区间价值,其中,如果其最大值相同,输出数量小的和价值小的。 思路:很明显的完全背包,纠结后面最大值相同时的情况没判断,WA好多次。 代码:#include#include#include#include#define inf 1000000using names

2013-08-14 19:51:11 684

原创 poj 1948二维01背包

题意:给出不多于40个小棍的长度,求出用所有小棍组成的三角形的最大面积。 思路:三角形3边求面积,海伦公式:p=(a+b+c)/2;S=p*(p-a)*(p-b)*(p-c);因为最大周长为1600  则三角形的边长小于周长一半800;则可以用背包思想dp[i][j]代表能组成的两条边i和j。dp为true代表小棍能组成这两条边,第三条边也能求出,最后遍历一次dp数组求最大面积。 

2013-08-14 12:49:43 918

原创 poj 1742 多重背包

题意:给出n种面值的硬币, 和这些硬币每一种的数量, 要求求出能组成的钱数(小于等于m) 思路:一开始直接用多重背包套上去超时了,然后就没辙了,然后参考网上的,说只需要判断是否能取到就行了,并不需要记录其价格,直接用bool判断是否能取到。就不会TLE了。 代码:#include#include#includeusing namespace std;int

2013-08-13 21:22:27 488

原创 poj 1014多重背包

题意:给出价值为1,2,3,4,5,6的6种物品数量,问是否能将物品分成两份,使两份的总价值相等。 思路:求出总价值除二,做多重背包,需要二进制优化。 代码:#include#include#includeusing namespace std;int n[7];int v,sum;bool flag;int dp[100000];/*完

2013-08-13 10:07:20 596

原创 poj 1384完全背包

题意:给出猪罐子的空质量和满质量,和n个硬币的价值和质量,求猪罐子刚好塞满的的最小价值。 思路:选择硬币,完全背包问题,塞满==初始化为无穷,求最小价值,min。 代码:#include#include#includeusing namespace std;#define inf 10000000int n,sum,empty,full,T;int v[

2013-08-12 19:16:20 1812

原创 poj 2063完全背包

题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润。问如何选择能获得最大利润。 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序不同,因为完全背包没有次数的限制,因而其当前状态会受到之前选择的状态影响。这题由于每个股票的价格都是1000为单位的,所以将价格除掉1000,优化内存。 代码:#include

2013-08-12 18:54:40 659

原创 poj 3592 缩点+SPFA

题意:给出一个矩阵,其中#代表墙,不可走,0-9代表权值,*代表可以选择传送。求从0,0点开始出发能获得最大权值。 思路:因为*的出现会有环的情况,先建图连边,将环进行Tarjan缩点,之后再从0,0用SPFA找最长路就行了。 麻烦的地方在于建图,还有各种错 代码:#include#include#includeusing namespace std;#

2013-08-11 12:00:30 1063

原创 hdu2546 01背包 重学背包

题意:给出菜的价钱和自己的余额。使自己余额最少,注意余额大于5的情况可以买任意的菜。 思路:小于5的余额不能买菜,直接输出,大于五的余额,留下5元买最贵的菜,剩下的余额进行01背包,将剩下的余额减去01背包消耗金额最大。就得出答案 代码:#include#includeusing namespace std;int ZeroOnePack( int price[],

2013-08-11 11:02:24 492

原创 hdu 2503 1713 1108 最小公倍数&最大公约数

gcd模板:__int64 gcd(__int64 a,__int64 b){ retur b==0?a:gcd(b,a%b);} 1108:#include#includeusing namespace std;__int64 gcd(__int64 a,__int64 b){ return b==0?a:gcd(b,a%b);}

2013-08-08 10:11:22 819

原创 poj3249 拓扑排序+DP

题意:给出一个有向无环图,每个顶点都有一个权值。求一条从入度为0的顶点到出度为0的顶点的一条路径,路径上所有顶点权值和最大。 思路:因为是无环图,则对于每个点经过的路径求其最大权值有,dp[i]=max(dp[j])  j为i的子节点集合。再根据其要求入度为零为顶点,可以用拓扑排序每次枚举入度为零的点删去找下一个入度为零的点进行dp。 代码:#include #includ

2013-08-08 09:36:02 1726

原创 poj2914无向图的最小割模板

题意:给出无向图的点,边,权值。求最小割。 思路:根据题目规模,最大流算法会超时。网上参考的模板代码。 代码:/*最小割集◎Stoer-Wagner算法:一个无向连通网络,去掉一个边集可以使其变成两个连通分量则这个边集就是割集;最小割集当然就权和最小的割集。prim算法不仅仅可以求最小生成树,也可以求“最大生成树”。最小割集Stoer-Wagner算法就是典型的应用

2013-08-07 16:10:13 1988

原创 poj2942(双联通分量,交叉染色判二分图)

题意:一些骑士,他们有些人之间有矛盾,现在要求选出一些骑士围成一圈,圈要满足如下条件:1.人数大于1。2.总人数为奇数。3.有仇恨的骑士不能挨着坐。问有几个骑士不能和任何人形成任何的圆圈。 思路:首先反向建立补图,然后问题转换成在图中找奇圈,圈肯定出现在双联通分量中,则求出图的双联通分量,又通过特性知道,一个双联通分量有奇圈则其中的点都可以出现在一个奇圈中。而对于奇圈的判定可以用交叉染色判

2013-08-07 11:49:22 3128

原创 poj 1523求割点

题意:给出一个无向图,求割点以及去除这个点后图分为几部分; 思路:割点定义:去掉该点后图将分成几个部分。割点:(1)当k为根节点且有>1个分支,则去除该点后图便被分成几个分支。(2)DFN[v] 代码:#include#include#includeusing namespace std;#define MAXN 1005#define MAXM 1005*

2013-08-06 19:49:42 510

原创 poj 3177-3352边双联通

买一送一啊  3177和3352的区别在于3177数据有重边!但是我先做3177的  那么就直接ctrl+c+v搞3352了~。 题意:给一个无向图,要令每个点之间至少有两条不重合的路,需要至少加多少条边。 思路:找出无向图中边双联通的点进行缩点后,根据缩点图的每条边(割边)给缩点增加度数,通过图的结构可以得出公式:至少增加的边数 =(这棵树总度数为1的结点数 + 1 )/ 2

2013-08-05 21:24:40 813

原创 poj 2762 强连通缩点+拓扑排序

这题搞了好久,先是拓扑排序这里没想到,一开始自己傻乎乎的跑去找每层出度为1的点,然后才想到能用拓扑排序来弄。拓扑排序的时候也弄了挺久的,拓扑排序用的也不多。题意:给一个图求是否从对于任意两个点能从v 到w 或者从w到v连通。思路:单连通,先强连通缩点,若scnt为1,或者出度为零的点为0,直接输出YES,若出度为零的点大于1,则代表有分支输出NO。若出度为零的点为1,判断组成的树是否为

2013-08-03 20:58:31 754

原创 poj 2553 强连通

题意:给出一个有向图,定义:若节点v所有能到达的点{wi},都能反过来到达v,那么称节点v是sink。题目要求所有的sink点。 思路:强连通缩点找出出度为零的点,输出即可。 这题主要问题是读题,了解题意之后就好做了,然后在数组开小了导致WA?挺莫名其妙的。。 代码:#include #include #include #include using na

2013-08-02 16:08:58 403

原创 poj1236强连通缩点

题意:给出每个学校的list 代表该学校能链接的其他学校,问1:至少给几个学校资源使所有学校都得到;2:至少加多少个边能让所有学校相互连通; 思路:1:找出缩点后入度为零的点个数  2:找出缩点后入度为零个数和出度为零个数之间的最大值。 这题主要是在思考出入度和连通间的关系,了解了这个关系后就很水了。同时要注意图一开始就连通的情况。 代码:#include #inc

2013-08-01 15:06:45 486

空空如也

空空如也

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

TA关注的人

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