自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 hdu-2059(dp)

dp[i] 表示到第i个站所花费的最少时间,t[j][k]表示在第j个站充满电,直接开到第k个站所花的时间,那么状态转移为: dp[i] = min(dp[i], dp[j] + t[j][i])含义为,假设我们当前想知道到达第i个站的最少时间,那么到前面i-1个站的最少时间都已经知道了,计算时间相加即可。情况2:x充电,但是,x站点在j站点之后,这种情况是包含在之前的状态里的。情况1:x不充电,直接计算之间,更新dp[i]

2024-03-07 19:49:36 289

原创 hdu-2049(dp)

用dp[i][j]维护到第i对夫妻,有j对选错的情况数,可能转移方程不太对。不是很好想,一开始想二维dp来做,没推出来,感觉应该也是可以的。ps: 我最早的想法。

2024-03-07 14:18:25 227

原创 hdu-2047(dp做法)

升到二维简单很多,dp[i][j]表示长度为i时,最后一个字母为j。其他博客递一维推做法比较难想(我不会。

2024-03-06 00:03:20 224

原创 hdu 2045(dp解法)

dp 做法,三维数组dp[i][j][k]表示长度为i时,开头颜色为j,结尾颜色为k,不断向后枚举打表,即可得出答案。(递推做法一开始没想出来)

2024-03-05 23:31:41 159

原创 对于kafka Partition横向扩展的理解

在kafka集群中,创建一个topicA,可以指定Partition分区数和Replic副本数,Topic是逻辑上的概念,实际存储数据还是存储在Partition中,副本数是为了保证高可用,如果某个节点宕机了,其他节点中仍会有完整的数据。我觉得这个需要和副本数结合起来考虑,当副本数小于节点数或者不考虑节点数的时候,添加Partition也是在为了在集群环境下增加Broker,也是为了增加磁盘容量,实现存储更多的message。注意:每个Partition中的消息都是顺序的,

2022-10-25 10:36:34 883 1

原创 grpc 报错 rpc: the client connection is closing

由于创建grpc客户端最终归属wireApp(),(依赖倒置实现解耦),在function main()中已经返回,就会执行NewSocialClient中的defer()将连接关闭,导致调用失败。第一次写golang微服务,也是第一次接触gprc,底层原理还不太了解,盲猜跟openFeign差不多生成代理类,但grpc好像专门开放了端口,用protobuf协议传输。官方文档中的实例,main function中使用了defer()关闭连接,在defer。将NewSocialClient 中的。

2022-10-11 11:13:08 2741

原创 golang 整合mongo-driver 复杂文档查找aggregate 遇到的问题

golang整合mongoDB aggregate高级查询

2022-06-27 01:32:18 841

原创 Java多线程实现红五发牌程序

Java多线程实现红五发牌程序题目要求可能我写太麻烦了,还是我题目意思理解错了。做法是随机发牌,之后对于每个人的牌先按花色分成四类,然后每种花色再根据优先级排序。import jdk.internal.org.objectweb.asm.tree.InnerClassNode;import java.util.*;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;impo

2021-12-10 13:33:13 902

原创 Mybatis 使用@Insert注解 插入多条记录JSONObject 转 List 的几种方法

Mybatis 使用@Insert注解 插入多条记录JSONObject 转 List 的几种方法软件工程大作业中,想实现一个管理员给多个用户发送消息,这时候前端需要传给后端一个有用户编号的数组。这边总结几个后端接收前端发来list的几种方法由于前端发送给后端的数据格式为Json,后端接收的格式为Json由于前端发送给后端的数据格式为Json,后端接收的格式为Json由于前端发送给后端的数据格式为Json,后端接收的格式为Json我们需要将Json格式转化为list我们需要将Json格式转化为li

2021-11-29 20:54:06 2463

原创 Problem F. Cable Protection (基环树求最小覆盖)

Problem F. Cable Protection (基环树求最小点覆盖)周赛补提,邻近退役又学到之前没学过的,可能这就是拿不到牌的原因吧。。。寄树形dp求最小点覆盖这边先介绍一下最小覆盖,简单来说:对于图G=(V,E),从顶点集V中去尽量少的点组成一个集合,使得边集E中所有的和边取出来都的点相连同时了解到还有最小支配集,和最大独立集,这边也简单介绍,之后再学最小支配集:对于图G=(V,E),从V取尽量少的点组成一个集合,使得V中剩余的点都与取出来的点有边相连最大独立集:对于图G=(V,

2021-11-04 20:10:18 197

原创 Problem I. World Tree (第14届吉林省赛)

Problem I. World Tree (第14届吉林省赛)补完题真的收获很多,经典属性dp,有一说一,不看题解完全没有往那方面想,知识点还是不够完备。题意: 给你一棵树,树上每个点有两个权值a[i]和b[i],每经过一个节点u可以获得a[u]*Σb[v]的贡献,其中v是还未访问过的节点。问以哪种方式遍历整棵树,获得的最大贡献。做法:首先dfs出每个节点作u为根节点的字数中a[ ]和b[ ] 的值,记为suma[u] 和sumb[u]假设我们当前访问节点u,此时子树中的每个节点肯定还未访

2021-11-03 20:12:39 193

原创 正则表达式匹配

正则表达式匹配题意很简单,写的时候快吐了,甚至怀疑两年的acm白打了。。。做法:dp,下边看转移方程式dp[i][j] 表示s串的前i个和p串的前j个字符不能匹配,i表示s串的前i个,j表示p串的第j个当p[j-1] == '.'的时候,这时候第j个字符可以匹配s串的任意字符,所以dp[i][j] = dp[i-1][j-1]当p[j-1] == ‘*‘的时候,这时候如果 * 匹配0次,dp[i][j] = dp[i][j-2](注意这里的j-2表示当前字符的前一个字符)如果可以匹配多次,

2021-09-24 15:50:31 81

原创 最长回文字串

最长回文字串(dp)经典题目,动态规划要从后往前,太久没写给忘了。class Solution { public String longestPalindrome(String s) { int dp[][] = new int[1005][1005]; int maxx = -1,ansl=0,ansr=0; for(int i = s.length()-1;i>=0;i--){ //从后往前遍历,因为要用到dp[i+1][j-1]

2021-09-23 16:08:39 88

转载 Java of()使用方法

Java of()使用方法在学Javalambda表达式的时候看到了以下用法languages.forEach(System.out::println);就很疑惑,搜了篇博客涉及到Optional类,函数式编程什么的,源码中涉及 public static <T> Optional<T> ofNullable(T value) { return value == null ? empty() : of(value); }这边这个of()函数就

2021-09-21 19:59:58 1329

原创 Comparable 和 Comparator的区别&对泛型的一些理解

Comparable 和 Comparator的区别&对泛型的一些理解Comparable 接口直接看apipublic interface Comparable<T>{ public int compareTo(T o)}可以看出这个泛型接口里,只有一个compareTo方法,参数是同类型的泛型变量,如果我们需要用到比较或者排序方法,我们只需要在这个类上实现以下Comparable接口就可以了,重写compareTo方法。该方法返回一个 int 类型的数据,但是此

2021-09-17 20:15:17 264 2

原创 前后端交互的几种方式

Vue+Springboot 前后端交互的几种方式前置知识点用于接收前端参数传递的几个注解@RequestBody注解@RequestParam注解@PathVariable注解@RequestParam和@PathVariable的区别@RequestBody的使用这两篇博客写的非常的详细,看完就会了什么是Json格式,前后端交互主要有Json格式、form-date格式等,Json格式为主。{ "ID": 1001, "name": "张三", "age

2021-09-10 19:12:54 16758 6

原创 根据一个表信息修改另一个表对应的信息

根据一个表信息修改另一个表对应的信息实现取消订单后,对应的仓库商品库存增加update store t1 set t1.storenum = t1.storenum+(select ordersnum from orderdetail t2 where t2.orderid = 1 and t1.goodid = t2.goodid)

2021-09-08 11:41:06 290

原创 Mysql count(*)为NULL时,输出0

Mysql count(*)为NULL时,输出0题目要求:表情况:客户表:订单表:订单详情表:分析订单数量,一个客户可能没有订单,订单数应该为0,简单group by结果都为1,因为客户记录怎么都有一条存在。解决方法:select customer.customerid,customername,IFNULL(t1.count,0),sumoderweight,sumordervolume,sumorderprice from customer left join (select

2021-09-06 19:07:57 6367 1

原创 HDU7007

HDU7007 净化2021 年百度之星·程序设计大赛 - 初赛二题意:给一个整数数组 a1,a2,⋯,an 和一个正整数 m 。有一个数 x ,初始为 0 。称对其进行一轮操作为:让 x 依次加上 a1,a2,⋯,an 。如果在某一次加上 ai 后 x<0 ,则将 x 立刻变为 0 ,如果在某一次加上 ai 后 x≥m ,立刻结束这一轮操作。不断对 x 进行操作,你想要求出经过几轮操作后 x 第一次满足 x≥m ,或者判断永远也无法满足。题面还是比较好读懂的,肯定想到和前缀和有关,具体思路可

2021-08-06 20:57:54 241

原创 B. Suffix Operations 思维

B. Suffix Operations 思维题目链接很久之前的一题,比赛当时不会,思维太差了,想了好久,现在回头写也想了好久。好菜啊我。题意:给你一个长度为n的数组,每次操作可以讲数组的后缀的每个数+1或者-1,现在可以改变数组中的一个数,问最少需要几次操作可以使得数组中每个数字都相等。思路:先考虑不改变数字的时候,我们需要把数组中的每一个数都变成前一个数,即a[i]=a[i-1],这样贪心使得操作数最少,此时答案为Σ(abs(a[i]-a[i-1]))。再考虑修改一个数的时候,使得操作数

2021-08-05 20:25:40 249

原创 C. AquaMoon and Strange Sort 思维

C. AquaMoon and Strange Sort题目链接题意,给你一个数组,每个数字都带有方向,一开始全部向右,可以进行任意次操作,每次操作交换两个相邻的数字,并改变方向,问是否可以将数组升序排序,并且方向都向右。思路:考虑a[i],a[i-1]和a[i-2],一开始方向都向右,a[i]和a[i-1]交换,此时a[i]向左,a[i-1]向左,再交换a[i-2]和a[i],a[i]向右,a[i-2]向左,最后交换a[i-2]和a[i-1],此时a[i-2]向右,a[i-1]向右。下面是模拟,+

2021-07-28 16:39:06 224

原创 Springboot 入门

Springboot 入门开始记录一点springboot的学习记录,不定期记录。供自己以后看,今晚先起个头就咕咕咕,明天还要训练。遇到的问题Annotations are not allowed here原因是注解后面加了分号,很尴尬...

2021-07-27 01:55:51 398 1

原创 OS实验函数速成

OS实验函数速成线程相关#include<stdio.h>#include<pthread.h> //线程库/*跟线程有关的都是pthread_开头*/pthread_mutex_t mutex; //线程互斥锁,只能线程用,进程不行 int mian(){ pthread_mutex_init(&mutex,NULL); //初始化线程锁,锁的初值都是1 pthread_t p1,p2;//线程号 pthread_create(&t

2021-07-03 15:39:05 566 8

原创 JDBC学习总结

JDBC学习总结遇到的问题:mysql版本为8.1,而学校jar包为5.6版本导致,数据库驱动不起来,之后写JDBC需要注意解决方法:安装8.1版本的jar包8.1版本jar包驱动方式public class DBUtil { private static final String jdbcUrl="jdbc:mysql://localhost:3306/booklib?useUnicode=true&useSSL=false&serverTimezone = GMT";

2021-06-15 00:33:41 2180 20

原创 各种线段树模板&&Billboard HDU2795

各种常见线段树(模板)最近遇到了好多线段树的题目,包括CCPC铜牌线也是线段树,每次都是束手无策,于是打算整理整理几种常见的线段树模板,就是针对不同要求修改点和区间,不过感觉线段树的题目最难还是难在变化上,lazy数组如何下推需要好好思考,也希望认真总结一会,写点自己的理解。尤其是最后一种,题目变化还是挺灵活的,就是对跟结点修改,再向上pushup维护区间最大值:当然如果仅仅是查询区间最大值,并不进行修改的话,可以直接使用ST板来O(1)查询,但如果对单点或区间修改,就要采用线段树来维护。//

2020-11-16 19:18:11 145

原创 Party for You Started(中国计量大学校赛)

Party for You Started(中国计量大学校赛)树链剖分+线段树维护区间题目传送门题意: 输入n,m,表示n个结点,接下来输入a[i]表示第i个结点的父节点为a[i],m次询问,每次输入u,x,v,输出从v节点到n结点的权值,再修改u结点的权值。比赛的时候觉得题意挺好的懂的,当时只想着dfs暴力修改,果然TLE了。比赛结束后才知道是道树链剖分裸题,当晚就去学了,找了一篇博客,请教了实验室学长,差不多花了2个小时,总算理解了树链剖分,贴一下dalao的博客。模板连接说一下自己

2020-09-27 16:51:17 315

原创 hdu(3047)——Zjnu Stadium带权并查集

hdu(3047)——Zjnu Stadium带权并查集hdu(3047)——Zjnu Stadium题目传送门题意:输入A、B、X 表示B要坐在A大X的座位,由于体育馆的行数可以视为无穷大,所以可以不考虑环形的循环,有n个人,m条数据,要求输出错误数据的条数。当B没有坐在比A大x 的位置时,该条数据为错误。这题是2009年杭电多校的题目,一开始看这题,觉得不是很容易理解,还是有点难想的,也不知道当时这题算什么难度,因为一条数据表示了两个人的相对位置,所以我们考虑用带权并查集来处理,dis[i

2020-09-23 18:11:56 179

原创 2020 Multi-University Training Contest(杭电多校图论好题)

2020杭电多校暑期集训图论个人总结Day 4:补题的时候越发觉得杭电的图论题出的非常好,也是是我做的比较少这是最近补的两题,比较菜,比赛的时候都没出,补完之后真的觉得题非常好题目传送门题意: 有n个节点、m条边构成的无向图,每个节点有特殊的要求,L只能用左手,R只能用右手,M都可以,左右换手需要额外的时间,让你求从s到t花费的最小时间。比赛的时候觉得这是一道很裸的迪杰斯特拉,但是难点在于当前左右手的状态影响到下一次路径的距离,当时觉得在建图的时候可以把换手的时间算进权值里,但还是不好处

2020-08-07 15:07:54 848

原创 1034 Head of a Gang带权并查集

1034 Head of a GangPAT甲级带权并查集题目传送门并查集基础(通俗易懂) 原文链接先扯一下,本人的第一篇博客,写的不好有错误请dalao指出,有问题可以一起讨论。这题并不是特别难,但我第一次写完完整的带权并查集,纪念一下。并查集还是挺基础的,主要就是init()、find(x)、join(x,y)三个函数,推荐看下链接,通俗易懂。当初大一上不是很理解,现在觉得当初好蠢。思路: 就是tim记录每个人的通话时间,然后用并查集合并团伙,当一个团伙人数大于2并且总通话时间大于k

2020-07-08 19:49:36 844 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除