Spring Security登录认证【前后端分离】 1. 导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency><dependency> <groupId>org.springframework.security</groupId
JAVA网络编程 -UDP篇(简单实现网络聊天) 通过UDP实现网络聊天多线程实现UDP网络聊天1. 编写UDP发送线程UdpSendThreadimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.*;public class UdpSendTread implements Runnable{ DatagramSocket datagramSocket = null;
TCP发送实现 网络编程 TCP实现TCP和UDP区别:TCP相当于打电话,双方需要同时在线连接,UDP相当于发邮件,一方发送,接收方不要求在线,在线即可接收发送方发送的消息1. 编写发送方实体类 TcpSender(客户端)import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;public class TcpSender { public
Spring JPA环境搭建 导入依赖spring核心依赖<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.8.RELE
Codeforces Round #550 (Div. 3) E 【数学】 题目链接:http://codeforces.com/contest/1144把字符串当作26进制数,通过 (L+R)/2 ,取中间值再转成字符串就是答案。因为字符串的长度很大,算出来的数会溢出,所以需要一些技巧。假设有两个字符串 abc, efg那么就有 通过不断的 % 26得到每个位的数字。我们可以发现的是,我们其实只需要对括号内的数字 %26 就能得出结果了。...
POJ 1062 昂贵的聘礼 【最短路】 题目链接:http://poj.org/problem?id=1062假设一个起点0,根据题目给出的权值构图,答案就是从0到1之间的最短路。这里要注意的是这个等级限制的问题。首先等级限制不是相邻点之间的限制,而是整体路径的。等级的限制可以通过假设一个点为最低点求最短路,我假设某个点是最短路中等级最低的,然后求最短路。每枚举一个点就求一次最短路,取最小的值。因为你枚举的点已经是等...
POJ - 2502 Subway 【最短路】 题目链接:http://poj.org/problem?id=2502所有点用走路的速度连接,相邻站点用地铁速度连接,跑最短路。注意输出用 %.0f,取其他精度会WA#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include &...
HDU Taotao Picks Apples 【二分】 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6406先离线记录从左到右的单调递增数列,记为h[]下面分几种情况:修改的点x不在h里面:1,值减少,答案不变;2,值增加,二分h数组,答案减去点x右端比修改值小或者等于的个数。修改的点x在h里面:1,值减少;(1) x的值小于或者等于左端的值,答案加上x和x右端之间的最...
codeforces 1010D 【二分+交互】 题目链接:http://codeforces.com/problemset/problem/1011/D题目让你在1到m之间猜一个数x,你每猜一个数,会得到三种回复,-1(x < y) ,0(x == y), 1 (x > y)。而且每次回答都不一定是正确的回答,会根据一个序列p,0为错误回答,1为正确回答,的规律回复你。首先需要确定序列p,这里的方法是问n次数字1来...
POJ 2018 【二分答案+dp求最大区间段】 题目链接:http://poj.org/problem?id=2018从0到2000000(2000*1000) 枚举平均值,让数组统一减去枚举的平均值,如果存在区间和大于等于0的,就说明答案是成立的。关键是如果求最大的区间和。假设不限制区间的长度,求某一个数组的最大区间和应该怎么求?如果dp[i]表示的是某左界到右界 i 的最大区间和,那么dp[i+1] 应该如果求?因为要求...
HDU - 2546 饭卡 【01背包+排序】 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546题目问的是最小容量,而且容量可能会负数,我们可以换个角度解决问题,比如题目允许的容量是 5~m,我们可以把容量设置成m~2*m-5,这样做的好处是能把可能为负数的结果变成正数,那么就可以用01背包求解问题(dp[容量]),求的是最大值。另外需要给价格排序,比如下面这个两个数据,自己可以...
Codeforces Round #546 (Div. 2) D. Nastya Is Buying Lunch 【思维】 题目链接:http://codeforces.com/contest/1136/problem/D让所有能和最后一个点交换的点尽可能多且连续的排列在尾部,才能让最后一个点尽可能的排在前面,这个应该比较好理解。这里我们假想存在这么一个队列P,最初的时候,队列P的个数为0,那么就有下面这种假想的情况存在。a1, a2, a3, a4, [P], a5首先存在这么一个判断,a4是否能和a...
HDU - 2888 Check Corners 【RMQ(二维线段树 / ST)】 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2888第一种方法是二维线段树,注意的地方在代码注释的部分。第二种方法是 ST算法,在后面。#include <iostream>#include <cstdlib>#include <cstdio>#include <cstring>#i...
Codeforces Round #538 (Div. 2) C. Trailing Loves (or L'oeufs?) 【数论】 题目链接:http://codeforces.com/contest/1114/problem/C一个十进制数的二进制展开式中,次幂最小的那个数就是这个二进制数中末尾0的个数,所以题目的问题可以改成求某进制数的展开式中最小的那个次幂,也就是 n! % (b^r) == 0,满足这个式子的情况下,r能取的最大值。这道题有一个结论非常重要,如果你不知道的话,是做不出来的。假设n!= p1...
HDU - 3486 Interviewe 【ST表】 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3486ST表模板题。这里把题目的问题改一下。给N个面试的人分组,每一个组安排一个面试官,每一组的人数要相同,每一组只选价值最高的,每一组价值最高的加起来要大于K,让你求出至少需要多少组才能满足题目的要求(也就是要求面试官尽可能的少),这里要注意,假设我给N个面试的人分了5组,如果前几组价值最...
UVA - 11478 Halum 【二分答案+spfa】 题目链接:https://cn.vjudge.net/problem/UVA-11478这道题有两点收获。1,stack的spfa的确要比queue的spfa快很多,如果发现queue的spfa超时的话,可以试试用stack。2,之前的spfa模板给记错了,我以为松弛的次数是边的数目,今天才发现松弛的次数应该是点的数目,在搞错这个的情况下,我用stack就AC了,之前一直T,我是和别人...
POJ - 3159 Candies 【向前星+dij】 题目链接:http://poj.org/problem?id=3159差分约束问题,下面把要注意的地方讲下。首先这道题是卡队列的,如果你用的是spfa,要把queue换成stack才能过,至于为什么就不是很清楚了(可能是因为题目的数据是稠密图,每次队列的插入和删除开销大,和下面要用向前星一样,vector比较适合用来存储稀疏图的边,而稠密图最好用向前星),要么就是dij的堆优化。如果你...
POJ - 2983 Is the Information Reliable 【spfa解决差分约束问题】 题目链接:http://poj.org/problem?id=2983原理在上篇博客已经讲过了,这里把要注意的讲下。1,因为差分约束问题都是不等式约束,以不等式为基础给题目建图,但是如果题目给出的约束条件是 d[u] - d[v] == w,怎么处理?w <= d[u] - d[v] <=w,这样就能表示d[u] - d[v] == w这个条件,一条正向正权值,一条反向负...
POJ - 2019 Cornfields 【二维线段树】 题目链接:https://vjudge.net/problem/POJ-2019我写的这个二维线段树没什么技巧,就是直接开一个 node[cur][cure],cur代表的是x轴的一维线段树,cure代表的是y轴的一维线段树。初始化:先从x轴开始做线段树的操作,当x轴到达叶节点时,再对y轴做线段树的操作,x轴返回到父节点时,一样要对y轴从1到N重头做一次线段树的操作,这是初始化的过程,...
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) Toy Train 【贪心】 题目链接:http://codeforces.com/contest/1130/problem/D2贪心的策略还算比较容易找的,但是会比较难写。贪心策略是每次都取离当前车站最远的一颗糖,这样能多经过几个车站多取几颗糖,省时间。但是写起来特别麻烦。但是如果你能把这道题的问题写成一个公式,那么会简单很多。假设5个车站,只有一个车站有3颗糖,并且这3颗糖都不是当前车站的。这个时候我们...