现在位置: 首页 > barat发表的所有文章
  • 06月
  • 12日
综合 ⁄ 共 1548字 评论关闭
ST算法 总的来说 ST算法是一种采用空间换时间的算法,最后达到的目的是将查询连续数的最小值和最大值的时间优化为O(1) 从查询连续数的最小值和最大值这个问题起步, 首先,我们考虑直接算,如果查询m-n,  那么我们需要比较至少n-m次,最后的时间复杂度为O(n)这样的情况肯定是有问题,尤其是数据上升到了上万 上百万,另外查询次数的增加也会出问题 然后我们可以考虑使用线段树,我们可以将线段树的每个节点定义为子树中的最小值和最大值,这样如果我们需要检查一段数据的最小值的时候只需要提取能完全包含这段线段的节点......
阅读全文
  • 06月
  • 08日
综合 ⁄ 共 791字 评论关闭
搞多线程的经常会遇到死锁的问题,学习操作系统的时候会讲到死锁相关的东西,我们用python直观的演示一下。 死锁的一个原因是互斥锁。假设银行系统中,用户a试图转账100块给用户b,与此同时用户b试图转账200块给用户a,则可能产生死锁。 2个线程互相等待对方的锁,互相占用着资源不释放。 #coding=utf-8 import time import threading class Account: def __init__(self, _id, balance, lock): self.id = _id self.balance = balance self.lock = lock def withdraw(self, amount): sel......
阅读全文
  • 05月
  • 22日
综合 ⁄ 共 1082字 评论关闭
solr分词器安装配置: <fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldtype> <fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" /> &l......
阅读全文
  • 03月
  • 26日
综合 ⁄ 共 1886字 评论关闭
http://www.douban.com/group/topic/32324858/ 其实不仅仅是手机,相机,电脑也有。。  但是我们现在说的是手机。 首先水货,不是垃圾不是山寨。水货只是没有交给国家税收等,直接从国外进口过来。 水货的渠道很简单,基本都是手机一起发,配件一起发,包装一起发。。然后到国内配好成一套。有少数的不拆散了发过来的,不过冒险太大,被海关查到,直接高额关税了。 所以,既然选择不要去考虑什么三码合一,五码合一,都是自欺欺人的。深圳印刷那个三码合一的标签,5毛钱就可以了啊 。。你还纠结那个干什么啊? 一般水货手机的版本......
阅读全文
  • 10月
  • 11日
综合 ⁄ 共 1176字 评论关闭
HDU 1824 Let's go home 题目链接 思路:把表达式拆分掉,一队拆成a^b & a^c, 然后建图跑2-sat即可 代码: #include <cstdio> #include <cstring> #include <cstdlib> #include <vector> #include <algorithm> using namespace std; const int MAXNODE = 3005; struct TwoSet { int n; vector<int> g[MAXNODE * 2]; bool mark[MAXNODE * 2]; int S[MAXNODE * 2], sn; void init(int tot) { n = tot * 2; for (int i = 0; i < n; i += 2) { g[i].clear(); g[i^1......
阅读全文
  • 05月
  • 05日
综合 ⁄ 共 3206字 评论关闭
一、数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.BSWAP 交换32位寄存器里字节的顺序XCHG 交换字或字节.( 至少有一个操作数为寄......
阅读全文
  • 04月
  • 24日
综合 ⁄ 共 1129字 评论关闭
Description Input Output Sample Input 4 4 5 1 2 3 3 4 1 Sample Output -38.00 HINT 题解 一道很巧妙的dp。 要我们最小化sigma(xi*xj+yi*yj)。原式可化为:[(x1+x2+...+xn)^2-(x1^2+x2^2+...xn^2)+(y1+y2+...+yn)^2-(y1^2+y2^2+...+yn^2)]/2应为要最小化,x1^2+x2^2+...xn^2一定是取题目所给的那个“边界值”时最大,y1^2+y2^2+...+yn^2同理。此时就要求我们要得到绝对值最小的x1+x2+...+xn与y1+y2+...+yn。一个简单的dp就可以了。 #include<cstdio> #include<cstring> #include<cstdlib> #......
阅读全文
  • 04月
  • 13日
综合 ⁄ 共 410字 评论关闭
Longest Valid Parentheses Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()", which has length = 2. Another example is ")()())", where the longest valid parentheses substring is "()()", which has length = 4. For loop:本题从左到右扫描一次(类似于排列组合里的楼梯)并计录当前段。扫描过程中左括号时刻不能比右括号少,否则重新计数。此外当左右括号相......
阅读全文
  • 04月
  • 08日
综合 ⁄ 共 1255字 评论关闭
SPRING MVC 的请求参数获取的几种方法 通过@PathVariabl注解获取路径中传递参数JAVA  @RequestMapping(value = "/{id}/{str}")  public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) {  System.out.println(id);  System.out.println(str);  return new ModelAndView("/helloWorld"); } 用@ModelAttribute注解获取POST请求的FORM表单数据JSP <form method="post" action="hao.do">  a: <input id="a" type="text" name="a"/>  b: <input id="b" type="text" name="b"/>  <......
阅读全文
  • 02月
  • 18日
综合 ⁄ 共 6940字 评论关闭
0. 写在前面         Version Redis2.2.2         Redis中可以支持主从结构,本文主要从master和slave的心跳机制出发(PING),分析redis的命令行交互。         在Redis中,server为每个连接建立一个redisClient数据对象,来描述对应的连接。其中,redisClient为命令交互设置了缓冲区。querybuf用于存储客户端送过来的命令,buf和reply是用于应答的缓冲。querybuf是在文件事件readQueryFromClient中被填充,每次填充的最大字节数默认为1024B。而应答缓冲区是由addReply()函数填充,并由文件事件sendReplyToClient中发送给客户端。具......
阅读全文
MAC 10.8系统Mountain Lion,一些从网上下载的.dmg文件,打不开,显示“打不开…,因为它来自身份不明的开发者”怎么办?如何解决? 答:首先不用担心,这是系统的新功能Gate Keeper 。 1.零时方法,按住CONTROL键的同时在程序图标上点鼠标左键选择“打开”。 2.一劳永逸的方法,在”系统偏好设置”中的“安全性与隐私/通用”mianb“允许从一下位置下载的应用程序”选“任何来源”选项。 转自:http://fboo.net/mac-10-8%E7%B3%BB%E7%BB%9Fmountain-lion%EF%BC%8C%E4%B8%80%E4%BA%9B%E4%BB%8E%E7%BD%91%E4%B8%8A%E4%B8%8B%E8%BD%BD%E7......
阅读全文
  • 02月
  • 08日
综合 ⁄ 共 4088字 评论关闭
  在实现绘图的过程中,显示的图形总是会闪烁,笔者曾经被这个问题折磨了好久,通过向高手请教,搜索 资料,问题基本解决,现将文档整理出来以供大家参考. 1.显示的图形为什么会闪烁  我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用 的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往 往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果 将背景刷设置成NULL,这样无论怎样重绘图形都不会......
阅读全文