集训队 题解2019 day

杭州电子科技大学2023新生赛 G 逃离节奏面 题解

Question 杭州电子科技大学2023新生赛 G 逃离节奏面 题太长自己看吧 Solution 考虑到如果走了几步后走到了相同节奏面的相同点是没有意义的,所以直接 BFS ,对于走过的节奏面的哪个点不需要走就能刷出最短路了 实际上实现的时候细节很多,要注意一下 Code #include<bit ......
题解 新生 节奏 大学 电子

ciscn_2019_s_3

ciscn_2019_s_3 ret2csu 在64位程序中可以通过栈溢出控制__lib_csu_init中的参数来控制rdx,rsi,edi寄存器 64位函数传入的参数依次存在寄存器rdi,rsi,rdx (顺序从左到右),返回值存在rax中 syscall函数会根据rax的值来调用函数,例如当r ......
ciscn 2019

ciscn_2019_n_5

ciscn_2019_n_5 ret2shellcode libc泄露 程序没有开启NX保护,并且是RWX权限可以运行段上代码 预期解:往name中写入shellcode,再利用get转跳到相应的.bss段上运行shellcode 非预期解:通过get泄露puts()地址,泄露libc地址,劫持程序 ......
ciscn 2019

ciscn_2019_ne_5

ciscn_2019_ne_5 32位ROP劫持 程序逻辑 /bin/sh的替代方案sh 栈上覆盖 ROPgadgets查找字符串 GetFlag函数 1.GetFlag函数中把先前AddLog中加入的src变量赋给了dest,这里存在溢出 2.Print函数中有system函数,通过plt_sys ......
ciscn 2019 ne

杭州电子科技大学2023新生赛 E 树 题解

