摘要:
SQL注入原理 SQL注入原理就是跟SQL语法有关的一种攻击手段。如果在编写代码时没有对提交的参数进行严格过滤和判断,通过在客户端提交参数时拼接SQL语句,提交至服务端,服务端将拼接的SQL语句提交给数据库执行,泄露数据库中的信息并返回给服务端,再返回给客户端,从而获得信息或者执行危险命令。 按数据 阅读全文
摘要:
写给自己的,dalao看了别喷就行/kk 语句,逻辑可能不通,毕竟菜嘛 争取了好久,终于有机会退役了,可能明天就走了吧,趁国庆好好补whk。虽然在其他oier眼中,在退役这种事,完全是坏事,更别说争取了,但是对于我来说,学习下去,也就省1的料,坐标CQ,不是强校,没意思了,退了或许是最好的选择。这次 阅读全文
摘要:
分层图题解很少啊,来个分层图哒 这道题一开始看,我是想的跑两次最短路,一次从起点跑,一次从终点跑,然后枚举每一个灌木,但是因为起点的时候不能走骑士,所以会$WA$,只有$60$分。正解分层图最短路,在找到灌木的时候,向骑士那一层连一条边即可,从起点跑一遍最短路即可。 这里用的$SPFA$ SPFA没 阅读全文
摘要:
tarjan模板题 这道题tarjan加记忆化搜索就行,记忆化搜索中,就可以完美解决最大值和最长路。直接讲比较抽象,上代码: #include <bits/stdc++.h> using namespace std; int n , m , now , tot , ans1 , ans2; int 阅读全文
摘要:
来发记忆化搜索的题解 先想搜索思路,先是肯定从后往前搜,因为后面为A的,肯定不动,如果一个点为B,那么肯定要么反转前面全部,要么单独反转,最后到第一个点的时候,看为A还是B的,A的话$return 0$,否则$return 1$。然后就可以记忆化,$f[i][j]$表示第$j$个点为$i$(0为A, 阅读全文
摘要:
一看这道题立马想到了树的直径 还没有两遍$dfs$求树的直径的做法,赶快来水一发 已经会树的直径的大佬可以跳过这一段$qwq$ 树的直径:树上最长的一条链 具体求法有两种,一种是树形$DP$,这里就不细讲了,我着重讲下两遍$dfs$求树的直径的做法,可以说很经典了。 做法: 先从任意一点出发,找到离 阅读全文
摘要:
一看到最小的最大就能知道是二分啦 对于这道题,我们要二分的值肯定是可以知道的:行驶速度,因为求的是速度,而边界条件就为$0$和最大的速度也就是路程总和了,对于精度,一般开在题目要求的精度上加$4$就行。$cheak$函数当然就是看以这个速度行走,能否到达终点即可。注意:题目虽然是说每一次的速度可以不 阅读全文
摘要:
线段树题解qwq 这道题其实把式子一推就行了。因为要求前缀和的前缀和,那为什么我们不维护前缀和,然后求前缀和呢?对于维护前缀和,我们只需要两种操作:区间修改,区间查询。 区间查询是查询前缀和的前缀和嘛,这个是区间操作没问题,但为什么是区间修改?题目不是单点修改吗?我们先推一下式子: 原数列: \(x 阅读全文
摘要:
前言: 没想到吧,$tarjan$不仅可以用来求割点和桥,缩点,还能求$LCA$。不过,$tarjan$求$LCA$是离线的,要在线算法的话还是学倍增吧。 正题: 这次的$tarjan$不需要回溯值和$dfs$序,本质的来说,其实$tarjan$求$LCA$跟割点和桥,缩点没有任何关系一个人发明的算 阅读全文
摘要:
参考了这篇题解,真的写的很好。 我们直接跑最小生成树时,会出现三种情况: 白边多了 白边少了 白边刚刚好 对于最后一种情况,很好办,但是其他两种怎么办呢? 我们回顾$kruskal$的算法思想,他的核心就是贪心,每次选最小的边加入,那么我们是否可以改变一下白边的优先级,让他每次加入的白边数恰好为$n 阅读全文