`
huyifan951124
  • 浏览: 83178 次
社区版块
存档分类
最新评论
文章列表
自学java也有一段时间了,回想起来初学java的我最迷惑的一点就是this了,我们知道,java与c++最大的区别是什么呢,java只保留了 c++面向对象的部分,砍去了面向过程的部分,那么除此之外最大的不同是什么呢,那么就是java砍去了c++/c的指针,这一令无数初学者反感的东西, 只保留了this指针,但是光这一点,却又迷惑了一大批人,下面我就一起和大家来探讨一下this指针的作用吧(写的不好的地方还请指出~~~). import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; im ...

Poj 3687

题目大意:给出n个球和m个关系,要你根据这些关系求出他们正确的序列,注意这里让你输出的是第i个球在最终序列里的位置。 算法思想:拓扑排序,注意一下反向建图,还有重边要判定一下,最后注意如果这个图是个环或者部分是环,就说明关系有矛盾,就输出-1。 #include<iostream> #include<cstdio> #include<queue> #include<cstring> using namespace std; int t,n,m; int a,b; bool visited[205],isOver; int p[ ...

hdu2962 最短路

题目大意:就是给定起始点和结束点以及卡车的重量,问你在保证卡车重量最大的前提下,最短路径是多少,我们可以枚举卡车的重量,在对每个卡车的重量进行dijkstra,算到终点是否存在最短路径。当然枚举也可以用二分进行优化,时间差的还是蛮多的。                 2016-08-05 15:23:00 Accepted 2962 9297MS 9500K 2257 B G++        2016-08-05 15:34:54 Accepted 2962 1606MS 9496K 2516 B G++   下面那个是 ...
  这是在做java的一个小项目叫坦克大战的时候遇到的一个问题,就是使用线程进行repaint()面板的时候总是出现闪烁的问题,由于repaint()要把所有图像都重新绘制一遍,因此出现了闪烁。  那么怎么解决闪烁这个问题呢,我们就用到了双缓冲这一技巧(double buffer),我们首先创建一张基于原面板的一场图像,先将绘制图像的工作在这张图片上面完成,最后再将这张图片直接贴到面板上面,这样就不用直接在面板上进行绘制,因此闪烁现象也就消失了。 @Override //在repaint()调用paint()方法之前,还会先调用update()方法 private ...
这个错误在继承类的时候很常见,错误原因是,父类的构造方法只有有参数的构造方法,也可以说父类没有无参的构造方法,这样的话,子类继承该类,就必须要显 示的调用父类的构造函数,这样才能保证,编译器在将子类初始化前,父类先被初始化。如果要使子类不显示的的调用父类的构造函数的话,则必须在父类加一个无 参的构造函数,这样的话,编译器在初始化子类之前,会自动的将父类先初始化。

HDU 1572

题目大意就不用说了吧没因为是中文题。。。 算法思路:这里要注意,他这里只把乘客所要下的站点作为他路线上的站点,因此,我们可以直接深搜即可。 #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define INF 0x3f3f3f3f bool place[35]; int a[35][35],num,p,res,ans,n; bool isCover() { for(int i=0;i<n;i++) { ...
最近想在自己的web application上flikr接口进行图片的搜素,因此就需要接受flikr所回传给我的json数据, 但是java如果就直接调用URLConnection conn=url.openConnection();这样是肯定不行的啦,因为没法直接访问flikr,那么我们要如何通过java实现代理上网呢? //首先我们肯定要在链接前先设置代理: //第一种方法:这种方法是jvm级别的,对所有url请求都有效 System.setProperty("http.proxySet","true");//这句表示让系统使用代理上网 ...
深搜这个算法相信大家肯定都不陌生吧,它是算法中基础中的基础,它运用到的就是递归了,它还隐式的包含了一种数据结构——栈,我在理解这个算法的时候可吃了不少苦头,花了不少时间,但是一旦掌握,你的思维可以说 ...
题目大意:给你村庄和村庄之间的距离和费用,如果这个村庄的费用可以无限小就输出UNBOUND,如果这两个村庄之间没有路就输出VOID,否则则输出在满足最小费用下的最短路。 算法思路:判断村庄费用无限小其实就是判断在所给的两个村庄a,b之间是否存在负环,注意全图存在负环但这两个村庄之间不存在负环的情况要考虑啊!因此我们要判断一下如果存在任意一个入队次数>n的点与b连通,或者本身b的入队次数就>n就说明a与b之间存在负环,输出UNBOUND,如果dist[b]==INF就说明a到不了b就输出VOID,否则输出最小费用和最小距离即可。 #include<iostream> ...
题目大意:来自n个农场的n头牛去一个给定的x农场吃草,来回都走最短路,这几个牛所走过的最大的路是多少。 算法思想:spfa的应用,对每头牛去的时候搞一次spfa,回来的时候在搞一次spfa,再将这两段距离之和相加。最后在维护一下最大值输出即可。 如果不大清楚spfa算法,可以参考下http://huyifan951124.iteye.com/blog/2315252 #include<iostream> #include<cstdio> #include<cstring> #include<queue> using namespa ...

POj3259

题目大意:有n个村庄,村庄之间有m条正常的路,有w条时光隧道,隧道的权值为负数即时空倒流,问你他能否回到起始点看到自己。 算法思想:只要从任意一点出发,看这个点出发是否有负环,并且这个负环是回到起始点的。 #include<iostream> #include<cstdio> #include<cstring> #include<queue> using namespace std; #define INF 0x3f3f3f3f typedef struct Edge { int u; int v; ...
题目大意十分简单,就是给你m条边的距离,让你求从1到n的最短路径. 解题思路:这是我第一次用spfa算法解题,学习spfa算法的心得都在代码注释里,若理解不对还请大牛们指出,谢谢啦。 #include<iostream> #include<cstdio> ...
今天尝试了一下通过flikr api将搜索到的图片保存到本地(其实其他文件也差不多是这样做),下面说一下具体操作步骤: //注意!本人为linux系统没有盘符. File file=new File("/home/.后面省略");//此为绝对路径 File file=new File("../workspace/后面省略")//此为相对路径 FileOutputStream out =new FileOutputStream(file);//要输出到的本地文件路径 URL url=new URL("http://xxxxxxxxx&q ...
今天学习jsUnit进行javascript的单元测试,发现这对linux下的用户来说事件痛苦的事情,因为要成功的运行jsUnit还真不是一件容易的事,对于win用户来说,IE对本地文件的限制没有那么高,因此在IE下能够很好的运行jsUnit,但是,对于我们linux下的用而言,就悲催了。因为firefox对本地文件的有着十分严格的访问限制,因此用户在运行testRunner.html的时候,发现路径正确,也是一个test html,并且文件内也包含了对jsUnitCore.js的引用,可就是莫名的time out,那就换个浏览器呗。于是,我尝试了chrome,opera两个极速浏览器= =,也 ...

Poj2570 Fiber Network

题目大意:现给出每条边的供应商,让你求若要使某两个点连通所需要的供应商有哪些。 算法思想:赤裸裸的floyd算法再加上位运算优化,如何为运算呢,假设1-2的的供应商为abc那就表示为00000000000000000000000111,2-3的供应商为ad,那就表示为00000000000000000000001001。因为有26个字母,所以表示为26位。这样表示完了之后在floyd算法里就只需要进行简单的与或操作就行了。 #include<iostream> #include<cstring> #include<string> #include& ...
Global site tag (gtag.js) - Google Analytics