THE___BEST
码龄10年
关注
提问 私信
  • 博客:54,886
    54,886
    总访问量
  • 85
    原创
  • 934,443
    排名
  • 10
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-04-20
博客简介:

THE___BEST的专栏

查看详细资料
个人成就
  • 获得21次点赞
  • 内容获得6次评论
  • 获得6次收藏
创作历程
  • 1篇
    2021年
  • 1篇
    2018年
  • 3篇
    2017年
  • 60篇
    2016年
  • 24篇
    2015年
成就勋章
TA的专栏
  • Kafka
    1篇
  • IDA*
    1篇
  • 思路
    11篇
  • 规律
    2篇
  • 贪心
    2篇
  • 二分
    4篇
  • 技巧
    15篇
  • 图论
    12篇
  • dp
    5篇
  • 数学
    7篇
  • 暴力
    6篇
  • 博弈
    2篇
  • 搜索
    6篇
  • 数据结构
    16篇
  • 杂项
    3篇
  • vim
    4篇
  • python
    7篇
  • 字符串
    4篇
  • 算法
    3篇
  • web
    2篇
兴趣领域 设置
  • 大数据
    hadoophivestormsparketl
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【Kafka】幂等实现

什么是幂等  幂等性是指,对于Producer生产的同一条消息,至多会被Kafka持久化一次,避免因网络重试等情况导致消息重复,例如用户下单,幂等性可以保证用户不会重复下单。  但是Kafka的幂等性只针对单会话,当一个Producer异常退出并重启后,两个会话重叠的消息是不保证幂等性的,例如,当一条消息发送完后客户端异常退出了,此时客户端并不知道这条消息已经被持久化了,那么在重启后,客户端可能仍然会重发这条消息,而Server将会认为这是一个新的生产者,此消息会被认为是一条全新的消息,此时将会出现重复
原创
发布博客 2021.11.20 ·
1634 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

windows下python+pycharm环境搭建

Python下载地址:https://www.python.org/ftp/python/3.5.4/python-3.5.4-amd64.exe 这里在C盘(哪个盘都行)根目录新建个文件夹Python35 装完之后在任意一个地方新建个txt文件,改后缀名为py,如果图标没有变成Python图标,那应该是后缀名被隐藏了然后后缀没有修改成功。 https://jingyan.bai...
原创
发布博客 2018.04.05 ·
2448 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

java中final与volatile-线程安全问题

