- 博客(32)
- 收藏
- 关注
原创 k8s搭建kube-prometheus
kube-prometheus 是一个专为 Kubernetes 设计的开源监控解决方案,基于 Prometheus 生态构建,旨在简化集群监控组件的部署和管理。仓库地址:https://github.com/prometheus-operator/kube-prometheus/tree/main。
2025-03-20 00:31:44
1249
原创 ginchat:为原有消息表添加唯一id
由于原本是在单机下运行,且原本的消息id依赖与mysql的自增id然而这样的id有较大的缺点:1. 消息的条数会堆积很多,如果只由一张表来存储可能不够,所以后续也需要将消息表进行分表操作(待实现),这样使用自增id就会导致由重复id了。2.自增id的规律比较明显,不安全。3.使用mysql数据库自增id会影响数据库性能,当大量的消息来的时候需要进行大量的自增id操作,由于mysql操作时会加锁,这样会影响性能。所以我决定将消息表改为全局唯一id。
2024-09-10 17:55:31
494
原创 go语言使用nginx开启多端口搭建集群
项目为B站上的IM即时通讯系统,课程内容比较简单,只实现了简单的CRUD,所以我自己决定添加一些东西到该项目上。希望提高这个系统的性能。原项目使用单机,所以我首先希望在这上面搭建一个集群。通过学习我使用的是nginx下面是nginx下载网址由于项目在windows上搭建,所以我下载了windows版本解压完后打开nginx.conf文件意思是通过8080端口监听http请求将请求负载均衡到8081和8082端口。默认使用轮询方式。
2024-09-10 15:44:02
426
原创 Codeforces Round #792 (Div. 1 + Div. 2) D
题意:给定一个长度为n的序列,你可以不选择k个数,但如果不选择这个数就会对后面选的每一个数伤害加1,问最终能选的最小的总和是多少。思路:首先我们知道这个k个数一定是会被全部选的,白给你的便宜干嘛不收,大不了把k个数都放最后面也能减少答案。接着,我们就可以开始选择k个数了。假定我们选择的数的位置为p1,p2,p3.....p(k-1),pk;则可以将答案分成k段第一段:a[1]+....+a[p1-1];第二段:a[p1+1]+...+a[p2-1]+(p2-p1-1)*1;第三段
2022-05-20 16:26:32
254
原创 数论分块一例题
因为一道题看别人代码看不懂而到处问大佬指路先给出题登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://ac.nowcoder.com/acm/contest/33540/G题意:如图所示,第i块的面积为i^2,price(i)如图所示,计算买n片田所需的钱总结:t=100,n=1e9,显然不能暴力,赛时的.
2022-05-16 16:22:45
294
原创 Codeforces Round #789 (Div. 2) C
写个题解气吐了,卡在b2,后面半小时看的c,应该比较适合我的口味www题意:给定一个全排列,要求你找到四个下标满足a,b,c,d满足pa<pc并且pb>pd;思路:首先我们可以思路变成连边,将数字小的连向数字大的,那我们对于任意两个位置b,c。我们要考虑什么它可以找到多少满足条件的a,d;对于b节点,我们应该在c的后面找有多少个小于它的点;对于c节点,我们应该在b的前面找有多少个小于它的点;于是我们可以用o(n^2)先处理出前缀和;然后在o(n^2)选择任意两个不
2022-05-09 01:15:19
372
原创 Educational Codeforces Round 127 (Rated for Div. 2)D(思维)
题意:给定一个长度为n的数组,求|ai-ai-1|,(i>=1&&i<=n),再给定一个x,可以将1-x这x个数插入到这个数组当中,问最后插入完求得的结果最小是多少。思路:一个比较考验思维的题,首先我们得观察出对于任意一个数字x,我们将其插入到a数组中会有什么影响,如果在这个数组中存在a[l]<=x<=a[r],或a[r]<=x<=a[l],那我们插入时这个数字将不会产生贡献。那最终答案序列中一定会出现1和x,所有我们可以将其考虑为只插入1和x.接
2022-05-05 16:36:10
240
原创 Codeforces Round #786 (Div. 3)(A-G)
第一次被hack有点难受,不过看到本来e题2400,变成570左右就好受多了(不是)A. Number Transformation题意:给定x,y,问是否存在a,b,使得x*b^a=y,输出任意a,b;思路:由于1<=x,y<=100,于是只需要暴力即可,暴力枚举b,a,由于b是在1-100,b如果为2,a最多也只能为7,于是复杂度为t*100*7,1<=t<=1e4,暴力即可代码:#include<bits/stdc++.h>using nam
2022-05-03 14:24:57
557
原创 树上dp(题单)有做到就加进来
1.牛客小白月赛45-E第一道接触的树上dp.题意:给定你一个n个节点的树,你需要在树上选取一个非空连通块,使其舒适度和最大。选择的边和点的舒适度都是舒适度。代码:void dfs(int now,int fa){ dp[now]=a[now]; for(int i=h[now];~i;i=nx[i]){ int to=e[i]; if(to==fa)continue; int w=value[i]; dfs(..
2022-04-25 22:22:01
216
原创 Codeforces Round #782 (Div. 2)(A-D)
搞心态了,第一题怎么交不了,害A. Red Versus Blue题意:给定n,r,b满足条件n=r+b且r>b,输出一个字符串又r个R和b个B,要求该字符串满足条件即连续的r或者b最少。思路:这道题一开始在那找怎么连续最好,后面发现r>b,那么我们只要用B当作隔板将r分成b+1段即可,且每一段R的个数是r/段数+1或者r/段数(因为出发会向下取整,我们得拿出除法mods剩余的r来一个一个加入到原段中。代码:#include<bits/stdc++.h>usi
2022-04-18 01:33:59
1027
2
原创 Codeforces Round #781 (Div. 2)(A-D)
A. GCD vs LCM题意:给定一个正整数n,你需要找到四个正整数a,b,c,d,使得 a+b+c+d=n并且gcd(a,b)=lcm(c,d)思路:一个小思维题,一开始看样例在那推每一位的公因子傻掉了,然后发现不就是只要a=n-3,bcd都为1不就满足条件了。代码:#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int n; c
2022-04-17 13:51:38
318
原创 Educational Codeforces Round 126 (Rated for Div. 2)(A-E)
A-Array Balancing题意:给定两个数组a,b,a数组第i个数可以和b数组的第i个数交换,最终求a1−a2|+|a2−a3|+⋯+|an−1−an||a1−a2|+|a2−a3|+⋯+|an−1−an| ++ |b1−b2|+|b2−b3|+⋯+|bn−1−bn||b1−b2|+|b2−b3|+⋯+|bn−1−bn|的最小值;总结:第一道就dp一开始不太敢写思路:对于数组a1 a2 a2....... anb1 b2 b3........bn当我们遍历到第i个数时,第i-
2022-04-10 13:35:48
1874
原创 cf-div 3 780
菜鸟补题A-Vasya and Coins题意:给定a个1和b个2,询问不能通过1和2组成的数的最小值;如1 1则输出4,最大只能组成3;4 0则输出5,最大只能组成4.思路:对于没有1的情况,我们发现永远无法组成1,即输出1.对于有1的情况,我们发现可以组成最大可以组成a+2*b,输出a+2*b+1.代码#include<bits/stdc++.h>#define ll long longusing namespace std;int main(){ in
2022-04-03 21:26:15
1780
原创 牛客寒假训练营4-删除子序列 (思维)
题意给出一个长度为n的字符串S和一个长度为m的不含重复字符的字符串T,每次你可以在S中删除一个等于T的子序列,最多可以删除多少次?输入ts表示有多少个样例;输出ts个答案思路对于字符串T中的每一个字符,我们要找到他前面的那一个字符,遍历字符串s时判断该字符的前一个字符的个数是否大于该字符,若大于则这个字符的个数可以加1,于是便可以O(n)求出答案。代码#include<bits/stdc++.h>using namespace std;int main(){ i
2022-02-27 20:39:49
160
原创 牛客寒假集训营-牛妹的数学难题 (逆元)
题意给定一个整数n,k,输入n个正整数a(0=<a<=2),求对于从i1=1开始向内层循环从i2=i1+1,i3=i2+1....ik=ik-1+1连续相乘的值,对结果取模,思路从这道题很容易看出给定a为0,1,2,对于a=0的情况与其他相乘仍为0,没有贡献,对于1的情况他不会使答案增加,只有对于2的情况能使答案增加。于是我们只需要算出n个数中有多少个1,多少个2,设num1为1的个数,num2为2的个数,于是答案为从num2中取i个2*num1中取k-i个1*2^i;而对于组合
2022-02-27 20:14:37
146
原创 牛客寒假训练营4-爆炸的符卡洋洋洒洒 (dp变形)
题意:链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网小红正在研究如何把符卡组合出尽可能大威力的组合魔法。小红共有 n种符卡可以选择,每种符卡最多只能选择一次,每个符卡的魔力消耗为 ai,威力为 bi。如果将多个符卡进行组合,则可以发动一个组合魔法。组合魔法的魔力消耗为选择的符卡的魔力消耗的总和,其威力为选择的符卡的威力的总和。小红必须保证最终符卡的魔力消耗总和为 k 的倍数,否则小红将受到魔力反噬而发动魔法失败。小红想知道,自己能发动的组合魔法最大的威力是多少?..
2022-02-25 21:10:33
489
原创 牛客训练营3-智乃买瓜(anthor version) dp还原为原背包
题目描述已经知道购买质量为1 2 3 .....m的瓜的方案数,对于每一个瓜,我们可以选择买整个,买半个,不买。保证每个瓜质量为偶数。思路:这道题的的原版本是已知道每个瓜的质量求方案数,直接进行背包即可。对于这道题是他的逆向求解,我们从小到大枚举每一个方案数,如 样例1 2 1 3 2 1,说明买质量为1的瓜方案数有1,这就说明一定有一个瓜质量为2切一半后达到这个方案数,于是我们将2加入答案序列,并对样例消除2这个瓜后进行更新。代码#include<bits/stdc++.h&.
2022-02-25 16:59:12
429
原创 牛客寒假训练营2-小沙的炉石 (结论或二分题)
题意链接:登录—专业IT笔试面试备考平台_牛客网来源:牛客网小沙热衷于玩决斗法,今天他和他的弟弟玩起了炉石,弟弟特别特别的菜,但是为了照顾弟弟的自尊心,所以小沙想要恰好将弟弟斩杀。恰好斩杀:弟弟的血量恰好变成0。小沙当前的手上有nnn张法术进攻牌,每张牌都会消耗一点法力,造成一点基础伤害,有mmm张法术回复牌,不需要消耗法力值,每次可以恢复一点法力。小沙一开始有一点法力,法力没有上限。他们都属于法术。小沙场上有一个随从。他可以使你施法法术后使你的法术伤害+1。每张法术进攻牌.
2022-02-24 13:13:08
292
原创 Buy tickets(插入线段树)
题意:有n个人,每个人有一个pos,val,pos值代表在这个人后面插入val值。思路:同lost cow一样,从后往前枚举,则前面的数对后面没有影响,可以用树状数组加二分或者线段树。代码#include<iostream>#include<cstdio> using namespace std;const int N=2e5+5;int n,now,pos[N],val[N],ans[N]; struct node{ int l,r; int lazy;
2022-02-22 17:08:01
110
原创 专题五 G-mayor‘s poster (离散化+线段树)
题意对于一面长度为n的墙,有m块画板起点分别为a,b覆盖在墙上,问最后能看见多少个画板思路此题给定的n太大,直接进行线段树可能会爆空间时间 ,应进行离散化,但要注意离散化排序完若相邻两个数之间差为1,则无法正确区分出看到的画板,比如1 4,5 10 和1 4 ,610会被看成同一种情况,应在这种情况中间加入一个中间值再进行线段树代码#include<iostream>#include<algorithm> #include<cstring>.
2022-02-21 23:46:27
353
原创 数论专题 B-beautiful number(大组合数+逆元)
题意给定两个数字a,b(1<=a<b<=9),n(1 ≤ n ≤ 10^6),n为一个数字的位数,若一个n位数均有a和b组成,则这个数是一个good number,若这个good number 的n位数字之和是一个good number,则这个数是一个excellent number,求excellent number 有多少个思路对于组合数下面的被除数,在取模时会出现错误,所以应使用逆元,并#include<bits/stdc++.h>using name
2022-02-20 23:44:40
333
原创 数论专题 K-blocks(矩阵快速幂)
题意用四种颜色涂长度为n的方块,求其中两种颜色均为偶数的方案数思路这题可以用递推dp的方式求出一个数列。设a,b,c分别为均为偶数,一个为奇数,均为奇数三种情况两个均为偶数的状态由其中一个为奇数转移来a[i]=2*a[i-1]*b[i-1]b[i]=2*a[i-1]+2*b[i-1]+2*c[i-1]c[i]=b[i-1]+2c[i-1]于是可以用矩阵快速幂来加快方程的递推;构造矩阵为2 1 02 2 20 1 2进行快速幂代码如下#in
2022-02-19 12:21:02
445
原创 D-Equals (并查集)
题目:输入给定一个一个n(代表有1-n的自然数),m(m次操作),第二行输入1到n的任意序列;下面m行输入每行输入a,b代表a,b可以交换位置;求最多有几个数可以使得i=p[i](即i在序列的第i位);思路:可以用并查集的方式将数与数建立关系,最后判断p[i]是否和i有联系,若有则答案数加一;代码#include<bits/stdc++.h>using namespace std;int father[100010];int find(int x){ ..
2022-02-06 18:20:59
818
原创 L-Cow contest(弗洛伊德最短路)
FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:)。在赛场上,奶牛们按1..N依次编号。每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就是说,奶牛们的编程能力有明确的排名。 整个比赛被分成了若干轮,每一轮是两头指定编号的奶牛的对决。如果编号为A的奶牛的编程能力强于编号为B的奶牛(1 <= A <= N; 1 <= B <= N; A != B) ,那么她们的对决中,编号为A的奶牛总是能胜出。 FJ想知道奶牛们编程能力的具体排名,于
2022-02-06 18:12:05
98
原创 E-CD(01背包+记忆化搜索)
You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long. How to choose tracks from CD to get most out of tape space a
2022-02-06 18:05:57
458
原创 L-add one (动态规划)
You are given an integernn. You have to applymmoperations to it.In a single operation, youmustreplace every digitddof the number with the decimal representation of integerd+1. For example,1912becomes21023after applying the operation once.Yo...
2022-02-06 17:25:15
385
原创 G-二分查找
题目给定一个严格单调的数列,询问若干个数分别需要在数列中二分几次才能找到。如果能找到,输出二分的次数;如果不能找到,输出NONE。二分查找参考程序如下:(数列单调递增时)l = 1, r = n, cnt = 0;while (l <= r) { mid = (l + r) / 2; cnt++; if (a[mid] == key) break; if (a[mid] > key) r = mid - 1; else l = mid +.
2022-02-06 17:04:56
708
原创 最长连续子序列和(二维前缀和维护加滑动窗口优化)
题意给你一个长度为 n 的整数序列 {A1,A2,⋯,An},要求从中找出一段连续的长度不超过 m 的非空子序列,使得这个序列的和最大。输入格式第一行为两个整数 n,m;第二行为 n个用空格分开的整数序列,每个数的绝对值都小于 1000。输出格式仅一个整数,表示连续长度不超过 m 的最大非空子序列和。0<=n,m<2e5思路这道题显然用暴力搜索二重循环会爆时间,时间复杂度大概为O(n*m)。显然要进行优化,而对于每一段连续的子序列的和都可以.
2022-01-21 23:08:20
657
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人