python multiprocessing share variable 在某次开发中多进程间需要频繁共享变量, 碰到了各种各样的问题,总结一下。一、multiprocessing中的Queue共享问题1.先看一段代码import multiprocessing, timeq = multiprocessing.Queue()def task(count): for i in xrange(count): q.put("%
查找启进程目录 1. ps -ef | grep XXX得到进程号 num2.用root账户cd /proc/num3. cd cwd4. cd -P . 这样就能进入到开启进程的物理文件夾路径了~~~~~
linux 更改用户权限 1,在新建用户的时候,我直接改了的文件/ect/passwdyy:x:0:0:,,,:/home/yy:/bin/bash2,于是造成了一种情况就是:当用ssh登录时,发现是root用户3,用id查了一下用户组,uid=0(root)gid=0(root) 组=0(root)4,cat /etc/group找出新建用户的用户组,比如为10055,打开
管道 子进程 cat x | while read f1do count=0 cat $f1 | while read line do if ---;then count=`expr $count +1` fi done echo $count done
typedef 用法小结 虽然知道 typedef 基本的用法,但是经常碰到一些奇怪的用法(比如用在函数,指针方面的时候)就比较容易糊涂。于是查了下资料后,在这里做一个总结,欢迎更新和指点。1,typedef int INTEGER 指定用 INTEGER 代表 int 类型。即以下两行语句是等价的。 int i; INTEGER i;2,typedef struct dat
ZOJ 1232 题目意思很简单:有A个村子和B个城堡,村子标号是1~A,城堡标号是A+1~B。马里奥现在位于城堡B,他要带公主回到村子1,他有一双靴子,穿上之后可以不用时间就能从一个地方飞到另外一个地方,但是穿着靴子不能穿过城堡,穿靴子的次数也不能超过 K 次,一次不能超过 L km。求从 B
Zoj 3581 离散化 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4383题意很简单:有两根一样长(1000W)的绳子,第一条绳子有n1(10W)个区间的缺陷,第二条绳子有n2(10W)个区间的缺陷,两条绳子粘在一起,求只有一次
枚举 练习 题目来源:http://coder.buct.edu.cn/oj/Contest/Contest.aspx?cid=1121第一题就是简单的求次大数。第二题需要注意本身与本身也可以构成一个序对。第三题尽量避免使用浮点型。第四题注意时间控制。 1:#includeint m
POJ 2002 Squares http://poj.org/problem?id=2002 题意:有 n (n思路:可先考虑正方形的特性,边 AB 绕 A 点旋转可得到点 C,绕 B 点旋转可得到点 D,点 C 和 点 D 坐标可直接根据全等求出。这样复杂度就可减为 O(n*n),剩下来的就是判断求出的点 C
Havel-Hakimi定理 1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的。2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列。3,一个非负整数组成的有限序列如果是某个无向图的序列,则称该序列是可图的。4,判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】开始对其后S【1】个数字-1,(3)一直循环直到当前序列出现负数(即不是可图的情况)或者当前序列全为0 (可图)时退出。5,举例:序列S:7,7
最长递增(减)子序列 最长递增子序列(LIS)DP 中的入门吧,算是。1,复杂度O(N^2)的算法 设DP【i】中保存的是1~i 中最长递增子序列的长度,则DP【i】=max(dp【j】)+1,并且arrary[i]>arrary[j]。最后在DP【】中找一个最大的值。代码实现: int Longest_Increasing(int arrary[],int n){ int dp[n],i,j; for(i=0;i<n;i++){ dp[i]=
有向图的二分匹配 http://info.zjfc.edu.cn/acm/problemDetail.aspx?pid=1483 这道题目是在比赛的时候做的,数据应该不大,所以直接暴力模拟了,赛后听学长讲正解是二分图的匹配,百思不得其解,不知如何构图,于是他点拨了一下,恍然大悟呀,发现思维灵活是何其得重要。思路:这道题目要倒着想,假设 1 到 n 要放进柱子,最少要用几根柱子,二分匹配就是求柱子的数量的。其实可以当做是最小点覆盖= n - 最大匹配数,这道题目还有一个关键点,在
HDU 2059 好吧。我不得不说从这道题目中说明我压根就不懂什么是DP。自己太水了。当时自己的思路也是动态规划,碰到第 i 个加油站,考虑在第 i-1 个加油站的时候是否要加油,若加了计算一下时间为t1,不加时间为t2,然后dp[i]=dp[i-1]+min(t1,t2)+dp[i-1];此时若加油还好计算的,但是若不加油,则需要考虑当前剩余电量,这样一直计算时我发现那不是一般的麻烦啊。好吧,我不得不承认写不下去了。看了别人的思路,我。。。把现在的思路理一下:把起点和终点还有中间的 n 个加油站,算做 n+2 个点。dp[
并查集小记 http://acm.hdu.edu.cn/showproblem.php?pid=1232题目意思很简单,给出m条道路连通的情况,求n个城市连通至少还需要建多少条道路。应该算是赤裸裸的并查集,不过也可以用prim。借此道题目记录一下并查集的应用。1,定义一个数组set[
初识二分图最大匹配 初次接触到二分图最大匹配是在http://acm.hdu.edu.cn/showproblem.php?pid=2063离散数学中有涉及到二分图,完全二分图,匹配,最大匹配及完全匹配的定义,这里就不多做解释。简单介绍一下增广路的概念及其性质。 设M为二分图G的一个匹配。M中的端点称为M-顶点,其它顶点称为非M-端点。则增广路径:除了起点和终点是非M-顶点,其它路径上所有的点都是M-顶点,且它的边为匹配边和非匹配边交替出现。增广路径的性质:有奇数条边。 起点在二
优先队列+BFS 首次接触到优先队列是在http://acm.hdu.edu.cn/showproblem.php?pid=1242题目意思:在一张图中,有多个朋友要去营救一个公主,其中'.'代表此条路可以走,需时间为1,'r'代表公主的朋友,'x'代表敌人,走这条路值时间需加1,'#'代表此条路不可走,问公主获救最小需要多少时间。这道题目需要注意的地方是朋友是多个的,而公主只有一个,所以不能把朋友的位置当做起点,若如此,很多路径都会重复,必然超时。所以把公主的位置当做起点,当第一次找到某
补充Flyod之记录路径 http://acm.hdu.edu.cn/showproblem.php?pid=1385在未学习Dijkstra记录路径之前,对于这道题目,复杂度不大的前提下,我选择了用Floyd记录路径。int pre[vex_num][vex-num],map[vex_num][vex_
Dijkstra 1,核心思想: Dijkstra算法是典型的最短路径算法,用于计算一个顶点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。2,算法流程:举例从节点1开始到各点的dijkstra算法,其中Wa->b表示a->b的权值,d[i]即为最短路径。1,置
Floyd 1,核心思路:通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。其状态转移方程:map[i,j]=min{map[i,k]+map[k,j],map[i.j]} map[i,j]表示i到j的最短距离,k是穷举i,j的断点。2,算法流程:1,把图用邻接矩阵G表示出来,如果从V