AI工具人
提示词工程师

未分类

Spring Cache简明教程

@[TOC](Spring Cache简明教程) 引言   在我上一篇文章如何正确使用缓存来提升系统性能中,我从偏理论的视角介绍了Cache在性能优化中的必要性,在这篇文章中我们介绍Spring全家桶中和cache相关S...

赞(0)xindooxindoo阅读(137)去评论
如何使用ffmpeg制作透明背景的视频-XINDOO

如何使用ffmpeg制作透明背景的视频

  最近我们尝试在网页上叠加数字人讲解的功能,发现如果直接在网页上放一个矩形的数字人视频,效果会很差,首先是会遮挡很多画面的内容,其次就是不管使用任何任务背景,画面都和后面的网页不是很协调,如图所示:\   如果能去掉视频的背景,只展示人物...

赞(0)xindooxindoo阅读(221)去评论
如何在地图上寻找最密集点的位置?-XINDOO

如何在地图上寻找最密集点的位置?

  最近我在工作中遇到了一个小的需求点,大概是需要在地图上展示出一堆点中的点密度最密集的位置。最开始没想到好的方法,就使用了一个非常简单的策略——所有点的坐标求平均值,这个方法大部分的时候好用,因为大部分城市所有点位基本上都是围绕某个中心点...

赞(0)xindooxindoo阅读(176)去评论

职场中的基本归因错误和自利归因

  今天我想和大家分享关于两个心理学概念:基本归因错误和自利归因。这两个概念描述了我们在评价他人和自身时,可能出现的两种思维偏差。不论我们处于什么场合,或许在工作中做自评和他评,或者是在日常生活中对他人行为的解读,所有人...

赞(0)xindooxindoo阅读(227)去评论

使用javax.validation.constraints校验参数合法性

在Java开发过程中,数据校验是一项至关重要的任务。为了确保数据的完整性和正确性,我们通常需要对输入的数据进行一系列的校验。javax.validation.constraints提供了一套基于注解的校验框架,能够让我们简洁、高效地完成数据...

赞(0)xindooxindoo阅读(232)去评论

Java Optional:让你的代码更优雅

  在Java编程中,处理null值一直是一个棘手的问题。错误的null处理可能会导致许多难以调试的运行时异常。自Java 8引入Optional类以来,它为我们提供了一种更优雅、更安全的方式来处理可能为空的值。在Jav...

赞(0)xindooxindoo阅读(139)去评论
从CPU的视角看 多线程代码为什么那么难写!-XINDOO

从CPU的视角看 多线程代码为什么那么难写!

  当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问 “为什么代码测试环境运行好好的,一上线就不行了?”。 为了解决...

赞(0)xindooxindoo阅读(147)去评论
聊一聊过度设计!-XINDOO

聊一聊过度设计!

  新手程序员在做设计时,因为缺乏经验,很容易写出欠设计的代码,但有一些经验的程序员,尤其是在刚学习过设计模式之后,很容易写出过度设计的代码,而这种代码比新手程序员的代码更可怕,过度设计的代码不仅写出来时的成本很高,后续...

赞(0)xindooxindoo阅读(272)去评论
详解Redisson分布式限流的实现原理-XINDOO

详解Redisson分布式限流的实现原理

  我们目前在工作中遇到一个性能问题,我们有个定时任务需要处理大量的数据,为了提升吞吐量,所以部署了很多台机器,但这个任务在运行前需要从别的服务那拉取大量的数据,随着数据量的增大,如果同时多台机器并发拉取数据,会对下游服...

赞(0)xindooxindoo阅读(172)去评论
关于代码评审(CodeReview)那些不得不说的事儿-XINDOO

关于代码评审(CodeReview)那些不得不说的事儿

  在一个成熟的团队中,CodeReview是整个研发流程中不可或缺的一步,而那些即将走向成熟的团队可能对CodeReview有很多的误解和问题,也不清楚CodeReview该如何去做,本文笔者将结合自己的经验和知识,谈...

赞(1)xindooxindoo阅读(245)去评论
NAS打造自己的私有云存储-XINDOO

NAS打造自己的私有云存储

