- 博客(44)
- 收藏
- 关注
原创 java并发实践学习
第二章 1,什么是对象的状态 对象的状态是指对象的实例域,或静态域中的数据。注意,对象的状态可能与依赖对象有关。例,HashMap的状态还与entry的对象相关。 2,什么是线程安全 线程安全:当多个线程同时访问一个对象(类)时(状态转变),不在需要任何的额外的同步策略,并且这个类能够变现出正确的行为,不能破坏不变形条件。 补充一点:不变形约束,当多个状态变量之间不是独立的,又相互的关系
2015-09-08 16:43:02 490
原创 unix域套接字进程间传递文件描述符
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define PORT 7000#define EXIT_ERR(m) \do{\perror(m);\printf("\n");\ex
2015-07-28 12:32:04 693
原创 unix回射服务器,客服端
客服端#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define PORT 7000#define EXIT_ERR(m) \do{\perror(m);\printf("\n");\exi
2015-07-18 15:28:26 354
转载 java的访问权限
浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制。考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1、fun2,工程师只想
2015-03-09 20:43:01 625
原创 2~5章
第二章1,引用操纵对象: String s;只是引用,String s="gkl";2,存储位置: 引用-堆栈 对象-堆 常量-一般代码内部3,作用域: {int x=0;{int x=0;}}//错误4,class成员变量会有默认的初始化,但局部变量没有,且必须人为初始化,否则出错。5,除特殊类型,传递的是引用6,消除了向前引用的问题,即使在后面定
2015-03-03 17:36:58 359
原创 pointer to a function used in arithmetic
比如:#include void a(int x){ printf("test\n");}int main(int argc, char const *argv[]){ a[0]; return 0;}
2014-10-15 16:10:24 4466
原创 la 4794 分享巧克力 dfs(超时) dp
我开始试着用dfs,结果超时,附代码。/*la 4794*/#include #include #include #define N 100+10using namespace std;struct node{ int x; int y; int area;};node a[N];//存中间块int b[N];//存目标面积int x,y,n;int mi
2014-10-12 13:10:39 432
转载 priority_queue的用法
priority_queue的用法priority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解
2014-09-12 10:49:31 345
原创 poj 1182(食物链)并查集
第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 对于第一种说法,需要检查是否前面出现过2 x y,或 2 y x。对于第二种说法,需要检查是否出现过1 x y,2 y x。如果对于每个出现的说法都去遍历检查,时间复杂度会过高。由于需要判断说法是同类,自然的想到并查集,但对于这儿来说,不仅要组织是否是同一类,还要组织捕食关系。如何组织呢,
2014-09-09 15:48:18 333
原创 poj 1015 动态规划 难
这道题我是看别人的思路写的,因为有个绝对值,无法转移状态,自己傻得非要把绝对值表示出来,其实可以在计算完成后筛选,我这个菜鸟估计是受背包的的影响,想状态的时候还想着前几个中选出多少个。这道题的状态是f[i][j],i选了的人数,边界为零,目标为M,j为d-p(a[])的差值和,f值为d+p(b[])值。记如何状态转移呢,f[i][j]是由f[i-1][x]而来,而x+a[k]=j;要求
2014-09-02 21:51:03 461
原创 lis nlogn
lis的nlogn算法lis有一般的O(N^2)的dp算法:d[i]=max{0,d[j]|j比如1,3,2,4。d[4]=max{0,d[1],d[3],d[2]}+1(如果lis可以有相同的值,取然而有些情况可能O(N^2)的dp算法速度不符合要求,便有了下面的nlogn算法。首先给出代码,然后解释为什么:for(int i=1; ifor(int i=0; i{
2014-08-23 11:41:57 519
转载 lower_bound(),
函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标则pos = lower_bound( number, num
2014-08-23 09:36:31 419
转载 floyed 理解
如果有一个矩阵D=[d(ij)],其中d(ij)>0表示i城市到j城市的距离。若i与j之间无路可通,那么d(ij)就是无穷大。又有d(ii)=0。编写一个程序,通过这个距离矩阵D,把任意两个城市之间的最短与其行径的路径找出来。 我们可以将问题分解,先找出最短的距离,然后在考虑如何找出对应的行进路线。如何找出最短路径呢,这里还是用到动态规划的知识,对于任何一个城市而言,i到j的最短距离不
2014-08-18 16:39:06 462
原创 poj 1185
#include #include #include using namespace std; int s1[101];int n,m;int dp[110][100][100];int status[1500];int x=0;int func(int x){ int ctx = 0; while(x) { ctx++;
2014-08-17 14:22:28 283
原创 随记
用异或jiao'hvoid exchange(int &a, int &b) { if(a == b) return; //防止&a,&b指向同一个地址;那样结果会错误。 a ^= b; b ^= a; a ^= b; }
2014-08-14 15:47:41 297
原创 poj 1011
poj 1011 深度优先加遍历思路:解空间树为一对多(只要没有被使用),使用dfs,若不剪枝,时间复杂度为o(n!),太大。剪枝策略:1,最小长度为最大的小段长度到总长度之间,且一定整除总长度。2,若前一个不满足,而循环找的下一个和前一个相同,则必定也不满足。3,若是已经拼好的前几段或刚开始,去找下一个小棍的第一段,若第一个不满足,则没必要去找下一个,因为若能刚好拼接完成
2014-07-29 09:51:11 507
原创 0-1背包
0-1背包问题的回朔法实现设有0-1背包问题,p(1,2...n)价值,w(1,2...n) 重,c背包容量。利用深度优先搜索,构造解空间树。每一个物品有1(取),0(不取),分别对应解空间树的左右子树。故解空间树为n+1深的完全二叉树。每个节点表示当前总价值。 算法实现:以类的方式,以减少参数的传递。n(物品数),bestp最大价值,cp 当前价值。#include #i
2014-07-25 15:20:14 478
原创 sublime3 c++环境配置,可cmd输入,安装插件管理 Package Control,乱码
sublime3 c++环境配置:http://blog.csdn.net/lhshu2008/article/details/17582949最后
2014-07-23 18:27:11 797
转载 even parity
转自http://www.acmerblog.com/uva-11464-even-parity-4653.html这道题的算法实现态变态了
2014-07-20 21:41:42 878
原创 graveyard,neerc(墓地雕塑)
#include #include #include using namespace std;int main(int argc, char const *argv[]){int n,m;while(scanf("%d%d",&n,&m)==2){double ans=0;for (int i = 1; i {double pos=(double)i
2014-07-18 17:05:19 831
原创 Commando War
#include #include #include using namespace std;#define max 10000struct A {int b;int j;};bool cmp(struct A i,struct A j){return i.j>j.j;//}int main(int argc, char cons
2014-07-17 14:58:13 351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人