自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万事屋

一些解题思路和工作中的积累

  • 博客(250)
  • 收藏
  • 关注

原创 排查分析:mybatisplus升级3.x后,xml映射入参对象异常

mybatis升级3.x后问题修改

2022-05-27 11:12:02 866

原创 Spring-Web发送请求时报错 “No HttpMessageConverter for java.util.HashMap”

总结:遇到这个报错是因为: Spring-Web 的RestTemplate$HttpEntityRequestCallback.doWithRequest 发起请求时, 需要一个对应的转换器 转换body对象。如果传入的是Map,则可以通过引入Jackson依赖包来做转换。下面是排查过程通报错日志发现 发起http请求请求的地方报错:org.springframework.web.client.RestClientException: No HttpMessageConverter fo.

2021-08-26 19:50:28 8434 7

原创 问题记录-- linux服务器过多TIME_WAIT连接排查

现象:服务器有的子系统出现新的连接无法建立,导致服务异常。后台查看netstat 状态,连接数达到上万。使用统计命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'TIME_WAIT 15586CLOSE_WAIT 343ESTABLISHED 581发现异常, TIME_WAIT 连接达到上万。观察发现,连接的 都是我们文件存储服务oss 50000端口。[root@S..

2020-06-29 14:42:32 545

原创 mayaa框架,模板渲染,class未成功渲染

mayaa是一个日系的模板引擎框架。本文记录使用这个模板遇到的问题。原因:为了解决安全漏洞,commons-beanutils 从1.9.3 升级到了1.9.4 导致模板渲染时,class未成功渲染返回到前端。版本与环境:jdk1.8 <!-- Mayaa --> <dependency> <groupId>org.seasar.mayaa</groupId> ...

2020-06-04 09:53:57 490

原创 谷歌浏览器偶发“失败 - 证书有误”报错,SSL层 Certificate Unknown (46)错误

问题描述:谷歌浏览器<a>标签下载静态文件 偶发出现 失败 - 证书有误情况。SSL层Certificate Unknown (46)错误。环境:https协议,nginx/1.15.12,谷歌浏览器版本73.0.3683.86火狐验证,没有这个问题。解决过程:出现报错后,点击谷歌浏览器报错详情。跳转下面url。https://support.goog...

2019-11-22 19:37:33 15707

原创 elastic-job开源框架使用中遇到的 架包冲突错误

最近在运行部门一个新的框架。该框架是用maven管理jar包的聚合工程。在进行运行elastic-job相关的一个子项目时,报了如下的错误。Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.dan

2017-01-18 14:10:24 8281 1

原创 eclipse mars.1 使用jetty 遇到的问题

用eclipse mars 跑项目遇到了些问题,还好最后顺利运行了.其间遇到些问题,我把错误提示和解决的方法记录下.

2016-08-24 15:21:07 3817

原创 Spring 国际化支持 消息传递 以及 AOP 面向方面编程

国际化支持照书上的流程下来.设置config.xml<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org.dtd.spring-beans.dtd"> messages 建messages.properties文件内容为

2016-07-27 19:22:10 958

原创 Spring框架学习笔记 bean的常见操作以及生命周期

Spring框架学习笔记 bean的常见操作以及生命周期

2016-07-27 09:16:44 576

原创 Spring 框架初步学习

记录了一些实习中关于Spring框架的学习内容。

2016-07-25 19:05:47 553

原创 hdu 4424 Conquer a New Region 并查集+思维

题意: 树形结构,选出一个点,这个点到任何一个其他点 路径上 的最小边权 最大的 和是多少。做法:根据边权排序, 每次合并最大边权的两个点。 两个点各在一个集合,dian表示这个集合有多少点,dis表示这个集合内部 某个点 到其他所有点的 路径上的 最小边权 的最大和。u_是u 所在集合的祖先,如果以u_为合并后的祖先,那么把dian[u_]更新为两个集合的点和,当前枚举的边肯定比之前的边要小,所以 dis[u_] = dian[v_]*w+dis[u_]。把 以v_为祖先 所得的 答案作比较, 取答

