动态规划学习-基础篇2
动态规划学习-基础篇2
动态规划基础学习第二篇咯,这次是补一下基础模型(中间多了很多事,最后几道耽搁了好久)
参考:
AcWing算法基础课
会把AcWing算法基础课动态规划部分所有的题目过一遍,有的题目上一篇讲过了这里就不会再提及了,可以去这里看
背包问题
这里先只讲课程里面的东西,后面有时间看看把背包九讲全复习一遍
01背包问题看这里动态规划学习-基础篇1
完全背包问题看这里动态规划学习-基础篇1
多重背包问题 I
题目链接
老规矩闫式DP分析法直接上!
我就不再像上一篇一样每个都细讲一遍了,相信大家都能看懂(尤其是某人 U•ェ•*U
其实多重背包可以思考为一个有很多相同物品的01背包,也可以看成有数量限制的完全背包,比较简单,直接开始coding
朴素版本#include<iostream>using namespace std;const int N = 110;int v[N],w[N],s[N];int f[N][N];int main(){ int n,m; cin>>n>>m; for(int i ...
动态规划学习-基础篇1
动态规划学习-基础篇1
某人最近面试连续两天被问了同一道动态规划问题,所以我便想重新学一下动态规划基础并写篇博客记录下(凑着教下这位同学hhh
基础学习好饭不怕晚,我决定先看视频速通一下基础,这里强推Acwing
参考:
闫氏DP分析法,从此再也不怕DP问题!
背包九讲专题
LeetCode提高班第三期Week1——模拟专题 && 背包问题后三讲
网上的笔记
闫式DP分析法具体可以看上面的视频去学一下,我这里简单总结一下
这里先举个不太恰当的例子简单说一下dp在做的事情。假设有一个学校,校长让你去查一下这个学校六年级总共多少人,假设有100人的话一个个去数要数100下,但如果按照班级分类的话,只需要知道每个班有多少人然后求和就可以了,比如只有5个班,而这种思想就是dp(看不懂的话请忽略我的胡言乱语hhh)。
而对于一个可以用dp解决的问题,按照闫式DP分析法,一般分为以下几个部分(直接放y总的图)
可以概括为以下步骤
状态表示:如何定义一个式子来表示状态,比如用f[i][j],并且表示什么状态(这里单独说一下状态表示方法需要平时多整理题型积累,也就是说需要记忆 ...
Java表达式注入学习
Java表达式注入学习
参考:
Java安全学习—表达式注入
表达式注入
浅析EL表达式注入漏洞
一文读懂OGNL漏洞
ONGL表达式注入浅析
SpEL表达式注入漏洞总结
SPEL表达式注入总结及回显技术
Nexus Repository Manager3 JEXL3表达式注入浅析
SpringMVC环境搭建先初始化个SpringMVC的项目,可以参考这个速通一下JavaSpringMVC
新建个module先,取名随意,我这里是参考视频里搞了个
进去后改下pom.xml然后记得maven刷一下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <mod ...
Linux闯关游戏-Bandit
Bandit科研生活太难顶了,做点小闯关游戏放松下
参考:
题目地址
linux练习平台WarGame之bandit通关日志
OverTheWire: Bandit通关指引
OverTheWire:Bandit通关WriteUp(2019.01.17完)
Level 0SSH连接即可
Level 0 → Level 1bandit0@bandit:~$ lsreadmebandit0@bandit:~$ cat readme
Level 1 → Level 2用上一关拿到的密码登录bandit1
bandit1@bandit:~$ ls-bandit1@bandit:~$ cat ./-
Level 2 → Level 3bandit2@bandit:~$ ls -alittotal 24 1514 drwxr-xr-x 70 root root 4096 Oct 5 06:20 ..517590 drwxr-xr-x 2 root root 4096 Oct 5 06:19 .517780 -rw-r----- 1 bandit3 bandi ...
FastJson反序列化学习
FastJson反序列化学习
参考:
fastjson反序列化漏洞
FastJson反序列化漏洞
Fastjson
流程分析maven配置<dependencies> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.24</version> </dependency> <!-- https://mvnrepository.com/artifact/com.beust/jcommander --> <dependency> < ...
JNDI注入学习
JNDI注入学习
参考:
从文档开始的jndi注入之路
openJDK之如何下载各个版本的openJDK源码
JNDI+RMI代码IRemoteObjpackage cn.evo1ution;import java.rmi.Remote;import java.rmi.RemoteException;public interface IRemoteObj extends Remote { public String sayHello(String keywords) throws RemoteException;}
RemoteObjImplpackage cn.evo1ution;import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;public class RemoteObjImpl extends UnicastRemoteObject implements IRemoteObj{ public RemoteObjImpl() throws ...
RMI反序列化学习
RMI反序列化学习
参考:
Java反序列化RMI专题-没有人比我更懂RMI
RMI反序列化漏洞之三顾茅庐-流程分析
RMI反序列化漏洞之三顾茅庐-攻击实现
RMI反序列化漏洞之三顾茅庐-JEP290绕过
JAVA安全基础(四)– RMI机制
浅学RMI反序列化
流程分析建议看Java反序列化RMI专题-没有人比我更懂RMI,讲的很细,这里先写一下视频中的样例程序
样例程序ServerIRemoteObj接口
package org.example;import java.rmi.Remote;import java.rmi.RemoteException;public interface IRemoteObj extends Remote { public String sayHello(String keywords) throws RemoteException;}
RemoteObjImplpackage org.example;import java.rmi.RemoteException;import java.rmi.server.Unica ...
Shiro反序列化学习
Shiro反序列化学习
参考:
Shiro反序列化漏洞笔记一(原理篇)
Shiro反序列化漏洞笔记三(解疑篇)
Pwn a CTF Platform with Java JRMP Gadget
Shiro反序列化
环境搭建可以直接git下来切换版本,也可以直接用这个链接下载,使用的版本是1.2.4。
git clone https://github.com/apache/shiro.gitcd shirogit checkout shiro-root-1.2.4
下载后修改samples\web\pom.xml里面的jstl版本为1.2
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope></dependency>
导入为maven项目后配置下tomc ...
ctfshow Web入门 刷题记录 4
ctfshow-Web入门刷题记录4
参考:
CTFSHOW web入门 java反序列化篇(更新中)
CTFSHOW web入门 java反序列化篇 web855
CTFSHOW-Java反序列化
java反序列化web846直接URLDNS访问题目网址即可
package show.ctf.java;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.lang.reflect.Field;import java.net.MalformedURLException;import java.net.URL;import java.util.Base64;import java.util.HashMap;public class web846 { public static void main(String[] args) throws IOException, NoSuchFieldException, ...
Java反序列化学习
Java反序列化学习
参考:
https://www.yuque.com/tianxiadamutou/zcfd4v
https://github.com/phith0n/JavaThings
https://github.com/Y4tacker/JavaSec
https://github.com/3em0/studyNote
https://github.com/threedr3am/learnjavabug
https://boogipop.com/2023/03/02/Java%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E7%A0%94%E7%A9%B6/
https://space.bilibili.com/2142877265/
基础知识Java基础,重点是序列化、反序列化、反射、动态代理和类的加载等。
URLDNSSerTest.javapackage com.evo1.ser;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectO ...