序列1860 cf
Java二次反序列化
前言 题目hook resolveClass存在入口类黑名单,就可以用二次反序列化绕过,例如巅峰极客的babyurl。 本质是,A类的a方法,内部可以实现反序列化,并且要反序列化的对象我们可控;在B入口类被禁用的情况下, 通过把要反序列化的恶意对象b放入A类,用没被禁用的入口类C的readObjec ......
java反序列化 ROME链
环境搭建 jdk8u181 <dependencies> <dependency> <groupId>rome</groupId> <artifactId>rome</artifactId> <version>1.0</version> </dependency> </dependencies> 利 ......
Java反序列化 CC4链
参考链接 https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections4.java https://www.bilibili.com/video/BV1NQ4y ......
Java反序列化 CC2链
参考链接 https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections2.java 环境搭建 CommonCollections4 jdk8u65 利用链分析 ......
Java反序列化 CC5链
参考链接 https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections5.java 环境搭建 Commons.Collections 3.2.1 jdk8u65 ......
Java反序列化 CC7链
参考链接 https://blog.csdn.net/qq_35733751/article/details/119862728 https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/Com ......
java 序列话注解 @Transient
java 序列话注解 @Transient Java 序列化注解及其使用 简介 在 Java 程序中,对象的序列化是指将对象转换为字节流的过程,以便在网络上传输或保存到文件中。而反序列化则是将字节流重新转换为对象。 Java 提供了 java.io.Serializable 接口,用于标识可序列化的 ......
java中的关键字transient,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会被序列化
java中的关键字transient,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会被序列化 这个关键字的作用其实我在写java的序列化机制中曾经写过,不过那时候只是简单地认识,只要其简单的用法,没有深入的去分析。这篇文章就是去深入分析一下transient关键 ......
CF1850E Cardboard for Pictures 题解
题意: 思路: 问题转化为:求解满足 $ \sum_{i = 1}^n (a_i + 2w)^2 = c $ 的 $ w $ 。 观察,等式左侧 $ \sum_{i = 1}^n (a_i + 2w)^2 $ 随 $ w $ 的增大而增大,而 $ c $ 不变,因此考虑二分 $ w $ 的值。 ......
CF1809D Binary String Sorting 题解
题意: 思路: 贪心: 单调不降的 $ 01 $ 字符串,一定是一串连续的 $ 0 $ 再加上一串连续的 $ 1 $ 。由于每次操作的代价很大,所以需要在操作次数尽可能少的情况下,尽可能多地使用交换操作。 由于 $ 1 $ 次交换操作,只能减少 $ 1 $ 个逆序对,当存在多个逆序对时,优先通过删除 ......
Django序列化
关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式 1、serializers 1 from django.core import serializers 2 ret = models.BookType.objects.all() 3 ......
09-序列化器的 many=True 实现原理
入门知识 上面说明了,解释器会先执行 new 方法,再执行 init方法 下面说明了,如果new返回的空对象不是当前init对应的类型,就不会执行init。 序列化器 many=True 的简化版 可以看到 many_init 方法返回的是 Alist的空对象,而不是 A 的空对象,因此,没有 A ......
代码随想训练营第五十七天(Python)| 647. 回文子串、516.最长回文子序列
647. 回文子串 1、中心扩散法+双指针 class Solution: def countSubstrings(self, s: str) -> int: res = 0 for i in range(len(s)): # 以 i 为中心 res += self.countPalind(i, i ......
CF603题解
CF603 Codeforces Round 334 (Div. 1) CF603A link CF603A题意 现有一个长度为 \(n\) 的 01 串, 可以进行一次区间翻转 ( 起点终点随意, 并且区间里的值 1 变 0, 0 变 1 ), 得到一个新的 01 串, 使得得到的新的 01 串中 ......
CF1824B1 LuoTianyi and the Floating Islands (Easy Version) 题解
题意: 思路: 由于 $ k ∈ [1,3] $ ,分类讨论: 当 $ k = 1 $ 时,有人结点自身即为好结点,每种情况的期望为 $ \frac{1}{n} $ , $ n $ 种情况的期望和为 $ 1 $ 。最终答案即为 $ 1 $ 。 当 $ k = 2 $ 时,$ 2 $ 个有人结点之间的 ......
代码随想训练营第五十五天(Python)| 392.判断子序列、115.不同的子序列
392.判断子序列 1、双指针 class Solution: def isSubsequence(self, s: str, t: str) -> bool: m, n = len(s), len(t) i, j = 0, 0 while m > i and n > j: if s[i] == t ......
CF1900E Transitive Graph
题目传送门 前置芝士:缩点、拓扑排序。 题目描述 有向图 \(G\) 有 \(N\) 个点,\(M\) 条边,点 \(u\) 的点权为 \(A_u\)。 若存在三元组 \(a,b,c\) 使得 \(a\) 至 \(b\) 有一条边,\(b\) 至 \(c\) 有一条边,则连一条 \(a\) 至 \( ......
代码随想训练营第五十三天(Python)| 1143.最长公共子序列 、1035.不相交的线 、53. 最大子序和
1143.最长公共子序列 class Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: m, n = len(text1), len(text2) # dp 数组代表 text1 以 i-1 结尾 ......
[CF1902] Educational Codeforces Round 159 A~E 题解
[CF1902] Educational Codeforces Round 159 A~E 题解 A. Binary Imbalance 很快观察到如果有不同的相邻元素,那么一定有解,意味着如果全是 1 无解,其他有解 B. Getting Points 题面很长,可以发现,最好的偷懒方式一定是把所 ......
CF55D Beautiful numbers
题意 给定序列 \(S\)。 求满足以下性质的 \(S\) 的排列的数量: \(\max_{j = 1} ^ {i - 1} s_j \ge 2 \times s_i\) 或 \(\max_{j = 1} ^ {i - 1} 2 \times s_j \le s_i\)。 Sol 排个序先。 设 \ ......
CF1833G Ksyusha and Chinchilla 题解
题意: 思路: 当 $ n \not \equiv 0 \space (mod \space 3) $ 时,无解; 当 $ n \equiv 0 \space (mod \space 3) $ 时,设 $ size_u $ 表示以 $ u $ 为根的子树还剩余的节点个数,自根节点向叶子节点递归,返回 ......
CF1681D Required Length 题解
题意: 思路: $ BFS $ : 对于每一个数 $ x $ ,枚举其数位 $ num \space (0 \le num \le 9) $ ,将 $ x $ 与 $ num $ 的乘积 $ y $ 放入队列。重复该过程,直至 $ y $ 的位数与 $ n $ 相同。 剪枝: $ 1 $ . 对于重 ......
CF1695C Zero Path 题解
题意: 思路: 设 $ minv $ 表示路径最小权值和, $ maxv $ 表示路径最大权值和。 当且仅当路径长度 $ n + m - 2 \equiv 0 \space (mod \space 2) $ 且 $ minv \le 0 \le maxv $ 时,一定有权值和为 $ 0 $ 的路径; ......
CF1163B2 Cat Party (Hard Edition) 题解
题意: 思路: 对于满足条件的区间 $ [1,x] $ ,有如下三种情况: $ 1 $ . 所有元素出现次数都为 $ 1 $ ; $ 2 $ . 除了一个元素出现次数为 $ 1 $ 之外,其余元素出现次数都相等; $ 3 $ . 除了一个出现次数比其他数的出现次数多 $ 1 $ 的元素之外,其余元素 ......
CF1198B Welfare State 题解
题意: 有一个长度为 $ n $ 的序列 $ a $ ,给定 $ q $ 次操作,每次操作为以下两种之一: $ 1 $ . $ 1 $ $ p $ $ x $: $ a_p = x $ $ 2 $ . $ 2 $ $ x $: $ a_i $ $ = $ $ max $$($$ a_i $ ,$ x ......
CF1442D Sum 题解
题目链接 点击打开链接 题目解法 \(n^3\) 的 \(dp\) 是显然的 但我们没用到 \(a\) 不降的性质 考虑一个很妙的结论:最优选法中,至多只有一个序列取了且未取满 为什么? 如果最优情况下,存在选且未选满的序列为 \(a,b\),第一个未选的元素为 \(x,y\) 如果 \(a_x>a ......
CF613D Kingdom and its Cities
题意 给定一棵树,每次询问给出 \(k\) 个点。 问最少删除多少个 节点 (不能删这 \(k\) 个点) 使得这 \(k\) 个点两两不连通。 Sol 无解的情况是 \(trivial\) 的。 判断是否有相邻的两个关键点就行了。 但是 \(dp\) 是不太 \(trivial\) 的。 设 \( ......
CF1692G 2^Sort 题解
题意: 思路: 必要性: 对于任意一个符合条件的区间[l,r],任意相邻两项,满足a_i < 2 * a_{i + 1}(l \le i \le r - 1)。 充分性: 对于任意一个长度为k + 1的区间[l,r],如果任意相邻两项满足a_i < 2 * a_{i + 1}(l \le i \le ......
CF1901 C Add, Divide and Floor 题解
Link CF1901 C Add, Divide and Floor Question 给定一个长度为 \(n\) 的序列,每次操作你需要选择一个整数 \(x\) ,并将所有 \(a_i\) 替换为 \(\lfloor \frac{a_i+x}{2} \rfloor\) 。求至少多少次操作后能将所 ......