JDBC技术
常用://注册驱动Class.forName(“com.Mysql.jdbc.Driver”);//获取链接Connection connection=DriverManager.getConnection(url,user,password); url,user,password jdbc:数据库厂商名://ip/端口/数据库名称,账号,密码//编写sql语句String sql=”select * from biao1 where user=? and password=?”;//创建PreparedStatementPreparedStatement ps=connection.PreparedStatement(sql);//占位符赋值ps.SetObject(1,user);ps.SetObject(2,password);//发送sql语句,并 ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114import java.util.*;import java.io.*;//lcapublic class Main { static int N=(int)(1e5+10); static ArrayList<Integer> node[]; public static void main(String args[]) { int n=in.nextInt(); node=new ArrayList[n+10]; for(int i=1;i<n;i++) { int ...
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091import java.util.*;import java.io.*;//st表(RMQ问题)public class Main { static int n,a[]; public static void main(String args[]) { n=in.nextInt(); int q=in.nextInt(); a=new int[n+10]; for(int i=1;i<=n;i++) { a[i]=in.nextInt(); } init(n); while(q-->0) { int l=in.nextInt(); int r=in.n ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104import java.util.*;import java.io.*;//Kruskal最小生成树public class Main { public static void main(String args[]) { int n=in.nextInt(); int m=in.nextInt(); PriorityQueue<int[]> node=new PriorityQueue<>((o1,o2)->(o1[2]-o2[2])); for(int i=1;i<=m;i++) { int u=in.ne ...
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586import java.util.*;import java.io.*;//floydpublic class Main { public static void main(String args[]) { int n=in.nextInt(); int m=in.nextInt(); int q=in.nextInt(); long node[][]=new long[n+10][n+10]; for(int i=1;i<=n;i++) { Arrays.fill(node[i],Long.MAX_VALUE); node[i][i]=0; } for(int i=1;i<=m;i++) ...
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697import java.util.*;import java.io.*;//复习spfapublic class Main{ static int n,m,k; static int N=(int)(2e5+10); public static void main(String[] args) { n=in.nextInt(); m=in.nextInt(); //k=in.nextInt(); for(int i=1;i<=m;i++) { int a=in.nextInt(); int b=in.nextInt(); int c=in.nextInt(); a ...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899import java.util.*;import java.io.*;//dijpublic class Main { static int N=(int)(1e5+10); public static void main(String args[]) { int n=in.nextInt(); int m=in.nextInt(); ArrayList<int[]> node[]=new ArrayList[N]; for(int i=1;i<=m;i++) { int u=in.nextInt(); int v=in.nextInt(); i ...
KMP算法
KMP核心思路性质:当前字符的前缀长度一定小于等于当前长度,next[i]<=i思路:当前字符的前缀长度初始化为前一个字符的前缀长度(前一个字符已经验证了当前字符以前的前缀)匹配这个前缀长度的前缀末端下一个元素与当前元素是否相等,如果相等,长度加一,如果不等,获取前缀末端的前缀长度继续匹配。
如图
1234567891011121314151617//核心代码static void KMP(String str){ int len=0; next[1]=0; for(int i=2;i<str.length();i++){ while(len>0&&str.charAt(i)!=str.charAt(len+1)){ len=next[len]; } if(str.charAt(i)==str.charAt(len+1)){ len++; } ...
algorithm
未读Manacher回文串高效算法
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394import java.util.*;import java.io.*;//Manacher算法public class Main{ public static void main(String args[]) { int n=in.nextInt();//n长度的字符串 String str=in.next();//字符串 StringBuilder sb=new StringBuilder();//可修改字符串 for(int i=0;i<str.length();i++) {//变成#字符串#格式去除奇偶性 sb.append("#&quo ...
字符串单哈希,单哈希有可能被卡哈希值
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081import java.util.*;import java.io.*;//字符串单哈希public class Main { static int mod=998244353;//哈希模数 static int p=131;//哈希倍率 static String str; public static void main(String args[]) { int n=in.nextInt();//长度n的字符串 int q=in.nextInt();//q次询问 str=" "+in.next();//从1开始的字符串 init();//初始化字符串哈希 while(q-->0) & ...