Question 杭州电子科技大学2023新生赛 E 树 给定一颗包含 \(n\) 个节点的带边权的树,定义 \(xordist(u,v)\) 为节点 \(u\) 到 \(v\) 的简单路径上所有边权值的异或和 有 \(q\) 次询问,每次给出 l r x 求 \(\sum_{i=l}^r xord ......
题解 新生 大学 电子 科技

黑马程序员《苍穹外卖》项目Day02-02-新增员工_代码开发

问题:使用注解@Insert插入数据到sql中时无法正确识别sql表 办法: 1、先在idea添加数据库,导入驱动(具体可搜索idea Mysql驱动安装导入) 2、安装好数据库及驱动之后,如图,勾选需要的架构。可以查看到对应的表即为导入成功 3、最后在Insert位置添加对应表即可。具体操作为光标 ......
苍穹 黑马 程序员 员工 代码

【省选联考2020】树 题解

省选题解第一发~ 【省选联考2020】树 我和这道题还挺有缘分的。 有一次看大佬的省选游记(不知道是哪一年),然后提到有一道是01trie整体加一,当时我就印象深刻,然后在 oiwiki 上看了一下,心想这整体加一也只能从低位到高位维护 01trie 啊,又不能查询最大值,有什么卵用(划掉)。 这是 ......
题解 2020

代码随想录day04 两两交换链表中的节点 删除链表的倒数第N个节点 链表相交 环形链表

两两交换链表中的节点题目: 这题画一下链表会比较清晰 写写画画指针位置很快就可以写出来 一开始以为一个tmp就够用了 写着写着发现需要多一个 代码: 删除链表的倒数第N个节点: 没什么思路 只好先看看视频思路 视频思路很简单也很清晰 只需要两个指针 一快一慢 两指针的间隔就是n 这样当快指针到末尾的 ......
节点 随想录 环形 随想 代码

题解 [SDOI2016] 游戏

可以看出来出题人很想出一道把李超和别的什么东西凑起来的题目,于是给了这么一个缝合怪。 https://www.luogu.com.cn/problem/P4069 符号有点混乱。比如箭头又可以表示路径又可以表示赋值,代入语境应该还是好理解的。 看到 \(a\times dis + b\) 就应激反应 ......
题解 SDOI 2016

算法学习Day17二叉树迭迭迭迭代

Day17迭迭迭迭代 By HQWQF 2023/12/28 笔记 110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树_每个节点_ 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入: root = [3,9,20,null ......
算法 Day 17

20231213-sdfz多校集训-DS

非 lxl 的 DS 不会线性代数,只能来写 DS 了。 20231226- 没有逻辑,直接放例题。 P1527 矩阵乘法 - 整体二分 P1527 [国家集训队] 矩阵乘法 给你一个 \(n \times n\) 的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第 \(k\) 小数。 \(1 \l ......
20231213 sdfz DS

CF1884D Counting Rhyme 题解

Problem - D - Codeforces Counting Rhyme - 洛谷 法1: 我们之前肯定看过这样一道非常经典的题: 求 \(a_i\) 中有多少对 \((i,j)\),满足 \(\gcd(a_i,a_j)=1\) \(n \leq 10^6\) 这题是莫反板子题,但显然可以不用 ......
题解 Counting 1884D Rhyme 1884

[ABC334C] Socks 2 题解

题目传送门 一道贪心题。 数量为 \(2\) 的袜子不用考虑,因为最好的情况就是相同颜色的配一对。 我们只需要考虑那 \(k\) 种只有 \(1\) 个的袜子,如果 \(k\) 为偶数,答案为相邻两数之差之和;如果 \(k\) 为奇数,就枚举删掉一个数,让剩下的数按照 \(k\) 为偶数的情况做,最 ......
题解 Socks 334C ABC 334

[ABC334E] Christmas Color Grid 1 题解

题目传送门 一道 dfs 题。 先统计出绿连通块数量,然后对于每个红色方块统计涂成绿色方块后会变成多少个连通块。正常涂成绿色后应该会增加一个大小为 \(1\) 的绿连通块,但若是有不同的绿连通块与其相邻,答案又会减少 \(1\)。 Code #include <bits/stdc++.h> cons ......
题解 Christmas Color 334E Grid

代码随想录day03 链表删除 链表类的实现 反转链表

首先是链表的删除操作 热身题 这里使用了一个新的头指针 这样在删除头指针的时候就不需要进行额外的判断 然后是链表类的实现 需要一点背诵加上深刻理解 有时候理解了但是写起来还是会有些指针边界的小问题 应该多写写多记一下就会好了 还有就是手写链表要常复习吧 学习新语言应该也要对这些常用的数据结构进行手写 ......
随想录 随想 代码 day 03

CF1917F Construct Tree 题解

Description 给你一个数组 \(l_1,l_2,\dots.l_n\) 和一个数字 \(d\)。问你是否能够构造一棵树满足以下条件: 这棵树有 \(n+1\) 个点。 第 \(i\) 条边的长度是 \(l_i\)。 树的直径是 \(d\)。 只需要判断是否有解即可。 \(2\le n\le ......
题解 Construct 1917F 1917 Tree

【题解】BZOJ 4403序列统计

tg.BZOJ 4403序列统计 pj.BZOJ 4403序列统计 没啥用的题解 \(QWQ\)——无脑思考 首先要想怎么求单调不上升序列的个数,因为可能会有重复的数,所以不能直接用排列组合。 那这道题怎么打呀? 我不知道啊\(\dots\) \((~:\) 因为原来是单调不下降序列,将第 \(i\ ......
题解 序列 BZOJ 4403

CF1806F GCD Master 题解

题目链接 Easy version Hard version 题目解法 参考 DeaphetS 的题解 很有意思的题,感觉 \(F1\) 不到 \(*2900\),\(F2\) 超过 \(*2900\) F1 简化题目中的操作:把 \(n\) 个数放到 \(n-k\) 组中,求 \(\max(\su ......
题解 Master 1806F 1806 GCD

[CF30E] Tricky and Clever Password 题解

[CF30E] Tricky and Clever Password 题解 注意到一个合法字符串首尾相同,考虑用 S 的反转和 S 跑 KMP。 对于只有一个串,暴力 manacher 即可。 匹配到某一位置 \((i, j)\) 时,查询区间最长的奇回文串长度,用二分 + ST 表解决,因为回文串 ......
题解 Password Tricky Clever 30E

day02 代码随想录算法训练营 209. 长度最小的子数组

题目: 209. 长度最小的子数组 我的感悟: 滑动窗口, 每次计算当前位置的值, 满足要求就缩小, 这样左右两个指针都不回退。一直右走。 这个原理,还没太理解,感觉要在看看左神的视频。 理解难点: 为什么可以不回退。 代码难点: for 循环右边界 里面while判断是否满足要求 总结概括: 无 ......
随想录 训练营 数组 随想 算法

P9995 [Ynoi2000] rspcn 题解

思路 比较典的 ODT 题目。 发现排序是一个非常有性质的操作。 它对区间的更改与颜色段均摊差不多。 那么我们可以想到用 ODT 来维护这一整个序列。 具体的,区间排序操作可以用 ODT 维护每次排序产生的段,每段用线段树维护排序后的结果。 每次修改就可以进行线段树的分裂与合并。 如何查询。 可以发 ......
题解 P9995 rspcn 9995 2000

P9992 [Ynoi Easy Round 2024] TEST_130 题解

最开始没看到子树的限制,以为是个极其困难题。 思路 由于问题是在子树下,可以考虑在 dfn 序上扫描线。 考虑一个点 \(u\) 对 \(v,d\) 的贡献。 令 \(dep_u\) 为 \(u\) 的深度,\(mdep_u\) 为 \(u\) 的子树下的最大深度。 \(dep_u< dep_v\) ......
题解 P9992 Round 9992 2024

P9993 [Ynoi Easy Round 2024] TEST_133 题解

思路 看到时限这么大,考虑暴力做法。 我们将原序列分为 \(\text{B}\) 个块,每个块类似线段树三一样的维护 \(add,maxadd\),表示这一块需要加的值,加的值的历史最大值。 同时对于每个数可以维护一个真实值与一个历史最值。 那么下传标记可以写成这样。 inline void pus ......
题解 P9993 Round 9993 2024

P9994 [Ynoi Easy Round 2024] TEST_132 题解

题解怎么都是用暴力日过去的啊。 思路 考虑根号分治,设阈值为 \(B\)。 对于第二维出现次数超过 \(B\) 的,我们可以在修改时暴力更改,这部分复杂度为 \(O(\frac{nm}{B})\)。 对于第二维出现次数小于 \(B\) 的,我们可以在修改是打标记,查询时遍历一遍,这部分的复杂度为 \ ......
题解 P9994 Round 9994 2024

P9991 [Ynoi Easy Round 2023] TEST_107 题解

思路 题目即要求删除区间中的一个或多个颜色。 考虑假如枚举删除颜色 \(k\)。 那么在 \(l,r\) 中的答案为: \[\max_{i=1}^{m+1} a_i-a_{i-1} \]其中 \(a_i\) 为颜色 \(k\) 在 \(l\sim r\) 中的出现位置,\(a_{0}=l,a_{m+ ......
题解 P9991 Round 9991 2023

day02 代码随想录算法训练营 977. 有序数组的平方

题目: 977. 有序数组的平方 我的感悟: 这道题,仔细观察,平方后两头的大。 用双指针,取两头,放到新的数组里。 新数组要求排序 所以,新的数组从后往前放 理解难点: 无他,多练习。 代码难点: 无 总结概括: 双指针 代码示例: class Solution: def sortedSquare ......
随想录 训练营 数组 随想 算法

drf 入门-精通 10days

过滤排序源码 视图类中配置:filter_backends = [OrderingFilter] # 1 入口 》查询所有 》ListModelMixin 》list 》完成了过滤 # 2 ListModelMixin 》list的方法--》必须配合继承GenericAPIView class Li ......
days drf 10

day01 代码随想录算法训练营 27. 移除元素

题目: 27. 移除元素 感悟: 用快慢指针。 本题是要原地删除。 而删除这个行为在真实的计算机的数组里,是覆盖。 所以,就用两个指针,(人) 一个跑的快,一个跑的慢。他们身上带了个对讲机。 跑的快的那个人负责检测后面的数字符合要求不,比如,要不等于3的,遇到一个2,告诉跑的慢的说2符合要求。遇到一 ......
随想录 训练营 随想 算法 元素

AT_abc020_c 题解

链接(atcoder) 链接(luogu) 简单算法组合(? 算法一 爆搜,时间复杂度 \(O(2^{n \times m} \times t)\),不能通过此题。 算法二 考虑二分 \(t\),然后暴搜,时间复杂度 \(O(2^{n \times m} \times log2(t))\),不能通过 ......
题解 AT_abc 020 abc AT

CF1234F 题解

blog。小清新题,下文 \(V=20\) 即值域。 反转操作,本质就是选两个不相交连续段拼起来。 显然合法的最终串长度一定 \(\le V\)。将这些合法串预处理出来,那么每个串都对应一个「字母集合」。 随便 DP 一下,求出所有集合中,的最大的合法「字母集合」大小。\(dp_{\small U} ......
题解 1234F 1234 CF