现在位置: 首页 > Yfjxpdjk发表的所有文章
  • 04月
  • 18日
算法 ⁄ 共 1647字 评论关闭
  很典型的一道并查集,动态的判断距离足够近的点就归为一类。 #include <iostream> #include <vector> #include <cmath> using namespace std; class Node { public: Node() { x=y=0.0f; nodeID=-1; parent=NULL; rank=0; } Node(double xi,double yi,int id) { x=xi; y=yi; nodeID=id; parent=NULL; } Node(double xi,double yi) { x=xi; y=yi; parent=NULL; } double x,y; int nodeID; Node* parent; int rank; }; //并查集几个基本函数 void MakeSet(Node* node) { n......
阅读全文
  • 03月
  • 13日
编程语言 ⁄ 共 778字 评论关闭
Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2] 这时a[0]=0, a[1]=1, a[[2]=2,但引出一个问题,即如果数组a想定义为0到999怎么办,这时可能通过a = range(0, 1000)实现。或省略为a = range(1000).如果想定义1000长度的a,初始值全为0,则 a = [0 for x in range(0, 1000)]下面是二维数组的定义: 直接定义 a=[[1,1],[1,1]],这里定义了一个2*2的,且初始为0的二维数组。 间接定义 a=[[0 for x in range(10)] for y in range(10)],这里定义了10*10初始为0的二维数组。 后来,我在网上找到了更简单的字义二维数组......
阅读全文
  • 01月
  • 11日
综合 ⁄ 共 930字 评论关闭
ZooKeeper是一个高可用的分布式数据管理与系统协调框架。保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。 有人认为ZooKeeper之于分布式的意义正如同lex/yacc之于编译的意义。我们知道lex/yacc是一套强大的语法编译工具。使用lex/yacc可以很轻松的完成许多语法规则的编写。同样道理,Zookeeper作为一个分布式的数据管理和协调框架,没有它依然可以做分布式,但是有了它,你的分布式会更轻松。 本系列文章主要是从学习的角度对Zookeeper常用的场景进行实践,从而更好的理解和掌握Z......
阅读全文
  • 05月
  • 01日
综合 ⁄ 共 2055字 评论关闭
/* 题意: 刷墙, 以开始 有 n个节点,每个节点有一种颜色 ,m 次询问 m次 输入 a,l,r,z 如果 a=1 将 l到 r 刷为 z 颜色,如果 a=2 询问 l 到 r 有 多少个 和 z 相同的 节点 官方题解是: 分段哈希,自己一开始想写 一下 ,单写着写着 就 觉得很麻烦 ,各中判断条件。。。。。 后来改为 线段树 优化了下 ,就是加了 个 mi mx 判断 查询的颜色 是否在这里面。。。。。 */ #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #define MAX 100010 using namespace st......
阅读全文
  • 04月
  • 23日
综合 ⁄ 共 2224字 评论关闭
首先要看一些基础的算法书籍,把基本的算法搞懂。像递归、二分、宽搜、深搜、简单的图论、数论、简单的组合数学。重点根据书上的例题理解算法的实质、思想,能做到有一定领悟。这时需要做一些题目来巩固了。先可以做搜索题,搜索是博大精深的,诸多细节技巧都需要靠平时的积累领悟,根据自己练习的目的挑一些题练习。然后可以做简单的数学题,对组合数学、数论有个大致的概念。再然后可以做DP 类题目了。DP 也是非一日之功,练好DP 就像练好了内功,这时可以做一些DP 的基础题,体会一下,然后做一些提高题,如果不会做,一定要自......
阅读全文
  • 04月
  • 18日
综合 ⁄ 共 1584字 评论关闭
BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式  setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3  setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4  setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4  setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍     注释: 1: scale指的是你小数点后的位数。比如123.456则score就是3. score()就是BigDecimal类中的方法啊。 比如:BigDecimal b = new Big......
阅读全文
  • 01月
  • 26日
综合 ⁄ 共 2417字 评论关闭
装饰模式 又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。   装饰模式的类图如下: 在装饰模式中的角色有:   ●  抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。   ●  具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类。......
阅读全文
  • 01月
  • 17日
综合 ⁄ 共 932字 评论关闭
Java 内存类型分为: Heap Permanent Stack 其中Heap -Xms<size> set initial Java heap size -Xmx<size> set maximum Java heap size Heap分为: a.新生代(young generation):新生代又被分为两块: Eden Space和Survivor spaces新建的大部分对象存放在Eden Space b.旧生代(tenured generation又成old):存放新生代中经过多次垃圾回收仍然存活的对象,新建对象也 有可能存在,像大的数组对象,且成员中无引用外部对象 [Eden  ['i:dn]  n. 伊甸园, 乐园,tenured  ['tenjuə]终身占用 ] 其中的Permanent Generation (non......
阅读全文
  • 01月
  • 16日
综合 ⁄ 共 2923字 评论关闭
  1997年起我在印尼的雅加达工作,目睹了1998年5月份的暴动过程,通过我住的酒店的窗户,能看到当地华人被洗劫的情况。居我们大使馆的人员介绍有几百名华裔女性被当地人强奸、毒打和虐待,男人则被砍掉了脑袋!我坐的汽车也被抢劫者盘问过,问我们是不是华人,当我们用日语回答时,他们挥挥手就把我们放行了。在印尼富有的外侨并不是华裔,而是我们日侨,所以找替罪羊的说法是华人的自我安慰,当地人之所以选择华裔开刀- -因为组织发动袭击的人明白,不会有任何人为这些被害者作主。事实上他们的选择是正确的,至今也不知道谁是最......
阅读全文
  • 12月
  • 27日
综合 ⁄ 共 2972字 评论关闭
1. 关于本文    本文将以cronolog 1.6.2、apache 2.2.6为例,以CentOS 5为平台,讲述cronolog的安装和设置。2. 关于cronolog    cronolog是一个简单的过滤程序,它从标准输入设备读入日志记录,并把这些记录写入到输出文件集,输出文件的名字由一个文件名模板和当前的日期时间组成。cronolog通常与web服务器一起使用,例如apache,用来安全地对日志文件按日期、月或其它特定的区间进行分割。3. 安装cronolog3.1 下载最新稳定发行版(GA)的cronolog      访问cronolog网站http://cronolog.org/download/index.html下载最新稳定发行版......
阅读全文
  • 12月
  • 14日
综合 ⁄ 共 24050字 评论关闭
为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而......
阅读全文
  • 11月
  • 21日
综合 ⁄ 共 852字 评论关闭
一、找出N个连续的数种缺失的一个数 首先数组乱序,没有告诉连续的数的范围,所以先扫描一遍数组,找出min和max。 如果max-min+1 <= N,说明缺失的数据在两个端点。等于N说明缺失的数据在max和min之间。 下面介绍两个比较好的方法: 1、对数据进行求和,min~max的和为(max+min)N/2,算出数组中所有元素的和,相减就可以得到缺失的数据了。 PS:如果min和max的跨度比较大,也就是说求和可能会导致数据溢出,那么可以一边加一边减,即从min开始加到max,min-a[0]+min+1-a[1]....+max-a[n-1]; 2、将数组中的元素全部进行异或运......
阅读全文