我们注意到这道题中最多有 $(n+q)$ 个数被加入,而每个数最多被删除一次,因此每次操作 $O(logn)$的复杂度是可以接受的. 我们对于$1..100000$之间每个数分别开一个set,维护这个数出现在哪些位置,这样我们就可以非常方便地维护每个数的前驱和后继. 同时我们开一个数组保存每个位置的数是多少. 对于加入操作,我们直接将这个数的坐标加入相应的set,并且从占据这个坐标的数所对应的set中删除这个坐标. 对于删除操作,我们维护两个迭代器(一个向左,一个向右),每次删除距离询问位置较近…
题意: 给你一个\(n*n\)的矩阵A,其中有\(T\)个元素不为零.定义矩阵内元素\((x,y)\)的能量值 \(E[x][y]=\sum_{i=1}^{x}\sum_{j=1}^{y}[A[i][j]>0]\) 有\(m\)个询问\((x,y,d)\),每次询问是否存在二元组\((x',y')\)满足 \(x'=x\) 或 \(y'=y\) ,使得 \(E[x'][y']*A[x'][y']>=d\) 如果存在,则\(ans1++,ans2+=min(E[x'][y'])\).否则将 \(…
题解 寻星 题意:给定一个有向带权图,定义从一点到另一点的某条路径长为路径上所有边权的最大值,并给定四个点编号w,t1,t2,t3. 求出一个点s,使它在到t1,t2,t3三点最短路径最大值最大或者根本不存在路径的基础上,到w的最短路径最小. 思路: 本来是要加强数据卡Floyd,但也是来不及了,Floyd无脑跑一遍再枚举即可.注意这是个有向图,而且三体人也看作是人类. #include<cstdio> #include<algorithm> #include<cstring…
这道题别看是签到题,写起来一点不简单 出题人的正解是双向搜索 我们把物品分成两半 每一半分别跑搜索 答案存下来,用个双指针合并即可 然后我构造了两组数据卡掉了他,不得不缩小数据范围 但我这里为什么要致敬Drench呢? 因为Drench在luogu五月月赛出的T2和这道题的特殊解方向是一样的 利用了随机化的思想(才不是什么猜随机数呢qwq) 既然我们可以利用随机化 在特判和正常剪枝完全的情况下给爆搜加一个随机化剪枝 如果长期得不到更优解就跳出 剩下的就是调参了 数据是用双向dfs出的,绝对没问题…
作为T1,当然是越水越好啦qwq 显然经目测可得,那个所谓的质量评级根本就没卵用,可以直接\(W_i = W_i^{V_i}\)累积到利润里面. 这样,本问题显然是一个"子集和"问题的模板.此类问题一般使用暴力DFS或DP解决.对于本题,由于体积过大,使用DFS.(听说DP也可以解?算了出题人太懒不写了qwq) 不难发现,此题爆搜的时间复杂度为\(O(2^n)\),可以拿20分. 对于更大的数据,考虑以双向DFS的形式,降低复杂度. DFS框架:把矿脉分为两部分,先预处理出数组\(sa…
这道题别看题面这么长,其实题意很简单 就是让你求从起点开始的最长合法区间 合法的要求有两个:兜圈子和直飞 且这两个条件相互独立 (也就是说兜圈子的末尾不会对下面可能出现的直飞造成影响) 举个例子: 1 2 3 2 1 5 4 3 8 9 这个序列他的合法长度是8 因为直飞是 5 4 3 8 9 1是兜圈子的末尾,对直飞无影响 这样看来,兜圈子比直飞优秀的多 因为如果直飞的某段属于兜圈子 那么把这一段归于兜圈子后对序列的合法性无影响 但如果兜圈子的某段属于直飞,那归于直飞后 剩下的这部分可能就不是…
第二题,他并不是多难的算法.甚至连搜索都不用,他的题目要求和数据断定了他第二题的地位. 在一个大试场里,有 n 行 m 列的考生,小王和众多同学正在考试,这时,有一部分考生 作弊,当然,监考老师能发现他们.但是只有一个监考老师,他由于高度近视,只能发现与 他同行同列的作弊者,而且由于监考老师年老体弱,在考试过程中无法移动.现在已知 n*m 个考生中谁在作弊,请帮监考老师找一个位置,可以发现最多的作弊者(监考老师可以和某 个考生在同一位置).如果监考老师的位置上的考生在作弊,那么监考老师先前后看,…
首先考虑O(n^3)的暴力怎么写. 显然,可以枚举字符串\(A\)+\(B\)的右端点,左端点显然是1,暴力判断是否能与后面的字符构成循环节,对于满足 \(k*(A+B)+C=\) 整个字符串\((k \in Z)\) 的情况暴力枚举\(A\),\(B\)分界点,对于\(L(x)\le R(x)\)的情况统计答案即可,\(L(x)\)为\(1\)到\(n\)出现奇数次的字符数量,\(R(x)\)为\(x\)到\(n\)出现奇数次的字符数量. 其实这样由于\(A+B\)很难找到循环节,均摊下来时间…
题目描述 有一块矩形土地被划分成 \(\small n×m\) 个正方形小块.这些小块高低不平,每一小块都有自己的高度.水流可以由任意一块地流向周围四个方向的四块地中,但是不能直接流入对角相连的小块中. 一场大雨后,由于地势高低不同,许多地方都积存了不少降水.假如你已经知道这块土地的详细信息,你能求出每个小块的积水高度吗? 注意:假设矩形地外围的高度为 \(\small 0\) . \(\small1\leq n,m\leq 300 ,-10^9\leq h\leq 10^9\) solutio…
0x00 前言 写了一天题目,学到了好多东西, 简单记录一下 0x01 Web HappyCTFd 直接使用网上公开的cve打: 解题思路:先注册一个admin空格账号,注意这里的靶机无法访问外网,邮箱填上buu内网的邮箱以admin账户登陆.然后修改密码,给我们注册的邮箱发送邮件,去内网邮箱处登陆,点击链接修改密码.这样平台真正的admin账户就被修改了. 我们以用户名admin,密码为我们刚刚修改的登陆.找到flag. CHECKIN perl 脚本反弹shell: 链接: https://…