- 博客(834)
- 收藏
- 关注
原创 Redis队列和阻塞队列
普通的redis队列,为了实现业务,通常会使用while进行循环,这样的话没有消息时依旧会频繁的执行循环,造成cpu的空转,所以一般会在代码中增加sleep来解决该问题,但因此又会造成消息延迟问题。使用 BRPOP 这种阻塞式方式拉取消息时,还支持传入一个「超时时间」,如果设置为 0,则表示不设置超时,直到有新消息才返回,否则会在指定的超时时间后返回 NULL。redis队列提供了 “阻塞式” 拉取消息的命令:BRPOP / BLPOP,这里的 B 指的是阻塞(Block)。下面是某业务完整的消费者代码。
2026-04-04 05:07:56
30
原创 mysql之如何获知版本
请注意,如果你没有直接访问命令行客户端,你可能需要通过你使用的数据库管理工具(如 phpMyAdmin, Workbench 等)来获取版本信息。这将返回你安装的 MySQL 客户端的版本信息,通常客户端和服务器的版本是匹配的,但也可能不同,特别是在使用远程服务器或者当你的系统上安装了多个 MySQL 版本的情况下。你可以通过在 MySQL 命令行客户端执行简单的 SQL 查询来获取 MySQL 的版本信息。执行这个查询后,MySQL 会返回一个字符串,其中包含了 MySQL 服务器的版本号。
2026-04-04 02:07:55
16
原创 redis密码设置
当你设置完密码以后,你再重新查看密码会报错这个意思是要你重新启动redis服务,redis-server和redis-cli都要重新启动。这里你查看密码他会报错,因为你还没有输入密码接下来命令auth 你的密码就是登录,登录成功以后就可以操作了。因为每次都是重启服务,你没有指定配置文件就会按默认配置文件加载,所以下一次是没有密码了。1.重启服务,先启动server服务,一定要在指定配置文件不然不会生效。当我们重新启动以后当你查看密码时你会发现你自己设置的密码没有了。2.然后启动cli服务。
2026-03-23 11:12:22
36
原创 MySQL--》如何在MySQL中打造高效优化索引
2)select_type:表示select的类型,常见的取值有simple(简单表,即不使用表连接或者子查询)、primary(主查询,即外层的查询)、union(union中的第二个或者后面的查询语句)、subquery(select/where之后包含了子查询)等。(有序),在数据之外数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
2026-03-23 03:16:30
363
原创 MySQL Workbench 超详细安装教程(一步一图解,保姆级安装)
MySQL Workbench 是一款强大的数据库设计和管理工具,它提供了图形化界面,使得数据库的设计、管理、查询等操作变得更加直观和便捷。本文将详细介绍如何在 Windows 系统上安装 MySQL Workbench。相信读者看这篇文章前一定安装了MySQL数据库吧,还没安装的话,请先去安装一下MySQL哦!
2026-03-17 03:20:26
265
原创 DeepSeek API 调用 - Spring Boot 实现
Spring Boot 实现提供了一个健壮、可扩展的 DeepSeek API 调用方案,利用响应式编程提供高效的流式对话体验。
2026-03-17 00:41:44
202
原创 智力大冲浪(信息学奥赛一本通-T1426)
本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。接下来主持人宣布了比赛规则: 首先,比赛时间分为n个时段(n≤500),它又给出了很多小游戏,每个小游戏都必须在规定期限ti前完成(1≤ti≤n)。如果一个游戏没能在规定期限前完成,则要从奖励费m元中扣去一部分钱wi,wi为自然数,不同的游戏扣去的钱是不一样的。当然,每个游戏本身都很简单,保证每个参赛者都能在一个时段内完成,而且都必须从整时段开始。第四行有n个数,分别表示游戏1~n不能在规定期限前完成的扣款数。
2025-08-20 14:56:12
354
原创 加工生产调度(信息学奥赛一本通-T1425)
某工厂收到了 n 个产品的订单,这 n 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。某个产品 i 在 A,B 两车间加工的时间分别为Ai,Bi。怎样安排这 n 个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在 A,B 两车间加工完毕的时间。接下来 n 个数据是表示这 n 个产品在 A 车间加工各自所要的时间;最后的 n 个数据是表示这 n 个产品在 B 车间加工各自所要的时间。
2025-08-20 14:55:42
270
原创 喷水装置(信息学奥赛一本通-T1424)
长L 米,宽 WW 米的草坪里装有 n 个浇灌喷头。每个喷头都装在草坪中心线上(离两边各 W/2 米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。对每组测试数据输出一个数字,表示要浇灌整块草坪所需喷头数目的最小值。如果所有喷头都打开也不能浇灌整块草坪,则输出 -1。接下来的 n 行,每行包含两个整数,给出一个喷头的位置和浇灌半径(上面的示意图是样例输入第一组数据所描述的情况)。请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头?每组数据的第一行是整数 n、L 和 W;
2025-08-20 14:55:00
454
原创 种树(信息学奥赛一本通-T1423)
现在我们国家开展新农村建设,农村的住房建设纳入了统一规划,统一建设,政府要求每一住户门口种些树。每个居民房子门前被指定了三个号码B,E,T。当然,B≤E,居民必须记住在指定区不能种多于区域地块数的树,所以T≤E-B+l。你的任务是求出能满足所有要求的最少的树的数量,尽量较少政府的支出。第一行包含数据N,M,区域的个数(0<N≤30000),房子的数目(0<m≤5000);下面的m行描述居民们的需要:B E T,0<B≤E≤30000,T≤E-B+1。输出一个数,为满足所有居民的要求,所需要种树的最少数量。
2025-08-20 14:54:29
264
原创 活动安排(信息学奥赛一本通-T1422)
设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi。如果选择了活动i,则它在半开时间区间[si,fi)内占用资源。若区间[si,fi)与区间[sj,fj)不相交,则称活动ii与活动jj是相容的。也就是说,当si≥fj或sj≥fi时,活动i与活动j相容。第1行一个整数n(n≤1000),接下来n行,每行两个整数si和fi。
2025-08-20 14:53:54
233
原创 确定进制(信息学奥赛一本通-T1413)
例如:p=11, q=11, r=121.则有11(3)*11(3)=121(3)因为 11(3)=1*31+1*30=4(10)和121(3)=1*32+2*31+1*30=16(10)。对于进制 10,同样有11(10)* 11(10)= 121(10)。即 6(13)*9(13)=42(13),而 42(13)=4*131+2*130=54(10)。你的任务是写一段程序,读入三个整数 p、q和 r,然后确定一个进制 B(2≤B≤40) 使得 p*q=r。一个整数:即使得p*q=r成立的最小的B。
2025-08-20 14:44:27
314
原创 二进制分类(信息学奥赛一本通-T1412)
若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。程序要求:求出1~1000之中(包括1与1000),全部A、B两类数的个数。一行,包含两个整数,分别是A类数和B类数的个数,中间用单个空格隔开。
2025-08-20 14:43:55
220
原创 区间内的真素数(信息学奥赛一本通-T1411)
按从小到大输出M和N之间(包括M和N)的真素数,逗号间隔。如果之间没有真素数,则输出No。例如,11,13均为真素数,因为11的反序还是为11,13的反序为31也为素数。真素数的定义:如果一个正整数P为素数,且其反序也为素数,那么P就为真素数。输入两个数M和N,空格间隔,1≤M≤N≤100000。找出正整数M和N之间(N不小于M)的所有真素数。
2025-08-20 14:43:21
268
原创 最大质因子序列(信息学奥赛一本通-T1410)
任意输入两个正整数m,n(1<m<n≤5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。一行,包含两个正整数m和n,其间以单个空格间隔。一行,每个整数的最大质因子,以逗号间隔。
2025-08-20 14:41:56
236
原创 判决素数个数(信息学奥赛一本通-T1409)
输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。输出一个整数,表示X,Y之间的素数个数(包括X和Y)。两个整数X和Y(1 ≤ X,Y ≤ 105)。
2025-08-20 14:41:25
192
原创 素数回文数的个数(信息学奥赛一本通-T1408)
求11到n之间(包括n),既是素数又是回文数的整数有多少个。一个大于11小于1000的整数n。11到n之间的素数回文数个数。
2025-08-20 14:40:54
237
原创 笨小猴(信息学奥赛一本通-T1407)
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。
2025-08-20 14:40:20
325
原创 单词替换(信息学奥赛一本通-T1406)
输入一个字符串,以回车结束(字符串长度≤200)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输出只有 1 行,将s中所有单词a替换成b之后的字符串。第3行是a将被替换的单词b(长度 ≤ 100)。第2行是待替换的单词a(长度 ≤ 100);s,a,b最前面和最后面都没有空格。第1行是包含多个单词的字符串 s;
2025-08-20 14:39:49
507
原创 我家的门牌号(信息学奥赛一本通-T1404)
若其余各家的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。
2025-08-20 14:39:18
405
原创 质数的和与积(信息学奥赛一本通-T1405)
一个不大于10000的正整数S,为两个质数的和。一个整数,为两个质数的最大乘积。两个质数的和是S,它们的积最大是多少?
2025-08-20 14:37:57
356
原创 素数对(信息学奥赛一本通-T1403)
所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出empty。两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。一个正整数n(1≤n≤10000)。
2025-08-15 17:54:27
261
原创 Vigenère密码(信息学奥赛一本通-T1402)
称加密后的信息为密文,用C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为k。对于100%的数据,输入的密钥的长度不超过100,输入的密文的长度不超过1000,且都仅包含英文字母。例如,明文M=Helloworld,密钥k=abc时,密文C=Hfnlpyosnd。第二行为一个字符串,表示经加密后的密文,长度不超过1000,其中仅包含大小写字母。第一行为一个字符串,表示密钥k,长度不超过100,其中仅包含大小写字母。2.当明文M的长度大于密钥k的长度时,将密钥k重复使用。
2025-08-15 17:53:56
458
原创 机器翻译(信息学奥赛一本通-T1401)
这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。
2025-08-15 17:53:05
363
原创 统计单词数(信息学奥赛一本通-T1400)
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
2025-08-15 17:52:34
204
原创 甲流病人初筛(信息学奥赛一本通-T1399)
目前正是甲流盛行时期,为了更好地进行分流治疗,医院在挂号时要求对病人的体温和咳嗽情况进行检查,对于体温超过37.5度(含等于37.5度)并且咳嗽的病人初步判定为甲流病人(初筛)。现需要统计某天前来挂号就诊的病人中有多少人被初筛为甲流病人。其后有n行,每行是病人的信息,包括三个信息:姓名(字符串,不含空格,最多8个字符)、体温(float)、是否咳嗽(整数,1表示咳嗽,0表示不咳嗽)。按输入顺序依次输出所有被筛选为甲流的病人的姓名,每个名字占一行。之后在输出一行,表示被筛选为甲流的病人数量。
2025-08-15 17:51:58
258
原创 短信计费(信息学奥赛一本通-T1398)
用手机发短信,一条短信资费为0.1元,但限定一条短信的内容在70个字以内(包括70个字)。如果你一次所发送的短信超过了70个字,则会按照每70个字一条短信的限制把它分割成多条短信发送。假设已经知道你当月所发送的短信的字数,试统计一下你当月短信的总资费。第一行是整数n,表示当月发送短信的总次数,接着n行每行一个整数,表示每次短信的字数。输出一行,当月短信总资费,单位为元,精确到小数点后1位。
2025-08-15 17:51:25
295
原创 简单算术表达式求值(信息学奥赛一本通-T1397)
整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。算术表达式的格式为(运算符前后可能有空格):运算数 运算符 运算数。
2025-08-15 17:50:53
167
原创 病毒(信息学奥赛一本通-T1396)
有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改变顺序,也不会增加和删除字母。现在怎么恢复原来的文档呢!小y很聪明,他在其他没有感染病毒的机器上,生成了一个由若干单词构成的字典,字典中的单词是按照字母顺序排列的,他把这个文件拷贝到自己的机器里,故意让它感染上病毒,他想利用这个字典文件原来的有序性,找到病毒替换字母的规律,再用来恢复其它文档。现在你的任务是:告诉你被病毒感染了的字典,要你恢复一个字母串。
2025-08-15 17:48:59
210
原创 烦人的幻灯片(信息学奥赛一本通-T1395)
李教授将于今天下午作一次非常重要的演讲。不幸的事他不是一个非常爱整洁的人,他把自己演讲要用的幻灯片随便堆在了一起。因此,演讲之前他不得不去整理这些幻灯片。作为一个讲求效率的学者,他希望尽可能简单地完成它。教授这次演讲一共要用n张幻灯片(n≤26),这n张幻灯片按照演讲要使用的顺序已经用数字1~n编了号。因为幻灯片是透明的,所以我们不能一下子看清每一个数字所对应的幻灯片。现在我们用大写字母A,B,C……再次把幻灯片依次编号。
2025-08-15 17:48:27
159
原创 连接格点(信息学奥赛一本通-T1394)
有一个M行N列的点阵,相邻两点可以相连。一条纵向的连线花费一个单位,一条横向的连线花费两个单位。某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通。
2025-08-15 17:47:43
168
原创 联络员(信息学奥赛一本通-T1393)
Tyvj已经一岁了,网站也由最初的几个用户增加到了上万个用户,随着Tyvj网站的逐步壮大,管理员的数目也越来越多,现在你身为Tyvj管理层的联络员,希望你找到一些通信渠道,使得管理员两两都可以联络(直接或者是间接都可以)。Tyvj是一个公益性的网站,没有过多的利润,所以你要尽可能的使费用少才可以。目前你已经知道,Tyvj的通信渠道分为两大类,一类是必选通信渠道,无论价格多少,你都需要把所有的都选择上;还有一类是选择性的通信渠道,你可以从中挑选一些作为最终管理员联络的通信渠道。
2025-08-15 17:47:12
279
原创 繁忙的都市(信息学奥赛一本通-T1392)
城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望进行改造的道路越少越好,于是他提出下面的要求:1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。2.在满足要求1的情况下,改造的道路尽量少。
2025-08-15 17:46:36
155
原创 局域网(信息学奥赛一本通-T1391)
某个局域网内有n(n≤100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象。因为连接计算机的网线本身不同,所以有一些连线不是很畅通,我们用f(i,j)表示i,j之间连接的畅通程度(f(i,j)≤1000),f(i,j)值越小表示i,j之间连接越通畅,f(i,j)为0表示i,j之间无网线连接。现在我们需要解决回路问题,我们将除去一些连线,使得网络中没有回路,并且被除去网线的Σf(i,j)最大,请求出这个最大值。
2025-08-15 17:46:00
258
原创 食物链(信息学奥赛一本通-T1390)
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y",表示X和Y是同类。第二种说法是"2 X Y",表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。
2025-08-15 17:45:06
162
原创 亲戚(信息学奥赛一本通-T1389)
若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的某个人所在家族的人数。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。
2025-08-15 17:44:36
132
原创 搭配购买(信息学奥赛一本通-T1387)
Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有n朵云,云朵被编号为1,2,…...,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。
2025-08-11 15:28:03
163
原创 打击犯罪(信息学奥赛一本通-T1386)
某个地区有n(n≤1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,犯罪集团的危险程度由集团内的犯罪团伙数量唯一确定,而与单个犯罪团伙的危险程度无关(该犯罪集团的危险程度为n)。现在当地警方希望花尽量少的时间(即打击掉尽量少的团伙),使得庞大的犯罪集团分离成若干个较小的集团,并且他们中最大的一个的危险程度不超过n/2。
2025-08-11 15:27:32
267
原创 团伙(信息学奥赛一本通-T1385)
在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足:1、我朋友的朋友是我的朋友;2、我敌人的敌人是我的朋友;所有是朋友的人组成一个团伙。告诉你关于这n个人的m条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?
2025-08-11 15:26:59
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