在线程安全问题中final主要体现在安全发布问题上,在这里先讲一下什么事安全发布,在《java并发编程实践》一书中有讲,不过看起来挺难懂的…. public class Holder { private int n; public Holder(int n) { this.n = n; } public void assertSanity() {
原创
发布博客 2017.09.17 ·
4078 阅读 ·
2 点赞 ·
2 评论 ·
4 收藏

java多线程

有道面试题是这样考的:一个全局变量tally,两个线程并发执行(代码段都是ThreadProc),问两个线程都结束后,tally取值范围。 inttally = 0;//glable void ThreadProc() { for(int i = 1;i <= 50;i++) tally += 1; }答案是50-100,其实如果写个代码测
原创
发布博客 2017.06.11 ·
507 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring入门

做一下笔记一、配置过程 准备工作: 编辑器Intellij IDEA 。tomcat新建web application,然后在WEB-INF下新建lib文件夹,将需要的jar包导入并添加到工程。 然后在src下新建dispatcher-servlet.xml,名字随便,这个将会是spring的配置文件。 配置如下:<?xml version="1.0" encoding="UTF-8"
原创
发布博客 2017.06.07 ·
369 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

AVL树(平衡二叉树)

AVL树是排序二叉树的优化版,多了个调整操作,排序二叉树在某些情况下可能会变的跟链表差不多,比如连续插入多个非递减的数: 这就会使得各种操作非常费时间,几乎和链表一样。但是AVL树避免了这一点,保证了任意一个节点的左右儿子节点的高度差不会超过1,这就使得AVL树的复杂度很平衡(插入删除查找log(n))。 这里的调整操作是基于两个旋转操作来进行的,即左旋和右旋: 右旋: 左旋(实际上
原创
发布博客 2016.09.29 ·
506 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

AC自动机

问题:有多个单词,然后给出一个较长的字符串,问有多少个单词出现在这个字符串里面。这里要用到的就是AC自动机,AC自动机需要KMP和字典树知识,最好把这两样都弄懂了。 AC自动机其实就是字典树里面再加一个fail指针,这个fail指针的用处就是当当前字符无法被匹配时所要进行的转移,很想KMP算法里面的next数组,比如对于单词:qwert, wert, ert所构成的字典树如下:(世上最丑作图。。丑
原创
发布博客 2016.09.25 ·
629 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

KMP算法

KMP算法是一个快速的字符串匹配算法,比如要在字符串s中判断是否存在字符串t,最最简单的算法就是暴力的搜一遍,但是暴力的复杂度太高,最坏达到了O(n*m)(n是s的长度,m是t的长度)的复杂度,在n m都较大的情况下暴力算法很耗时间。而kmp算法可以大大优化复杂度,可以达到O(n+m)的复杂度。 KMP算法的核心是求出next数组,next数组就是在进行匹配某一位置的字符时如果匹配失败的话所进行的
原创
发布博客 2016.09.23 ·
371 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

归并排序

归并排序的思想是分治,即将大问题分解成小问题然后逐一解决,该算法先将所有数分成两个两个的很多份,然后两个两个的排序,然后将两个两个的合并成四个四个的,然后再排序,然后再合并成八个八个的再排序,那么如何将n个n(n=2,4,8,16…..)个的合并呢?原理就是例如对于四个四个的合并,由于之前两个四个数的序列是有序的,那么可以在O(n)的复杂度内将两个有序的序列合并成一个有序的序列,这就是归并排序的思想
原创
发布博客 2016.09.20 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

伸展树(splay树)

在各种各样的数据结构中,有很多树,可以查找第k大的数,比如划分树,查找区间最大值,比如线段树,但是绝大部分的树形数据结构都不能进行区间删除,但是有一种数据结构能进行区间删除,还能进行树的合并,它既是伸展树。 伸展树跟平衡树等类似,也是一颗有序的二叉树,也有左旋右旋操作,查找插入删除等操作的平均复杂度也是log(n)级别的,他的特点就是在进行在对某个数进行操作时会将这个数旋转到树根的地方,这一特点就
原创
发布博客 2016.09.19 ·
530 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

字典树(Tire树)

引:假如有n(n很大)个字符串,有q个查询,每个查询表示在这n个串里面是否存在这个要查询的串。一种方法就是直接暴力查找,但是复杂度很高,稍微优化一点的方法是先把n个串排序,然后二分查找,但复杂度仍可以优化,hash或者字典树都可以,这里介绍字典树。字典树是一颗树,每个节点都有多个子节点,子节点的数量取决于字符的范围,比如如果只有小写字母子节点就有26个就足够了,例如对于这六个字符串:ab, ada,
原创
发布博客 2016.08.30 ·
626 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

HDU 5861 Road(线段树)

很暴力的写法。直接怼了三颗线段树,怕出错 思路就是先区间更新出每条路最早使用时间跟最短使用时间,然后再把这个区间维护到另一颗线段树上用于求每一天的总花费,注意当这条路自始至终都没有用到的话要特判,不然会RE#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>using namespace std;
原创
发布博客 2016.08.18 ·
429 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POJ 3169(差分约束 + spfa模板)

题意:n头牛。按照编号排成一排,ml个第一种条件(u, v, w)表示编号为u的牛跟编号为v的牛的距离<=w,md个第二种条件(u, v, w)表示编号为u的牛跟编号为v的牛的距离>=w,如果这n头无法排成队伍,则输出-1,如果牛1和牛n的距离无限远,则输出-2,否则则输出牛1和牛n之间的最大距离。思路:差分约束,差分约束实际上就是求解多个不等式,比如 a - b <= 2 b - c <= 5
原创
发布博客 2016.07.29 ·
391 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 5754 博弈(威佐夫博弈)

这个题除了皇后的可以套用一下威佐夫博弈以外其他的都可以找规律找出来,主要为了学习一下威佐夫博弈, 威佐夫博弈:给两堆石子,每次都可以从其中一堆石子中取n个石子或者从两堆石子中都取n个石子,最后将石子取完的获胜。 解是根据: int k = abs(n - m); n = (int)((double)k * (1.0 + sqrt(5.0)) / 2.0
原创
发布博客 2016.07.26 ·
560 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CodeForces 165D Beard Graph(树链剖分)

树链剖分偏模板题。#include #include #include #include #include #include #include using namespace std;const int maxn = 100000 + 7;const int INF = ~0U >> 1;typedef long long LL;typedef pair P;st
原创
发布博客 2016.07.20 ·
530 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CodeForces 166B(凸包)

判断一下A所构成的凸包是不是跟总的凸包一样就可以了..#include #include #include #include #include #include #include #include using namespace std;const int INF = ~0U >> 1;const int maxn = 200000 + 7;const int
原创
发布博客 2016.07.14 ·
626 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

后缀数组小模板 POJ 2774

模板题,把俩串连起来求后缀数组,通过height数组解 当模板用咯#include #include #include #include #include const int maxn = 200000 + 7;int cmp(int *r, int a, int b, int l) { return (r[a] == r[b]) && (r[a + l] == r[b
原创
发布博客 2016.06.03 ·
413 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

快速乘法 Lucas定理

一个式子a*b 对于乘数b来说,可以写成二进制形式,比如1001101。由乘法分配律:a * b = a * (b1 + b2 + b3 + ……) 那么对于a * 53 = a * 110101(二进制) = a * (100000 + 10000 + 100 + 1) = a * (100000 * 1 + 10000 * 1 + 1000 * 0 + 100 * 1 + 10 * 0 +
原创
发布博客 2016.05.22 ·
437 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HDU 3487(伸展树模板)

再也不想写第二次。题意:给一个n一个q 表示一开始有n个数 接下来q个操作 CUT a b c表示把[a, b]剪切到c处,FILP a b 将[a, b]区间翻转。伸展树搞。 看的题解:点击打开链接代码挺好理解的感觉。#include #include #include #include #include #include #define value ch[ch[ro
原创
发布博客 2016.05.03 ·
450 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ZOJ 3195(LCA模板)

题意:给一个带权图 然后q个询问 每个询问有三个数x y z,求x y z这三个点连接起来需要多少距离。LCA 对于每个询问求出任意两个点对的LCA 加和 / 2。#include #include #include #include #include #include #include using namespace std;const int dx[] = {
原创
发布博客 2016.05.01 ·
449 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多