- 博客(255)
- 资源 (1)
- 收藏
- 关注
原创 加密算法的简易应用
在介绍如何使用实现加密之前,首先来介绍一个类.这是java自带的加密实现类,也是本文依赖的重点。创建实例通过调用静态方法其中algorithm不做过多解释,就是AES/DES/RSA这样的具体具体加密算法。mode这里只介绍两种比较常见的CBC和ECB,至于OFB这种高阶模式,ECB全程是 Electronic CodeBook,它会将要加密明文msg分为固定长度,比如64,然后独立加密每一组。
2022-12-01 22:27:49 996 1
原创 数据库索引原理
可以看到,只有列col1上的数据是有序的,确切来说是只有选取包含列col1的数据组合才是有序的,如(col1),(col1,col2),(col1,col3),(col1,col2,col3);如果索引建立在某个自增序列上,且按序列顺序连续删除记录,由于序列自增,导致后续加入的数据不会进入到有删除标记的树节点中,从而造成索引空间不能释放,产生碎片。B树节点指示了子树的数据范围,所以查询时只需要顺序遍历节点中元素,并按指针地址去磁盘中寻找下一次需要加载到内存中的数据块,不断重复直到叶结点。...
2022-08-08 23:04:26 468
原创 codeforce1679C. Rooks Defenders
传送门:线段树也不过如此这标准线段树模板题,但是多年没碰线段树,现在已经基本不会写了T^T首先是创建线段树。线段树是个满二叉树,如果从长度为n的数组上生成线段树,那么树节点个数m满足m≤2q+1−1 m \le 2^{q+1} - 1m≤2q+1−1其中2q>n∧2q−1<n2^q > n \land 2^{q-1} < n2q>n∧2q−1<n此外对于满二叉树来说,假设当前节点编号为n,则left node编号为2n2n2n,right node编号
2022-05-22 00:06:39 386
原创 codeforce1670C. Where is the Pizza?
传送门:今天想不出骚话定义一个长度为n的序列为:序列中仅包含数字1到n,且序列中没有相同的数字,也就是说1到n每个数字必须出现一次。现在有两个序列a和b,把这两个序列重新排列,仍然可以构成一个序列,称为c。重新排列的方式为:c[i]=a[i]c[i] = a[i]c[i]=a[i] 或 c[i]=b[i]c[i] = b[i]c[i]=b[i]且已知部分位置上序列c的值求有多少种方式能构成满足条件的序列c首先来考虑,当确定了序列c的一位后,影响范围会有多大。假设有如下序列,序列c第一位选定为
2022-05-08 20:52:15 360
原创 codeforce1673C. Palindrome Basis
传送门:今天不学习,明天变辣鸡简述一下题意:给出一个n,求有多少回文数相加的方式等于n。其中4 = 1+2+1 和 4 = 2+1+1为一种相加方式,要求方式间至少要有一个数字不同,才能叫做不同方式。首先,n<4e4的,而且还是仅考虑范围中的回文数,所以实际的数据量是很小的,不会超过1e3,所以写个最暴力的dp也才4e7的计算量,给2s的时间绝对够了。怎么判断回文数见代码实现。然后就是如何设计递推公式和dp数组了。这个我也没想出来,直接看的tutorial。记dp[k][m]表示前m个回文
2022-05-02 00:21:22 395
原创 codeforce1671C. Dolce Vita
传送门:誰にだって訳があって、今を生きって水题碰彩笔,我直接嘤嘤嘤思路很简单,就是挑着便宜的买,因为所有商品每次涨价幅度一样,所以预算不超,买的方式和上一轮一样;如果超了,不要最贵的。重点再于实现细节#pragma GCC diagnostic error "-std=c++11"#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long long#define Pair pair<int,int>#d
2022-04-24 22:08:34 375
原创 codeforce1651C. Fault-tolerant Network
传送门:四月は君の嘘现在有两排电脑,a之间相互可达的,b之间相互可达,但是a,b之间不相连每个电脑有自己的值,将电脑ai,bj相连,花费abs(a[i]-b[j])。现在求将a,b两排电脑组成有容错网络的最小花费。其中有容错网络指,a或b中任意一台电脑断开与其他电脑的连接,其余电脑之间仍然保持连接首先我们随意连接序列a和b中两个点。设aia_{i}ai和bjb_{j}bj相连;apa_{p}ap和bqb_{q}bq相连,组成网络如图所展示对于这样的网络,不难看出断开[a0,ai][a_
2022-04-04 17:37:06 819
原创 spring整合Gson
spring整合Gson如何操作配置上没啥好说的,首先去除spring自带的Jackson# pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion>
2022-01-14 00:01:10 624
原创 vscode+opencv搭配食用记录
vscode+opencv搭配食用记录推荐安装指南中文互联网害人不浅环境配置cmake version 3.9.0-rc4gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)opencv version: OpenCV-4.1.1-x64下载对应版本即可,安装教程见百度vscode配置launch.json{ "version": "0.2.0", "configurations":
2021-12-26 19:33:03 1354
翻译 git底层命令介绍
文章目录git原理概述git objectblob objecttree objectcommite objectGit ReferencesTagRemotepakcfilesrefspecTransfer Protocolsdumb protocolsmart protocoluploading datadownload dataMaintenanceData Recoverygit原理概述首先,我们执行git init命令初始化一个新的仓库(repository),该命令会产生一个.git文件夹
2021-12-05 19:41:08 828
原创 spring-aop 学习记录
文章目录spring-aop 学习记录aop conceptspring implementsspring-aopspring-aspectsxml配置注解配置spring-aop 学习记录面向切面编程aspect oriented programming,实现对现有业务逻辑的非侵入式增强,如日志记录,权限管理的aop conceptjoin pointJoin point is any point in your program such as method execution, exce
2021-10-06 15:25:21 104
原创 July leetcoding Challenge 2021
传送门初版待优化class Solution {public: vector<int> ans; vector<int> grayCode(int n) { int lim = 1<<n; vector<bool> vis(lim,false); vector<vector<int> > adj; for(int i=0;i<l
2021-10-06 15:18:47 125
原创 OverScroll介绍
OverScrollOverScroll作用首先,OverScroll虽然内置了很多看起来像执行滑动效果的方法名,比如startScroll(int, int, int, int),springBack(int, int, int, int, int, int)等等,但是他们并不实际执行滑动效果,只是用于辅助计算,真正的滑动效果需要自己实现。以startScroll为例,查看源码可以发现该方法只是设定了动画参数和相关状态,并没有开启动画void startScroll(int start, int
2021-08-24 01:13:36 398
原创 MotionEvent 说明
MotionEvent 说明完整touch event流程Android用于描述动作的封装类。这里的动作不仅包含touch event,还有如鼠标、手柄等不同输入设备所触发的动作,下文以touch event为例。该类将一个动作描述为动作码action code和一些系列坐标值。当手指触碰屏幕时,首先产生动作码为ACTION_DOWN的MotionEvent,随后ACTION_MOVE记录手指在屏幕上的滑动信息,当手指离开屏幕时产生ACTION_UP,此时一个touch event就正常结束了。但是不
2021-08-18 21:11:21 225
原创 Scroll嵌套ListView的小问题
ListView在ScrollView嵌套问题Dont put ListView inside of a ScrollView如果一定要这么做的话,可能会涉及到如下两点问题ListView只显示第一个item,没有展开这里涉及到ListView的绘制过程,产生问题的原因在ListView#onMeasure方法中。现在我们有一个ListView,配置如下<ListView android:id="@+id/scroll_list" android:layout_widt
2021-08-11 00:00:35 141
原创 Interceptor实现的权限管理
这几天老板突发奇想要我在app上搞个权限检验,“哎呀,这个很简单的,你从数据库里把权限找出来,然后放到手机里,用的时候比对一下就可以了”。这也太完蛋了,直接把权限暴露出去不说,这代码写的一点设计感都没有,真就开发一时爽,维护火葬场。所以在一上午面向百度编程之后,尝试了一下传说中的aop编程。在后端项目中,利用Interceptor在调用方法执行前进行拦截,根据调用方法上的注解验证当前session用户的权限。首先是实现检验用户持有权限完整代码不敢放,怕查水表,只能写个伪的 boolean check
2021-07-29 22:01:12 292
原创 图象带状噪声去除
对指定图像的复原与增强原图像 1-1实验流程如下:根据观察不难得出图像中存在脉冲噪声,故而应用中值滤波器进行滤波,去除脉冲噪声。对于脉冲噪声的滤除不限于滤波方法,笔者曾尝试过其他思路,但是由于效果较中值而言略显粗糙,仅作为附加方案在下文叙述。而对于图像中的亮线,采取截短做Fourier Transform进行频域滤波的方法,尝试进行复原。关于该方法做如下说明:根据亮线的形态及对于空间波的认知来说,我们可以认为这些亮线是由某一频率的空间波构成,也就是说,我们可能在频域上进行滤除。但是这里要提出
2021-06-04 15:48:04 672 1
转载 canvas.drawArc说明
原文->????public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)public void drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, Paint paint)这两个
2021-04-17 13:56:16 406
原创 Android Application类讲解
Application类贯穿与整个app的声明周期,是一个创建的context1,也是最后一个销毁的context。下面说一下Application可以干什么共享数据or组件在第一个Activity启动前完成前置动作在新建的Android项目中会使用系统默认的Application实例,如果需要自定义Context is information about its execution environment ↩︎...
2021-04-16 15:50:57 1731
原创 Android自定义控件实现
数据库创建根据api返回信息,初步确定表必要的列。此外市区还需额外加入列记录所属省市信息。// 城市选择三级列表关系以Province为例,代码如下public class Province extends LitePalSupport { @Column(unique = true) private String id; private String name; public String getId() { return id; }
2021-04-15 20:49:22 343 1
原创 Android custom view--实时太阳轨迹
代码实例假装这里有个动图大概有一个半⚪,表示从日出到日落这段时间,根据当前时间把☀绘制到合适的地方。但是⚪不好看,最后换成椭圆了。attr.xml<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="SunTrack"> <!-- 背景椭圆短轴和长轴长 --> <attr name="oval_width" form
2021-04-14 15:26:01 465 1
原创 从零开始的android开发---Day.0
Git 配置安装git for windows,下载过程自行百度。安装完成后,配置个人身份信息git config --global user.name "your name"git config --global user.email "your email"完成配置后通过如下命令查看配置信息git config --global user.namegit config --global user.email Create repository登陆/注册GitHub账号,进入Y
2021-04-13 22:14:06 68
翻译 Timing API详解
文章目录IntroductionProcessProcessing ModelUsing the Resource Timing APITiming resource loading phasesTiming resource loading phasesManaging the resource buffer文档链接Introduction准确的测量web应用的性能数据可以更好的帮助我们优化web应用的性能。然而基于JavaScript机制(详见 JSMEASURE)只能在应用中提供测量,在很多情况
2021-04-09 15:50:08 1047
原创 Android Handler
文章目录Handler应用初始化发送消息接收消息内存泄漏解决措施Handler用于同一进程中的线程通信,Handler实例关联于一个线程以及其消息队列应用1. 安排Msg/Runnable在未来某一时间结点运行2. 将动作交付于其他线程执行 There are two main uses for a Handler: (1) to schedule messages and runnables to be executed at some point in the future; and
2021-01-05 18:54:24 1025
原创 Android四大件之Activity
文章目录生命周期Activity恢复Activity间数据传递Activity启动模式生命周期活动状态运行状态栈顶且可见 此时Activity可以和用户交互,有焦点,strongly recommend 不回收此状态下活动暂停状态非栈顶且可见 虽然可见但是已经不可交互,无法获取焦点,例如弹窗下面的界面,虽然可见但是点了没反应。同样strongly recommend 不回收此状态下活动停止状态即不再栈顶而且不可见 此时Activity已经完全不可见,但是系统仍会保存该Activity的信息
2020-12-12 21:10:20 153
原创 java实现常用排序算法
参考文章:十大经典排序算法Data Structure and Algorithms - Quick Sort主程序 public static void main(String args[]){ int t=100; int sum=0; LearnSort a = new LearnSort(30); for (int i = 0; i < t; i++) { a.generate_rand_
2020-12-12 21:09:52 83 3
原创 功率谱分析
文章目录功率谱传输函数对功率谱的影响如何matlab实现帕塞瓦尔定理自相关函数welch算法功率谱传输函数对功率谱的影响如何matlab实现帕塞瓦尔定理自相关函数welch算法...
2020-12-12 21:09:29 2145
原创 HDU - 1506 Largest Rectangle in a Histogram 单调栈
神秘链接 ┗|`O′|┛ 嗷~~ 在直方图中,找面积最大的矩形#include <stdio.h>#include <climits>#include <cstring>#include <time.h>#include <math.h>#include <iostream>#include <al...
2020-12-12 21:08:36 66
原创 codeforces1110C. Meaningless Operations
题目链接 琪亚娜世界第一可爱! 给出a求对应值f(a)=max0<b<agcd(a⊕b,a&b)f(a)=\max _{0<b<a} gcd(a \oplus b, a \& b) f(a)=0<b<amaxgcd(a⊕b,a&b)根据XOR 与 AND 运算的不同,分为 g...
2020-12-12 21:08:19 116
原创 Codeforces Round #677 (Div. 3)题解
Problem A题目描述:题目解析:#pragma GCC diagnostic error "-std=c++11"#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long long#define Pair pair<int,int>#define re return#define getLen(name,index) name[index].size()#define mem(a,b) m.
2020-11-18 15:38:16 115
原创 Codeforces Round #674 (Div. 3)题解
Problem A题目描述:第一层2个房间,以后每一层x个房间,求第n个房间在第几层题目解析:略略略#pragma GCC diagnostic error "-std=c++11"#include <bits/stdc++.h>#define INF 0x3f3f3f3f#define ll long long#define Pair pair<int,int>#define re return#define getLen(name,index) name[
2020-10-17 21:44:41 199 2
原创 Editorial of Codeforces Round #672 题解
Problem A题目描述:将给出长为n的数组排序为不减序列,每次只能交换相邻位置的数,问能否在n(n−1)2−1\frac{n(n-1)}2-12n(n−1)−1次以内完成。题目解析:对数组排序的过程实际上就是一个冒泡排序的过程。冒泡排序的最坏复杂度是O(n2)O(n^2)O(n2),此时的序列是降序的,执行交换的次数恰好为n(n−1)2\frac{n(n-1)}22n(n−1)。所以这个题就转变为了求:数组是否为降序序列。但是这里还有一个问题没有解决:如果数组中有重复元素应当如何处理?...
2020-10-07 19:57:33 111
原创 HTTP面试题
HTTP与HTTPS的区别 什么是Http协议无状态协议?怎么解决Http协议无状态协议?define of HTTP statelsscookie 过程 安全问题session 过程 负载均衡URI URL和URN区别URI统一资源标识符,用于标识网络资源。URL统一资源定位器,特别指出资源位置提供查询。URL是URI的一个子集。https://stackoverflow.com/questions/176264/what-is-the-difference-between-a-uri-a.
2020-09-08 23:27:39 138
原创 Java basic
文章目录反射注解作用内置注解元注解自定义注解使用注解序列化抽象类 & 接口内部类枚举反射注解用于说明程序,是绑定到程序代码中的元数据作用编写文档。通过标识注解生成DOC文档利用属性配置文件编译检查内置注解@Override 重写检查@Deprecated 标注内容已过时@SuppressWarning 压制警告@FunctionaallInterface 标识接口中只允许有一个抽象方法元注解用于描述注解的注解@Document 被修饰类是否在JavaDOC当中@R
2020-08-30 00:26:41 370
原创 线程池讲解
文章目录为什么要用线程池线程池结构线程池生命周期任务执行机制任务调度任务缓冲任务申请任务拒绝线程执行过程线程添加线程执行任务线程回收应用动态化线程池设计为什么要用线程池降低资源消耗,提高响应速度池化将线程统一在一起,避免了创建/释放线程的损耗提高线程可管理性,合理配置资源防止对资源的无限申请,对线程合理的调度及监控线程池具有可扩展性线程池结构线程池生命周期线程池中有两个重要参数管理线程池的生命周期:线程池运行状态runState 和 线程数量workerCount,这两个参数在同一变
2020-08-29 10:04:21 154
原创 JDK集合类Collection解析--HashMap
文章目录HashMap源码解析内部结构重要参数构造方法常用方法putresizegetremove线程安全版本HashMap源码解析HashMap实现散列这一数据结构,维护一个散列表用于快速查询内部结构HashMap内部以词条(key-value)数组维护散列表,采用拉链法应对hash碰撞。所谓词条数组指:具有相同键值key的元素放在一起。当然我们不能key唯一,可能且允许出现重复。当出现重复时,就发生了hash碰撞。拉链法指:对于key相同,但是不equals的元素(即不能合并),以链表的形式
2020-08-26 10:45:18 267 1
原创 多线程之并发工具
文章目录ThreadLocal内存泄漏原子类CAS常用方法ThreadLocal除了将变量定义为immutable以外,ThreadLocal提供了新的线程安全思路。ThreadLocal实现线程安全是将变量独立的保存到每个线程中,这样就不存在竞争问题,也就用不到互斥锁了;同时每个线程中都有一个变量的独立副本(该副本对其他线程不可见),也不用考虑线程安全问题。实现上,ThreadLocal类中没有存储结构,ThreadLocal依赖于当前线程中的threadLocalMap存储 public
2020-08-26 01:31:37 215 1
原创 HTTP协议
文章目录报文开始行请求报文响应报文首部行实体主体链接长连接短链接客户端认证cookiesessionhttps数字认证RSA非对称加密数字签名数字证书SSL握手HTTP就是一个用文本格式描述报文头并用双换行分隔报文头和内容,在TCP基础上实现的请求-响应模式的双向通信协议。报文开始行开始行用于区分是何种报文请求报文请求行的第一行只有三个内容:方法,URL,HTTP版本。HTTP的1.0版本中只有三种请求方法GET请求指定的页面信息,并返回实体主体。GET请求请提交的数据放置在HTTP请求
2020-08-18 16:18:28 396
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人