自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sharding-jdbc动态更新分片

场景:sharding-jdbc动态更新分片规则代码实现:本实例采用的是通过类实现配置,需要数据源Map集合DataSourceMap、shrding-jdbc配置shardingConfig、定时执行更新节点逻辑ShardingTableRuleActualTablesRefreshSchedule建立数据源Map集合的对应@Configurationpublic class DataSourceMapConfig { @Value("${jdbcurl}") priv

2022-04-21 15:01:33 1231 2

原创 质数距离 数论(线性筛选素数 合数存在素数因子)

import java.util.Arrays;import java.util.Scanner;public class Main { static int[] prime = new int[1000005]; static boolean[] vis = new boolean[1000005]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNex

2020-10-12 21:14:30 131

原创 Best Cow Fences 二分答案

二分答案详解再利用减去平均数的前缀和找到一个能满足答案的,注意的是区间长度是至少F,所以应该找区间[0,R](R>=F)import java.util.Scanner;public class MainA { static int[] a = new int[100005]; static double[] sum = new double[100005]; static int n,f; public static void main(String[] args) { Scan

2020-09-05 17:07:42 137

原创 IncDec Sequence 差分

给定一个数列,要使数列每个数相等。差分数组就应该变成a[1],0,0,0…对应差分数组中的正值减x,可以使负值加x,反之同理。所以最小的操作数就应该是Max(差分的正值之和,差分的负值之和的绝对值)。当正负抵消完之后的差分数组应该为a[1],0,0,x,0,因此第一个数值可以是a[i]+xi(0<=|xi|<=x)。种类数就应该对应的是abs(差分的正值之和-差分的负值之和的绝对值)+1import java.util.Scanner;public class Main {

2020-09-04 18:41:25 113

原创 Fractal Streets 递归+坐标转换

n阶分形图是由前面的(n-1)阶分形图所构成:左上角是沿Y轴右旋转90度再沿X轴选择180度;右上角不变;左下角是沿Y轴左旋转90度再沿X轴选择180度;右下角不变。再找到对应的坐标变换:左上角:(y,x)右上角:(x,y+1<<(n-1))左下角:(1<<n-y+1,1<<(n-1)-x+1)右下角:(x+1<<(n-1),y+1<<(n-1))import java.util.Scanner;public class M

2020-09-03 22:40:36 193

原创 sumdiv 整数唯一分解+递归二分求等比数列+快速幂

整数分解定理:A = p1^k1 * p2^k2 * … * pn^kn;整数分解后的约数和公式:sum = (1+p1+p12+p13+…p1^k1) * (1+p2+p22+p23+….p2^k2) * (1+p3+ p3^3+…+ p3^k3) * … * (1+pn+pn2+pn3+…pn^kn)递归二分求等比数列:1+p+p^2+ p3+p3+…+p^nn为奇数时,(1 + p + p^2 +…+ p^(n/2)) * (1 + p^(n/2+1));n为偶数时,(1 + p + p

2020-09-03 16:53:12 119

原创 最短Hamilton路径 状态dp+位运算

给定一张 n(n≤20) 个点的带权无向图,点从0∼n−1标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。注意的是必须是从0开始走到n-1结束,起点必须是0,终点必须是n-1,中间点的顺序随意。假如n为4,顺序可以为0-1-2-3或0-2-1-3。首先能想到有dfs搜索,复杂度为O(n^n)已经超时了。注意的是路径是按顺序的推进,然后我们可以用二进制状态来表示这种顺序0000~1111,如0001表示为第一个点

2020-08-13 10:31:56 143

原创 POJ-3279 枚举+dfs

由于上一行的状态决定了下一行的翻转,所以只需要枚举第一行的翻转情况 (用二进制状态下1表示翻转),后面的行就能确定。import java.util.Arrays;import java.util.Scanner;public class Main_POJ3279 { static int n,m,step,tstep; static int[][] a = new int[20][20]; static int[][] res = new int[20][20]; //最终结果 sta

2020-07-30 18:19:14 141

原创 POJ-1661 dp

状态转移就是从上一个平台到下一个平台有两种方法,从左端点到下一个平台和从右端点到下一个平台,dp[0][i]表示到第i个平台左端点最小时间,dp[1][i]表示到第i个平台右端点最小时间。求dp也可以正向求和反向求import java.util.Arrays;import java.util.Scanner;public class Main_POJ1661 { static nod...

2020-05-07 21:13:06 120

原创 HDU-2159 二维完全背包

数组dp[j][l]记录经验值,j表示忍耐值,l表示杀怪的个数,状态转移方程dp[j][l] = Math.max(dp[j][l],dp[j-b[i]][l-1]+a[i])import java.util.Arrays;import java.util.Scanner;public class Main_HDU2159 { public static void main(String...

2020-04-21 20:39:23 145

原创 HDU-5869 树状数组+离线+预处理

思路讲的很详细的博客预处理求区间[l,r]的gcd,固定r向左如[1,3]->[3,3]->[2,3]->[1,2,3]这样才保证了求出了所有的区间内所有的gcdimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io...

2020-04-16 18:00:12 282

原创 POJ-2823 单调队列

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.io.StreamTokenizer;public class Main_POJ2823 { static int[] a,q,...

2020-04-15 14:48:58 132

原创 POJ-2531 dfs+剪枝

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StreamTokenizer;import java.util.Arrays;/* * 分为两个集合0和1,每个元素尝试加入集合1。 */public class Ma...

2020-04-08 19:39:12 134

原创 HDU-2795 线段树

由于题目给的公告数最多是200000,所以最多也就用200000行。import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.StringTokenizer;public class Main_HDU2795{ static in...

2020-04-01 19:23:32 116

原创 HDU-1394 线段树+逆序数

思路查询该数到n已经插入的个数,再单点更新该数sum[root]=1,最后求出所有的逆序数的个数。每次换到后面,说明小于a[i]有a[i]个数 大于a[i]有n-a[i]-1个数 说明少了有a[i]个逆序数 多了n-a[i]-1个逆序数。import java.util.Scanner;public class Main_HDU1394 { static int n; st...

2020-03-28 20:34:06 82

原创 POJ-2299 树状数组+离散化

思路记录每个数对应升序的下标,记录每个数先将数据离散化。倒着插入每个数,计算该位置前的已经插入的数。import java.util.Arrays;import java.util.Scanner;public class Main_POJ2299 { static long[] sum = new long[500005]; static node2299[] node = ...

2020-03-28 17:14:51 130

原创 HDU-1540 树状数组+二分查找 Java

个人觉得用树状数组更容易理解,询问一个点有多少个连接的点,就找到右边被摧毁的点R和左边被摧毁的点L,最终结果为R-L-1.import java.util.Arrays;import java.util.Scanner;public class Main_HDU1540 { static int[] sum = new int[50005]; static int[] D = new...

2020-03-21 19:33:20 132

原创 ZOJ-1610 线段树区间染色

还注意的是建树每次都是[1,8000]。import java.util.Arrays;import java.util.Scanner;public class Main_ZOJ1610 { static int[] color = new int[8005<<2]; static int[] cnt = new int[8005]; static int tcolo...

2020-03-16 12:32:17 167

原创 Prime+Kruskal Java模板

Primeimport java.util.Scanner;public class Prime { static int[][] G = new int[1000][1000]; static int n,ans; static int[] dis = new int[1000]; static boolean[] vis = new boolean[1000]; publi...

2020-03-13 12:42:03 168

原创 POJ-1988 带权并查集 Java

由于形成的不是树,所以不能用向量法找关系。用sum数组来维护i堆有几个立方体,所以x移到y上去就会有r[fx] = sum[fy]表示根节点fx节点下有sum[fy]个立方体,再更新sum[fy] += sum[fx].package 并查集;import java.io.BufferedReader;import java.io.InputStreamReader;import ja...

2020-03-12 14:09:18 141

原创 POJ-3026 bfs+最小生成树 Java

枚举’A’和’S’到其他的点建立边,用bfs搜索权值。import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main_POJ3026 { static char[][] g = new char[55][55];...

2020-03-10 11:40:39 119

原创 POJ-1733(Java) 带权并查集+离散化

import java.util.Arrays;import java.util.Scanner;public class Main_POJ1733 { static int[] id = new int[10005]; static int[] pre = new int[10005]; static int[] r = new int[10005]; //0代表偶数 1代表奇...

2020-03-03 16:09:40 152

原创 带权并查集分析Java(hdu-3038 & poj1182)

HDU-3038import java.util.Scanner;public class Main_HDU3038 { static int[] p = new int[200005]; static int[] d = new int[200005]; //表示的是i到根节点的权值 public static void main(String[] args) { Scann...

2020-03-02 20:50:18 185

原创 SPFA+Dijkstra+Floyd Java模板

SPFAimport java.util.Arrays;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class SPFA { static SE[] e = new SE[9999]; static int[] dis = new int[9999]; ...

2020-03-01 12:46:24 391 3

空空如也

空空如也

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

TA关注的人

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