自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青竹梦

青色的竹子,紫色的梦

  • 博客(506)
  • 资源 (2)
  • 收藏
  • 关注

原创 slf4j配置与解析

logback.xml 当在jvm里运行jar包程序时,可以使用参数-Dlogback.configurationFile=xxx/logback.xml 指定lobback.xml的位置。 当使用Intellij IDEA等idea运行源码时,logback.xml文件位于/src/main/resource文件夹下

2016-10-22 14:40:56 754

原创 基于python开发pre-commit hook达到对git提交时间的控制

近期公司开发使用的版本控制工具由svn转向git,由于开发需求,经常会更改本地的时间,从而暴漏出一个原先使用svn不会出现的问题:commit的时间经常会不对。主要是因为git提交到远程服务器需要两部曲commit-push,而commit时使用的是本地的系统时间,这样就导致在修改本地时间之后,commit的时间就与正常时间对不上。现在希望开发一个脚本实现在提交的时候检查本地的时间是否正常,如果异常

2016-10-14 20:29:07 3272 3

原创 actor中!(tell)与forward的区别

! 的源码:def !(message: Any)(implicit sender: ActorRef = Actor.noSender): Unittell 的源码:final def tell(msg: Any, sender: ActorRef): Unit = this.!(msg)(sender)forward 的源码:def forward(message: Any

2015-03-14 11:37:19 4799

原创 scala下使用akka计算pi

Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。它已经成功运用在电信行业。系统几乎不会宕机(高可用性 99.9999999 % 一年只有 31 ms 宕机。用akka计算pi,计算公式:这样,我们把这个公式每连续的elements个分成一段,一共分成message段。然后开worker个acto

2015-03-12 21:48:36 3834

原创 bug修复日记---------玩家信息被重复写入数据库

结构介绍:        当客户端下线的时候,客户端会发一个消息给服务端,告诉服务端,我要下线,接着,客户端就会执行下线的函数        下线函数里会执行让服务端往数据库里写客户端的数据的函数并且把这个客户端从session列表里删除。        当服务端接受到客户端想要下线的意愿的时候,也会执行下线函数。        这样做的目的是为了防止客户端意外下线,导致客户端无法

2015-02-06 18:13:56 949

原创 bug修复日记------玩家第一次登陆的信息没有存储

结构介绍:最近在写游戏中社交相关的逻辑处理。整体思路架构如下:当玩家登录游戏,去数据库中查找有没有玩家的信息,如果有,那么就取出来,放在内存中,如果没有,就新建一个玩家信息。当玩家登出游戏的时候,把玩家的信息从内存中写入数据库中现场日记:今天在做单元测试的时候,发现一个bug,当玩家第一次登录游戏,然后登出之后,玩家的信息竟然没有存到数据库里。当玩家第二次登录的时候,再登出

2015-02-04 20:36:21 819

原创 scala版本的梅森旋转随机数算法

package xzxzimport scala.annotation.tailrecclass MersenneTwister(seed: Int) { private val SIZE: Int = 624 private val PERIOD: Int = 397 private val DIFF: Int = SIZE - PERIOD private de

2015-01-01 20:31:20 2024

原创 c#中文字符串与byte数组互相转化

因为中文字符串一个字符占两个字节,所以不能用正常的方式与byte之间进行互相转化中文字符串转成byte[]byte[] ping = Encoding.UTF8.GetBytes("你的密码是什么?");byte[]转化成中文字符串:string str = Encoding.UTF8.GetString(ping);

2014-12-25 11:47:25 25361

原创 scala-简单的模式匹配

csvMap.get(row) match { case Some(y:Map[String, String]) => y.get(list) case None => None }csvMap的数据类型是:Map[String, Map[String, String]]现在我想实现通过row和list关键字,提取出来对应的String。我首先使

2014-12-16 15:30:43 906

原创 scala-尾递归,Array.newbuilder,二维数组

尾递归:如果一个函数为内置函数并且是尾递归的方式,可以在函数前面添加@tailrec。相当于告诉编译器我这个函数是尾递归函数,然后编译器会对这个函数进行一些操作,把递归化解出来。Array.newBuilder创建一个不定长的数组,然后依次往数组里面加数,最后封起来,就可以使用Array.newBuilder. val A = Array.newBuilder[Int

2014-12-16 14:12:30 2471

原创 scala-第七章-打印9*9乘法口诀表

class multitable{ def makeRowSeq(row: Int) = for(col <- 1 to 10) yield { val prod = (row * col).toString;//prod=行号*列号 val padding = " " * (4 - prod.length);//添加padding个空格 padding + pr

2014-12-14 22:36:25 2200

原创 scala-第六章-Rational

涉及到的知识点:检查先决条件。函数重载。操作符重载。控制台输入。私有函数。隐式转换。import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamRe

2014-12-14 21:23:31 1929

原创 学习scala-hello-world!

object cfa { def main(args: Array[String]){ println("Hello,world!"); }}很简单的hello,world!

2014-12-07 18:13:58 728

原创 hdu-5015-233 Matrix-矩阵

很显然矩阵的第一列为:0a[1]a[2]a[3]a[4]我们转化一下,转化为23a[1]a[2]a[3]a[4]3那么由第一列转移到第二列则为23*10+3a[1]+23*10+3a[2]+a[1]+23*10+3a[3]+a[2]+a[1]+23*10+3a[4]+a[3]+a[2]+a[1]+23*10+33很显然

2014-09-17 15:54:51 3142

原创 hdu-5009-Paint Pearls-dp

由题意我们可以知道,花费最多为n。所以单次最多涂掉sqrt(n)种颜色。dp[i]:涂到第i个位置,之前的花费最少为多少。biao[i][j]:在第i个位置,往前涂j-1种颜色,涂到哪个位置。vis[i]:i颜色最后出现的位置,不存在等于-1。我们先离散化颜色。然后很显然转移方程:dp[i]=min(dp[i],dp[biao[i][j]]+(j+1)*(j+1));

2014-09-17 15:48:44 1976

原创 Codeforces Round #266 (Div. 2)-C,D

C - Number of Ways直接暴力从前往后寻找,如果找到1/3sum的位置,那么标记++。找到2/3的位置,总数加上标记数。#include#include#include#include#include#include#include#include#include#include#pragma comment(linker, "/STACK:1024000

2014-09-17 15:44:10 1506

原创 BestCoder Round #7-A,B,C

A:Little Pony and Permutation直接暴力搜索,复杂度O(n)#include#include#include#include#include#include#include#include#include#include#pragma comment(linker, "/STACK:1024000000,1024000000")using n

2014-09-03 16:08:49 1035

原创 Codeforces Round #263 (Div. 1)-A,B,C

A:这道题目还是很简单的,做过很多遍了,类似于切割木板的问题。把所有的数放在一个优先队列里,弹出两个最大的,然后合并,把结果放进去。依次进行。#include #include#include#include#include#include#include#includeusing namespace std;#define LL __int64#define IN

2014-08-27 11:17:41 1326 2

原创 zoj-3802-Easy 2048 Again

简单的dp。dp[i][j]:在第i位置,递减的状态为j,所获得的最大利润。枚举状态,如果加进来的数x比状态的最小的要大,那么直接状态变为x。如果x比最小的要小,那么状态为j+x。如果x等于最小的,那么依次加和,直至最小的比x大。#include #include#include#include#include#include#include#includeus

2014-08-26 10:59:40 1487

原创 hdu-4976-A simple greedy problem.

这个题目很不错首先贪心如

2014-08-23 14:36:53 1731

原创 Codeforces Round #262 (Div. 2)-A,B,C,D

A. Vasya and Socks水题就不用多说了,直接暴力枚举就完事了。#include #include#include#include#include#include#includeusing namespace std;#define LL __int64int main(){ int n,k; while(~scanf("%d%d",&n,&

2014-08-22 14:25:58 1122

原创 2014多校联合-第八场

1001:2048很明显,一开始看错题了。。。sad这题目我感觉挺卡时间的。。。dp[i][j]:在选择2^i的时候,选择的和为j*2^i到(j+1)*2^i-1时候的情况。#include #include#include#include#include#include#include#includeusing namespace std;#define LL

2014-08-20 15:22:06 1205

原创 2014多校联合-第七场

1005: ( Stupid Tower Defense ) 由题意我们很明显可以知道,红色的塔放在最后面是最优的。假如前i个塔,放j个绿塔,i-j个蓝塔。那么无论前i个塔的顺序怎么放,对后面的塔造成的影响是完全相同的。dp[i][j]:前i个塔,放j个绿塔,能获得的最大价值。dp[i][j]=max(dp[i-1][j-1]+当前塔放绿塔获得的能量值,dp[i-1][j]+当前塔

2014-08-14 10:32:04 839

原创 hdu-4933-Miaomiao's Function(BC#4 1003)

有的时候真是无力吐槽。。。G++ AC,C++ WA。这是什么心态。。。这道题目耗费了半个小时写代码,却用了两天debug()........dp[i][j][k]:i为0||1,当i=0时代表L,i=1时代表R第i状态下,数字j出现的次数为10^k次有多少种情况。然后把i为1的剪掉i为0的。然后算出最终的answer数组。然后根据answer数组算出最后的f,这里有一

2014-08-12 09:58:47 1243

原创 fzu-1607-Greedy division

做一个类似与素数筛之类的预处理,然后就OK了。。

2014-08-11 16:00:35 725

原创 fzu-1753 Another Easy Problem-快速求N!中有多少个p

就是算出来每一个C(N,M)是由哪些数乘来的就好。。。。#include #include#include#include#include#include#include#includeusing namespace std;#define LL long long#define lcm(a,b) (a*b/gcd(a,b))//O(n)求素数,1-

2014-08-09 19:39:31 1350

原创 hdu-2814-Interesting Fibonacci-斐波那契循环节

哇塞,我竟然2A了。。。。

2014-08-09 15:49:20 1081

原创 FZU-1493-ElGamal数字签名-A^X=B(%C)求x

求A^x=B(%C)x = i * m + j ( 0

2014-08-08 10:55:56 1280

原创 2014多校联合-第六场

最近这两场好无奈啊。。。今天这场最后30分钟敲1001,压力倍增,虽然思路比较明确,但是代码打起来不怎么容易。但是还是好在25分钟左右debug结束。提交wa,再提交,依然WA.......最后5分钟,还是没有AC掉。一开始以为是精度问题,后来才sb的发现原来数组开小了。在压力环境下保证代码的效率和质量真不是一件容易的事情。不过数组开小了,真是不可原谅。1001:Map题目

2014-08-07 20:29:45 975

原创 2014多校联合-第五场

1001:Inversion模版题,求逆序数对。有多少逆序数对,就可以剪掉多少。1003:Least common multiple对于每一个子集,lcm为2的a的最大值次方*3的b的最大值次方。所以我们只需要求出以某个b为b的最大值的时候,a的最大值的分布情况即可。我们先把b从小到大排序。对于某一个b,我门只需要求出之前出现过的a比当前a小的数量为x;那么就可知对于这

2014-08-06 12:48:22 1243

原创 poj-2115-C Looooops-扩展欧几里德

题目大意:给你A,B,C,K,让你求出一个

2014-08-04 16:53:21 775

原创 2014多校联合-第三场

1002:Redraw Beautiful Drawings最大流。。。。用sap+gap优化的模版过的。。。1. 源点 -> 每一行对应的点,流量限制为该行的和2. 每一行对应的点 -> 每一列对应的点,流量限制为 K3. 每一列对应的点 -> 汇点,流量限制为该列的和跑一遍最大流。如果流量小于总权值和,那么说明impossible。如果等于:构建残图网络,如果残

2014-07-30 21:15:05 1061

原创 lightoj-1010-Knights in Chessboard

题意:给你一个n*m的棋盘,问你棋盘上最多放多少个马,使得任意两个马都不会互相攻击。做法:对于棋盘,我们会发现,如果我们只把马放在白色的方格内,则任意两个马都不会互相攻击。这样我们有了第一种放法,全放在白格内或者全放在黑格内。但是有一些特殊情况。假如n=min(n,m),m=max(n,m);如果n=1,那么我们可以在棋盘上全放上棋子。如果n=2,那么我们可以一次把

2014-07-29 10:29:01 1976

原创 Codeforces Round #257 (Div. 1)-A,B,C

A:Jzzhu and Chocolate直接横切或者B:Jzzhu and CitiesC:Jzzhu and Apples

2014-07-26 19:30:47 676

原创 Codeforces Round #258 (Div. 2)-(A,B,C,D,E)

A:Game With Sticks水题。。。每次操作,都会拿走一个横行,一个竖行。所以一共会操作min(横行,竖行)次。#include#include#include#include#include#include#include#include#pragma comment(linker, "/STACK:1024000000,1024000000")using

2014-07-25 14:39:48 1831 1

原创 Codeforces Round #FF (Div. 1)-A,B,C

A:DZY Loves Sequences一开始看错题了。。sad。题目很简单,做法也很简单。DP一下就好了。dp[i][0]:到当前位置,没有任何数改变,得到的长度。dp[i][1]:到当前位置,改变了一个数,得到的长度不过需要正向求一遍,然后反向求一遍。#include#include#include#include#includeusing namespac

2014-07-24 20:33:56 1204

原创 2014多校联合第一场

1001:Couple doubi暴力打表找规律可知,对于任意的p。(1^i+2^i+...+(p-1)^i)%p={    非0     ,i%(p-1)==0 0        ,  i%(p-1)!=0}所以,结果就很显然了。#include #include#include#include#include#includeusing namespa

2014-07-23 09:51:23 1479

原创 hdu-4857-逃生-拓扑排序

拓扑排序。反向建边。为了序号小的尽量在前面,我们每次都取出入度为0的最大的点。#include#include#include#include#include#include#include#includeusing namespace std;struct list{ int u,v,w; int next;}edge[110000];int

2014-07-22 09:44:35 2258

原创 project euler-34

145是个奇怪的数字,因为1!+ 4! + 5! = 1 + 24 + 120 = 145。请求出能表示成其每位数的阶乘的和的所有数的和。请注意:由于1! = 1和2! = 2不是和,故它们并不包括在内。---------------------------------------------------原来0的阶乘是1。。。。我弱智了。。。粗略的运算一下数据范围,发现不会超过

2014-07-09 13:51:55 1027

原创 Codeforces Round #254 (Div. 1)-A,B

A:选取两点一边就可以了,很明显可以想出来。。。但是一开始看错题了,sad、、、、#include#include#include#include#include#includeusing namespace std;#define eps 1e-6#define zero(x) ((fabs(x)<eps?0:x))#define maxn 550int val[ma

2014-07-07 10:26:19 1076 2

zookeeper的设计原理及应用

该文件详细的介绍了zookeeper的设计原理,主要对选举和事务进行说明。还列举了一些应用场景,值得一看

2018-03-22

餐饮管理系统设计说明书

餐饮管理系统设计说明书,有详细的说明。 第一部分 引言 1.1 开发背景与现状 当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不开的自行车、汽车一样。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。

2014-12-08

空空如也

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

TA关注的人

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