2015-10-11 09:18:03 936

原创 FZU 2200 cleaning dp+预处理

做法:dp 一维,第几个人,第二维是已经选了几个人,第三维是当前的状态,0 表示当前这位没选,前一位也没选,1表示当前这位没选,前一位选了,2,3类似。枚举开头两个人的状态,然后预处理dp ,当处理到 i+2 的时候,如果状态和开始枚举的一样,就把值加进real[i]中。预处理出来的real就是最后的答案

2015-10-06 19:13:34 656

原创 FZU 2204 7 dp+预处理

做法 :dp 一维记录 轮到第几个点了,二维记录 当前连续最长有几个黑色,或者白色,第三维记录 黑色还是白色。枚举开头是黑色的话,枚举有几个黑的,然后dp过去。对于每个i,当末尾和开头黑色的合 不超过6, 就把答案加到real里面。把所有答案预处理出来。

2015-10-06 19:04:22 663

原创 hdu 2870 Largest Submatrix 最大子矩阵

题意:有若干种 转换字母的方法,问转化后 可以得到的 最大相同字母矩阵 是多大。 矩阵大小= n*m做法:全转成a,然后不能的位子是0,可以的位子是1。然后 deal 里就是一维的最大矩阵 的处理了。 是一种dp。 做法和一维的 hdu 1506 差不多。然后再把 全是 b和c 的求出来 求最大值就好了。

2015-09-14 21:47:40 906

原创 hdu 5442 Favorite Donut 最小表示法+KMP 2015长春网络赛

题意:有一个len长度的环,问有没有 最大的 长度为 len 的 串在 这个环里。如果有的话,且只有一个 ,输出其 开头的下标, 下标从1 开始, 再输出0 表示 顺时针 1 表示逆时针如果多个,输出 开头下标最小的那个。如果 还有 ,就是顺时针 逆时针 一样的情况 输出 下标 0。做法:很容易想到最小表示法然后 正序直接用最大表示法 ,可以得到 最大字典序,最小下标的 开头位置。逆序 就把串反下,用最大表示法,可以得到 最大字典序, 也是下标最小的 开头位置, 但是因

2015-09-13 19:08:01 1672 2

原创 spoj 10606 BALNUM - Balanced Numbers 数位dp

题意:问A到B之间有多少个数,有多少数 符合以下两个条件。数位0-9 中 ,每一个奇数数位有 偶数个, 偶数数位有奇数个。也就是如果有1 的话,那必须有偶数个1。如果有2的话,必须有奇数个2,当然没有也可以。做法:弄个三进制记录状态,表示0-9 数位,各个数位出现过没有,没有出现在对应的三进制位标记0,出现奇数次 标记1, 出现偶数次标记2。注意前导零是不能算的。

2015-09-05 10:30:29 1399

原创 hdu 5204 Rikka with sequence yy题

题意:n个操作。一开始一个空序列op==1 给你一个数, 如果序列为空,就添加这个数。序列非空,就在集最前面加这个数,并在以后的所有数字后面加上这个数字。op==2 询问区间第k大。做法:有一个规律。 对于1到L区间。前一个1操作产生的数 出现 (L+1)/2 次,然后再前一个出现 (L-(L+1)/2+1)/2次类推。每次 都会 折半,所以最多出现60个数。所以先把1到(L-1)区间 中 出现的数 -1, 然后把1到R 区间中出现的数 +1,然后排序下这60个数,数到第

2015-09-04 19:29:15 790

原创 hdu 4507 吉哥系列故事——恨7不成妻 数位dp

做法:dp[i][j][k] 表示pos位之后 当之前的的 位数和%7 ==j 之前的 十进制数在pos位之前%7 == k 的 数的平方和。开个结构体 ,表示这个dp 状态的 答案存在 fang里, 然后有多少个数 存在 ge里, 这些数的和 存在 sum里。然后 算式推下,转移下。

2015-09-04 13:08:44 631

原创 hdu 3045 Picnic Cows 斜率优化 dp中有间隔限定