今天给大家分享下我的NAS搭建方案,去年双十一的时候入手了一套NAS设备,用了几个月时间,好用是好用,但确实还没发挥出其价值,目前它最大的功能就是给我的mac做time-machine备份,要是没这个备份的话,它就是家里另外一台积灰的电子设...

赞(0)xindooxindoo阅读(775)去评论
生日悖论是啥?我用它省了上百G的内存-XINDOO

生日悖论是啥?我用它省了上百G的内存

@ 生日悖论: 是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。例如在一个 30 人的小学班级中,存在两人生日相同的概率为 70%。对于 60 人的大班,这种概率要大于 99%。从引起逻辑矛盾的角度来说,生日悖论并不是一种 ...

赞(1)xindooxindoo阅读(4050)去评论
从0到1打造正则表达式执行引擎(二)-XINDOO

从0到1打造正则表达式执行引擎(二)

在上篇博客从0到1打造正则表达式执行引擎(一)中我们已经构建了一个可用的正则表达式引擎,相关源码见https://github.com/xindoo/regex,但上文中只是用到了NFA,NFA的引擎建图时间复杂度是O(n),但匹配一个长度...

赞(1)xindooxindoo阅读(4216)去评论
面试题精选:循环队列-XINDOO

面试题精选:循环队列

近期在面试找工作的小伙伴们很多啊,我周围就有好几个认识的朋友在找工作,于是我突发奇想在CSDN开了一个面试题精选的专栏,主要会关注一些算法题、设计题,次要会补充一些java面试相关的题(比较本博主是java出身)。其实在此之前已经写过一些相...

赞(1)xindooxindoo阅读(4546)去评论

http://regex.alf.nu/ 非标准答案

网站链接 这是一个练正则表达式的好文章,有几个题目都比较意思,以下是参考答案,如果有得分更高的答案请告诉我,大家交流一下。 Plain strings (207)               ...

赞(0)xindooxindoo阅读(4804)去评论

Ubuntu下python安装mysqldb(驱动)

最近在学习Django框架,需要使用到数据库,我使用的是mysql,跟java一样,需要安装驱动,这是驱动的下载网址http://sourceforge.net/projects/mysql-python/  要注意...

赞(0)xindooxindoo阅读(4771)去评论

hdoj 4712 Hamming Distance(靠人品过的)

我先解释一下汉明距离  以下来自百度百科 在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的字符不同的个数。换句话说,它就是将 一个字符串变换成另外一个字符串所需要替换的字符个数。...

赞(0)xindooxindoo阅读(5446)去评论

hdoj 4706 Children's Day

题目意思就是用a-z组成一个N,然后到z后又跳回a,输出宽从3到10的N。 #include <stdio.h> #include <string.h> char s[14][15...

赞(0)xindooxindoo阅读(4655)去评论

poj 1503 高精度加法

把输入的数加起来,输入0表示结束。 先看我Java代码,用BigINteger类很多东西都不需要考虑,比如前导0什么的,很方便。不过java效率低点,平均用时600ms,C/C++可以0ms过。 impo...

赞(0)xindooxindoo阅读(4754)去评论

网协简介之——网协名人堂

   网协自成立以来,涌现出大批优秀的学生,在学校,考研考入名校的是我们网协人,获得优秀就业岗位的是我们网协人,拿到高薪资的也是我们网协人。 &...

赞(0)xindooxindoo阅读(4744)去评论

hdoj 1753 (Java)