题意:有n头牛,选若干个集合,每个集合中至少要有T头牛。 要求把集合中 欢乐值高的 降到全一样。问最少要降多少。做法:分组肯定接近的数分一起,所以可以先排个序。然后 dp[i]表示 前i头牛 需要最少降多少欢乐值,使其达到要求。dp[i]=min{dp[j]+sum[i]-sum[j]-(i-j)*num[j+1];可以推出:y(j)=dp[j]-sum[j]+j*(num[j+1])x(j)=num[j+1] 在这种集合有个数要求的斜率优化中,在优化第i个时,入队是 入 i-k

2015-09-04 09:45:58 665

原创 hdu 4734 F(x) 数位dp

题意:问 0到b 之间有多少x符合 F(x)<=F(a)做法:数位dp之前想到的状态,第二维sum 代表 这位之前 二进制数 加和是 sum, 这位及之后 有多少种数 二进制加和 + sum<=F(a)然后超时了一发,加了个999的剪枝,200ms 过了。原因是里的dp意义和F(a)有关,所以每次要清空数组后来看了别人的,发现原来很简单,正确的状态 sum 表示 这位及之后 有多少种数 二进制 加和<=sum这里的dp值是固定的,每次不用清空,所以速度快很多。

2015-09-03 19:12:17 502

原创 hdu 3480 Division 斜率优化

题意:把n个数字 分成m个集合。 每个集合的价值是 这个集合中 (max-min)^2。 输出最少的价值做法:如果想价值最小,不妨先排个序。这样 最后的答案肯定在排序后的数组中 是连续的。可以得到数组 dp[i][c]=min{dp[j][c-1]+(num[i]-num[j+1])^2直接dp 复杂度 N*N*M 瞬间爆炸。可以斜率优化来写;推导出 y(j)=dp[j][c-1]+num[j+1]*num[j+1]x(j)=num[j+1]当 k<j<i[y(j)-y

2015-09-03 09:02:43 635

原创 hdu 2829 Lawrence 斜率优化

题意:n长度的轨道,截m处。 每段的价值是 这段里 每个数两两相乘的和。问不同的截法最大的价值和。做法:i是轨道长度,j是炸药的量cost[i]是前i个数字 两两相乘的和。dp[i][j]=min{dp[k][j-1]+cost[i]-cost[k]-sum[k]*(sum[i]-sum[k])}可以推倒出来: y(i)=dp[i][]-cost[i]+sum[i]^2x(i)=sum[i]斜率是 sum[i]

2015-09-01 21:34:05 675

原创 codeforces 128 B. String 优先队列

题意:字典序排序子串,找出子串中的第n大。做法:因为最多让你找第100000大,所以可以用优先队列。先放入单个的。然后不断取出最小的,然后添加一个 其后面的字母,然后再放回队列。 队列里len个串,最多放n次,所以复杂度 log(len)*n。 但是vs2010 的优先队列好像很慢。 另外一题有次也用到优先队列,vs2010跑好几分钟跑不出来的数据,CB可以秒跑。 所以这题不要交vs2010,不然会超时。

2015-08-31 13:08:50 962 1

原创 codeforces 144 D. Missile Silos 最短路

题意:给你一个图。 问图中 有多少点 和起点的最短距离是len。边上的点也算。做法:把点最近距离 算好。然后 边上 分两种情况。if(l1<len&&l2<len&&l1+l2+dis==2*len) ans++;这种情况是,两边到这个点都是最短的。这个点只用计数一次。if(l1<len&&l1+dis>len&&l2+(dis-(len-l1))>len) ans++;if(l2<len&&l2+dis>len&&l1+(dis-(len-l2))>len) ans++;这

2015-08-30 18:45:07 696

原创 codeforces 570 D. Tree Requests 树状数组+dfs搜索序

题意:告诉你一颗树的父子关系,1节点为根,再告诉你每个点上的字母。问 v节点 子树(包括v节点)在第h行的所有节点的字母能否组成回文串。做法:先用dfs 搜索 把所有节点标个左标号和右标号。 这样标号以后,每个节点 用左标号 当自己 新的标号。 然后 子树所有节点 的新标号 肯定在 子树根节点的 左右标号之间。标号之后分层来做。每层 对每个字母分别做统计。把该层所有节点 的 左标号 在树状数组中+1. 然后对于该层的所有询问 做 树状数组统计,(sum(rit[v])-sum(lft[v

2015-08-16 10:53:02 1238

原创 hdu 4870 Rating 高斯消元或者递推

题意:有两个号打cf, 赢的几率是 p ,每次用分数小的打, 赢了+50分,输了扣100分,分数上限2000,下限0.问其中一个号打到2000分的期望。做法:把50分作为一个单位分数。设 dp[i] 为其中 一个号 i分到20分需要打多少盘的期望。dp[i]=dp[i+1]*p+dp[i-2]*(1-p)+1当i小于2的时候 因为不可能有负分数,所以公式为 dp[i]=dp[i+1]*p+dp[0]*(1-p)+1开始两个号 i i 肯定会打到 i+1 i的情况 , 可以认为一直用一

2015-08-10 15:45:15 718

原创 hdu 5355 Cake dfs暴搜 构造

题意:把有n块蛋糕, 大小分别是1-n。 分给m个人, 个数随便,大小和要全相等。做法:其实那两个不合法的情况,做比赛时队友已经发现了。后来按照 最大的 和某一个小的数 凑对,贪心来做。 比赛时Ac了。赛后数据加强 ,这种方法在数据23 6时会有bug。然后根据题解,在数字大于m*4 的时候 从大到小, 蛇形分配。

2015-08-07 19:41:05 744 3

原创 hdu 5358 First One 数学

题意:根据那个公式算出 ans。做法:之前想着 枚举 左端点,再枚举 33个二进制数,再二分右端点来写。 O(33*n *log n) , t掉了。这题卡时间卡得很严,看了题解后 ,发现有O(33*n)的做法。 显示枚举 33个二进制数, 然后取 num[i] num[j] 作为边界 L,R, 再枚举左端点,左端点遍历的时候 根据LR, 找到 右端点的范围l 和r 要求 L<=s(i,l)<=s(i,r)<R , 左端点不断右移,所以 边界l,r 也不断右移 不用回溯,所以是线性的

2015-08-07 15:15:39 832

原创 hdu 5348 MZL's endless loop 暴搜

题意:给n点m条无向边,要给每条边定一个方向,最后图中所有点的出入度差小于等于1.做法:暴搜,注意用完的边要删去,更新下head就可以删边了。 然后 每个dfs 只找一条路径, 找到后就break。

2015-08-05 16:16:06 655

原创 hdu 3473 Minimum Sum 划分树的应用

题意:问l,r区间 取任意整数x , 问 ∑|X-xi| 的最小值做法:很明显 这个X是中位数。 中位数想到划分树,然后在划分树 建树的时候,把进左子树的数计算一个前缀和,然后在查询的时候,如果到右子树,就把区间内进入左子树的数算一个和。最后统计出来的sumlft 就是所有比区间内中位数小的数了。

2015-08-04 09:32:17 643

原创 hdu 2079 选课时间(题目已修改,注意读题) 母函数

突然顿悟了母函数。其实就是模拟来的。第一个东西取几个 的状态 先弄出来,然后接下来就是有新的东西,然后就是新的放一个或者多个 更新进去,然后注意别超过最大值就行了。

2015-08-03 20:17:37 606

原创 hdu 5323 Solve this interesting problem dfs 搜索

题意:告诉你一个线段树有 一个区间 l到r,如果有这个种线段树 问根节点 0-n, n最小是多少。如果没有输出-1做法:搜索剪枝,主要那个剪枝右边界比较难想 比较重要。

2015-07-29 15:24:36 709

原创 hdu 5318 The Goddess Of The Moon 矩阵快速幂

题意:有n个小楼梯,如果两个楼梯的 前缀等于另一个的后缀就可以首尾相连,前缀后缀长度要大于等于2。 问m个楼梯组成,有多少种组成方法。做法:要去重,然后judge 每个楼梯能不能连,构造出构造矩阵,初始矩阵第一行全为1,然后矩阵快速幂。

2015-07-29 12:26:47 1279

原创 hdu 5316 Magician 线段树

题意:有n个数,两个操作,0操作,输出l到r ,所有奇偶交替 的子序列中,值的最大和。(自序列是可以不用连续的)。 1操作是把a位置的数改成b。做法:维护区间内的 jiou, 这个区间以奇数位开始,偶数位结束的 所有子序列中的最大和。ouji,jiji,ouou 三个数同理。

2015-07-28 18:44:56 1335

原创 zoj 3888 Twelves Monkeys 二分+线段树维护次小值

题意:有m个可以穿越回过去的机器,但是只能用一个,还有q个询问。输出,当在p点时, 1到p-1 这些点有多少点可以通过两种方式穿越回去。做法:首先要穿越,必须要机器的r 大于等于p。这个是二分排序后去找的。然后用线段树找出这些r大于等于p的机器的l的次小值。很明显 次小l 后的所有点都可以用 最小l的机器,和次小l的机器 穿越回那些点。所以 点的总数是 max(p-l,0)。数据有问题有m==0 的输入,所以多次SF了,所以加了 m==0的特判。也可以按n来建树就不存在这个问题了

2015-07-27 21:59:34 1105

原创 zoj 3890 Wumpus bfs

题意:有一个n*n的迷宫,然后输入 金矿 怪兽 陷阱的位置。做法:他可以前进,转向,挖矿,爬出出口,每一步耗费10分,挖到金矿加1000分。以坐标,方向,有没有挖过金矿,开四位记录vis 状态。然后打一遍 bfs就行了。注意怪兽可能在起始点要特判,还有就是可能他没有金矿可以去挖,就输出-1而不是-10。

2015-07-27 21:38:49 979

原创 hdu 1924 CIVIC DILL MIX 罗马数字和阿拉伯数字之间的转换

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1924CIVIC DILL MIXTime Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 203    Accepted Submiss

2015-07-24 22:31:06 1416

原创 hdu 1853 Cyclic Tour 最大权值匹配 所有点连成环的最小边权和

题意:给你若干个点和带权有向边,要求把所有点连成环,可以多个环,但是每个环至少要有两个点。做法:所有的点成环,可以知道所有的点 入度和出度都为1。并且只要符合这个条件,所有点肯定是在一个环中的,也就是符合条件了。所以可以建一个二分图,左边的点从s流入费用为0,流量为1,表示入度为1 ,右边一样。然后根据边 建流量为1,费用为边权的边,这就是最大权值匹配的图了。这样只要满流就符合条件了。

2015-07-24 16:07:45 715

原创 hdu 5294 Tricks Device 最短路建图+最小割

题意:1到n点有最短路。问你 最少破坏多少条路会阻断所有最短路。再问你 最多破坏多少边,仍有和原始图的最短路一样长度的最短路存在。做法:先跑最短路。然后通过 dist[i]-dist[j] == map[j][i]如果符合的话 map[j][i]就是 最短路中的一条边。然后把这些最短路的边 建图,跑最大流,流量是有多少边权相同的重边,跑出来就是最小割,也就是阻断所有最短路的最小花费。花费是每破坏一条路为1。所以出来的值,就是破坏了多少的边。然后如最大流同样的建边,跑最短路,边权为1

2015-07-21 22:24:51 1272

原创 hdu 5288 OO’s Sequence 分解因子

题意:本来的题意问 枚举所有i,j ,1<=i<=j<=n, 然后计算f(i,j)和是多少。f(l,r)的值 是 输入的数组下标 l到r中有多少 数是无法被这个区间 任意一个数整除的。 做法:转换种思想就是 某个数num[i],在多少个区间内 可以不被区间其他任何数整除。 答案加上区间个数。所以 可以左右两边枚举过来。以左边枚举过来为例:把最近出现的数 记录下来,记录到 has数组。 如num[i] 记录成has[num[i]]=i 然后把每个数的因子枚举,判

2015-07-21 21:44:57 1127

空空如也

空空如也

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

TA关注的人

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