刚刚开始用Java,代码难免不够简洁。 import java.math.BigDecimal; import java.util.Scanner; public class Main { public ...

赞(0)xindooxindoo阅读(4666)去评论

poj 1205 :Water Treatment Plants (DP+高精度)

题意:有n个城市,它们由一个污水处理系统连接着,每个城市可以选择 1、将左边城市过来的污水和右边城市过来的污水连同本身的污水排到河里  >V< 2、将左边来的污水连同自己的...

赞(0)xindooxindoo阅读(4575)去评论

codeforces 340 A. The Wall

水水的一道题,只需要找xy的最小公倍数,然后找a b区间有多少个可以被xy的最小公倍数整除的数,就是答案。 //==============================================...

赞(0)xindooxindoo阅读(4693)去评论

poj 2155 Matrix (二维树状数组)

        这是楼教主出的二维线段树或者是二维树状数组的题,题意很简单,就是有个n*n的矩阵,初始值都是0,然后给你两个操作,一个是给你左上角和右下角的坐标,把这个长方形的区间所有元素反取反(0变1 1变0),另...

赞(0)xindooxindoo阅读(4651)去评论

python 的几种数据类型

列表  列表是 Python  的主力数据类型。当提到 “ 列表 ” 时,您脑海中可 能会闪现“ 必须进一步声明大小的数组,只能包含同一类对象 “  等想法。千万别这么想。列表比那要酷得...

赞(0)xindooxindoo阅读(4584)去评论

poj 1990 MooFest 树状数组

题意就是有N头牛,每头牛都有一个坐标和声调值(x, v),两头牛之间通讯要花费的能量是他们的距离乘以最大的一个音调值,现在要任意两头牛之间都相互通讯一次,求总共需要花费多少能量?       显然总共有n...

赞(0)xindooxindoo阅读(4680)去评论

布隆过滤器

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一...

赞(0)xindooxindoo阅读(4546)去评论

light oj 1159 - Batman LCS

学过简单动态规划的人应该对最长公共子序列的问题很熟悉了,这道题只不过多加了一条字符串变成三条了,还记得,只要把状态变成三维的即可。 //http://lightoj.com/volume_showprob...

赞(0)xindooxindoo阅读(4712)去评论

hdoj 3732 Ahui Writes Word (多重背包)

      之前在做背包的题目时看到了这道题,一看,大喜,这不是裸裸的01背包吗!!  然后华丽丽的超时,相信很多人也和我一样没有考虑到数据量的大小。       时隔多日,回过头...

赞(0)xindooxindoo阅读(4582)去评论
poj 2823 Sliding Window-XINDOO

poj 2823 Sliding Window

      在这里先说一道微软的面试题目———《队列中的最大值》       让你设计一个队列,是其求里面最大值的时间复杂度尽可能的低,但这个队列除了最大值外,就是一个普通的队列,该怎么进出还是怎么进出,...

赞(0)xindooxindoo阅读(4531)去评论

POJ 3264 RMQ

题意就是让你求区间最大和最小值的差值。 这题可以用线段树,也可以用Tarjan 的Sparse Table算法(参考刘汝佳训练指南197),这里我用了ST算法,还有要说明的是题目描述的数据范围是不准确的如...

赞(0)xindooxindoo阅读(4582)去评论

Codeforces Round #192 (Div. 2) (329A)C.Purification

题意:       在一个正常的点可以净化该行该列的所有细胞,判断是否可以净化所有的细胞,并且输出所选的点。 思路:     如果可以的话,一定会选n个点。 先判断每一行是否有正常...

赞(0)xindooxindoo阅读(4955)去评论

poj 1068 模拟

题目链接     大概题意就是告诉你有个n个小括号,每一个“)”左边有多少个“(”都告诉你了,然后让你求出每一对括号之间有多少对括号(包含自己本身)。 思路:        我先计...

赞(0)xindooxindoo阅读(4621)去评论

codeforces 327 B. Hungry Sequence

题目链接    题目就是让你输出n个数的序列,要保证该序列是递增的,并且第i个数的前面不能保护它的约数,我直接先对前100000的素数打表,然后输出前n个,so easy。 //cf 191 ...

赞(0)xindooxindoo阅读(4729)去评论

codeforces 327 A Ciel and Dancing

题目链接     给你一串只有0和1的数字,然后对某一区间的数翻转1次(0变1 1变0),只翻转一次而且不能不翻转,然后让你计算最多可能出现多少个1。     这里要注意很多细节 比如全为1,...

赞(0)xindooxindoo阅读(4692)去评论

codeforces 322 B Ciel and Flowers

题目链接 有红绿蓝三种颜色的画,每种拿三朵可以组成一束花,或者各拿一朵组成花束,告诉你每种花的数目,求出可能组成最多的花束。 如果你的代码过不了,考虑一下 8 8 9这种组合。  因为数据量很大,我的思想就是局部和总体采用不同的策略。 #i...

赞(0)xindooxindoo阅读(4727)去评论
codeforces 322 A Ciel and Dancing-XINDOO

codeforces 322 A Ciel and Dancing

题目链接 题意:       有n个男孩和m个女孩,他们要结对跳舞,每对要有一个女孩和一个男孩,而且其中一个要求之前没有和其他人结对,求出最大可以结多少对。 如图,一条...

赞(0)xindooxindoo阅读(4877)去评论

hdoj 2089 不要62

这题数据量相对比较小,可以暴力打表解决。不过我这里用数位dp  刚开始学数位dp,参考了别人的代码。 //2013-06-27-15.30 #include <stdio.h> #includ...

赞(0)xindooxindoo阅读(4631)去评论

poj 1164 放苹果

http://poj.org/problem?id=1664          这题可以用递归的方式做,想给第一个盘子里放上苹果从(0到m),然后给第二个放上,为了保证每次产生的放法是不同的,第二个里面放...

赞(0)xindooxindoo阅读(4798)去评论

寻找最大的K个数

给你n个数,让你找出其中最大的K个数。 解法1: 很多人上来就对其进行排序,选用不同的排序方法有不同的时间复杂度,这里我们假设使用了最快的快排,...

赞(0)xindooxindoo阅读(4511)去评论

省赛总结

         虽然结果比我们预期的好一些,拿了银牌(本来感觉只能拿铜牌),但感觉还是很弱。 我们只A了三个最水的题目。         开始确实有些失策,晨晨看了第一题(给出等边三角形的两个点,计算第...

赞(0)xindooxindoo阅读(4628)去评论

codeforces 285C - Building Permutation

题目链接 题目大意是有一个含n个数的数组,你可以通过+1或者-1的操作使得其中的数是1--n中的数,且没有重复的数。 既然是这样的题意,那么我就应该把原数组中的数尽量往他最接近1--n中的位置...

赞(0)xindooxindoo阅读(4649)去评论

codeforces 299 A. Ksusha and Array

题目链接 题目就是让你找出一个数组中可以将这个数组中所有数整除的数,很明显,如果存在,这个数肯定是最小的一个。 //cf 299A //2013-06-05-20.51 #include &l...

赞(0)xindooxindoo阅读(4655)去评论

codeforces 304 B. Calendar

题目链接 就是给你两个日期,让你求两个日期之间差多少天。 我先算出两个日期分别是公元多少天,然后相减得到结果。 //cf 304B //2013-06-05-18.38 #incl...

赞(0)xindooxindoo阅读(4600)去评论

codeforces 304A. Pythagorean Theorem II

题目链接 给你一个n,计算出1 ≤ a ≤ b ≤ c ≤ n.使得由abc构成的三角形满足勾股定理,c为斜边。 没有简单的方法,直接爆力,但是要注意,有些abc满足勾股定理的表达式,但不一定...

赞(0)xindooxindoo阅读(4726)去评论

codeforces 289 B. Polo the Penguin and Matrix

题目链接 题目意思是在n*m的矩阵中,你可以对矩阵中的每个数加或者减d,求最少的操作次数,使得矩阵中所有的元素相同。 虽然在condeforces中被分到了dp一类,但完全可以通过排序,暴力的...

赞(0)xindooxindoo阅读(4816)去评论

hdoj 4572 Bottles Arrangement

题目链接 虽然不知道怎么做,但是AC还是没有问题的。 大概就是循环n次,从m加到m-n/2 除了最后一个数,每个都加两次。 #include <stdio.h&g...

赞(0)xindooxindoo阅读(4547)去评论
poj 1159 Palindrome(最长公共子串)-XINDOO

poj 1159 Palindrome(最长公共子串)

大概题意就是求最少添加多少个字符可以把长度为N的字符串编程回文串。 则需要最少需要补充的字母数 = 原序列S的长度 —  S和S'的最长公共子串长度 S'为原串的逆串。 关于求最长...

赞(0)xindooxindoo阅读(4801)去评论

uva 10891 game of sum

题目链接 详细请参考刘汝佳《算法竞赛入门经典训练指南》 p67 //2013-05-01-20.40 //uva 10891 #include <stdio.h> #include...

赞(0)xindooxindoo阅读(4730)去评论

codeforces 302 B. Eugeny and Play List

题目链接 有n首歌,编号从1到n,每首歌播放时间为t,播放次数为c,n首歌按次序播放,有m个询问,输出第v分钟正在播放的歌曲编号。 很简单的二分查找,直接贴代码。 //2013-0...

赞(0)xindooxindoo阅读(4766)去评论

uva 10340 all in all

题目链接 输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串是。 代码: //2013-05-22-07.47 #include...

赞(0)xindooxindoo阅读(4676)去评论

UVA live 2678 - Subsequence

题目链接 题意:     有n个正整数组成的序列,给定一个整数s,求长度最短的连续序列,使他们的和大于或等于s。     关于这个题目,有多种的解法,如果枚举起点和终点,时间复杂度为...

赞(0)xindooxindoo阅读(4597)去评论

hdoj 4288coder & cf 85d Sum of Medians

题目链接    这两个题目是一样的,大概题意是有3个操作 add x, 在集合中加入x, del x 是删除x, sum 是求出由小到大排序后所有下标mod5等于3的数的和。    这个在hd...

赞(0)xindooxindoo阅读(4580)去评论
codeforces 272C. Dima and Staircase(线段树)-XINDOO

codeforces 272C. Dima and Staircase(线段树)

题目链接     题目很长,看加猜加谷歌翻译才看懂了题目。每级台阶的宽都是1,但高不同,并且告诉你了,然后给你m个箱子,长和宽都告诉你,把箱子靠左放,求箱子的底部有多高。    因...

赞(0)xindooxindoo阅读(4757)去评论

light oj 1255 - Substring Frequency (KMP)

题目链接 题意:       输入两个字符串,计算二串在一串中出现的次数。        裸裸的KMP,参考刘汝佳《算法竞赛入门经典训练指南》 P212 或数据结构。 ...

赞(0)xindooxindoo阅读(4676)去评论

poj 1185 炮兵阵地 (状态压缩dp)

题目链接      如果你是刚刚开始做状态压缩dp,我建议你先看看 poj 3254 Corn Fields 这是一道比这一题更简单,更容易入门的题目。     还有在代码中我用了一...

赞(1)xindooxindoo阅读(4692)去评论

light oj 1005 - Rooks(组合数学)

题目链接 题意:在一个n*n的棋盘上放m个车,使得各个车之间不相互攻击。有多少种放法? 组合数学解法    现在n行中选出m行,C(n,m),再在n列中选出m列随便放A...

赞(0)xindooxindoo阅读(4584)去评论

求最大连续子段和 的 dp算法

问题描述:      有n个数(以下都视为整数,浮点的也一样),每个数有正有负,现在要在n个数中选取相邻的一段,使其和最大,输出最大的和。 问题分析: &#...

赞(0)xindooxindoo阅读(4681)去评论

HDOJ搜索题辑录I(总计100题)

DFS(Depth First Search ) 一般是不用hash的,所以很多时候称之为”暴力”,也就是穷举所有情况,一般看几个我们OJ的dfs的版本的题目就可以模仿着做了,因为牵涉到递归,初学者学的时候...

赞(0)xindooxindoo阅读(4607)去评论

hdoj 3466 Proud Merchants(01背包)

题目链接      这并不是一题裸的01背包,它在简单到01背包上还加了一个限制条件Q,如果没有Q,这完全是一题裸01背包。      对于这个题目,我们只要加上排序对某些物品进行优先处理就好...

赞(0)xindooxindoo阅读(4624)去评论

hdoj 2191 背包

题目链接      虽然每件物品的数目并不是1,可能有多个,但我们完全可以把这个题目转化成01背包来解决。 可以把多件相同的物品合并成一件,马上就变01背包了。 #include <st...

赞(0)xindooxindoo阅读(4604)去评论

loj 1224 - DNA Prefix

题目链接 题目描述很简单  有n和DNA序列,求出他们中公共前缀长度和有相同公共前缀DNA序列乘积的最大值。 If we take the subset {ACGT} then the res...

赞(0)xindooxindoo阅读(4628)去评论