07 2022 档案
摘要:题意: 给一个正整数数组 hi,每次可以把一个 hi 加 2 或者把两个相等的 hi, hi+1 同时加 1 ,问使得所有 hi 相等的最小高度或者输出无解 思路: 考虑 hi 最小的任一个点 i , 1. 如果 hi−1 > hi, hi < hi+1 ,只能在点 i 填上竖向的方块 2. 如果
阅读全文
摘要:2022—暑假 - Virtual Judge (vjudge.net) 题意 : 一排有 n 个洞,有一只兔子在某个洞,每个时刻必定移动到相邻的洞中, 需要构造长度最短的询问序列 qi,第 i 项表示询问在兔子第 i 次移动前 是否在 qi 这个洞中,使得至少猜中一次。 思路: 利用左右移动, 奇
阅读全文
摘要:2022—暑假 - Virtual Judge (vjudge.net) 题意: 给两个数组 ai, bi 和一个正整数 x0,有递推 xi = { xi−1 and ai bi = 0 xi−1 or ai bi = 1 T 次独立询问 x0, k, 问可以反转至多 k 个 bi 后最大的 xn.
阅读全文
摘要:2022—暑假 - Virtual Judge (vjudge.net) 题目大意: 有两个操作,一是反转某位,代价为 1,另一个是交换两个位置,代价是 两者位置绝对值之差。求把 01 序列 a 变成 b 的最小代价下的操作集合数 量。 数列是0101... 思路: 交换2个数,一定是最小的代价 然
阅读全文
摘要:2022—暑假 - Virtual Judge (vjudge.net) 题目大意: 一个无向图,要走完所有的城市(2种城市,可以检测核酸,和不可以检测核酸), 有限制(核酸的有效时间内), 最后回到一个可以检测核酸的城市,给出一个T,问最小的速度 思路: 对于每一个没有核酸检测的城市,他的距离就是
阅读全文
摘要:题目大意: 给出,s1,s2, 挑一些 s1的字串+s2的前缀字串,看他们是不是回文串, len(subs1)>len(subs2)>1=1; 统计有多少个 首先 subs1是要和s2成回文,他的内部也要是回文,于是就分为2部分 求第一部分: 把s1翻转,然后来求一个扩展kmp,对于目标窜s2,求的
阅读全文
摘要:核心: 同 扩宽KMP, 利用已知信息阴影来 进行更新. 思路: 利用已知的东西来跳过,从而优化时间复杂度 首先预处理 每一个字符2边加上'#',开头加上'$', 任意没有在字符串中出现过的, 2个关键因素 mid,和p[],半径和 目前最大的 R 如果i<r,那么久可以来优化时间复杂度, 更具对称
阅读全文
摘要:目的: 求字符串a的每一个后缀字串 和 目标串b 的lcp(最长的公共前缀) 核心: DP思想, 更新 i 时 利用已知信息, 阴影 来处理, 在阴影里面 O1get, 阴影外面就更新阴影 思路: 利用 公共部分(跳过)来优化时间复杂度, 2个核心数组 nxt[] (b的lcp),extend(a的
阅读全文
摘要:2022—暑假1 - Virtual Judge (vjudge.net) 题目大意: 在500000步内,让所有的老鼠在一起,老鼠都是统一执行命令,遇到墙壁就不执行. 思路: 题目数据范围很小,通过随机,让这些老鼠最后在一起的概率挺大的. #include<bits/stdc++.h> using
阅读全文
摘要:题目: 2022—暑假1 - Virtual Judge (vjudge.net) 大意: 2个人依次可以拿 1-n个石头,连续性的拿去, 谁不能拿谁输 思路: 利用博弈中的,无论先手整么拿,后手都可以把情况弄相似的思想. 通过先手的预处理, 拿中间一块或者2快,把石头分为数量相同的2堆,后手模仿先
阅读全文
摘要:题目: 2022—暑假1 - Virtual Judge (vjudge.net) 思路: 暴力打表找规律 (n-4)*(n-3)*(n-2)*(n-1)/24
阅读全文
摘要:模拟退火: 核心就是通过局部最优,然后随机跳出这个局部,找下一个最优解 通过物理的那个思想 核心元素: T=2000,(一般2000-5000) rate=0.996, limt 最低T,更具题目来看(在满足题目条件的情况下,多次循环) 代码: void th() { node ans; ans.x
阅读全文
摘要:差分约束: 一系列的不等式,看有没有满足条件的解 转化为文字就是 至少多,至多多, 等等字样 要反应过来 比如 a-b>=x, 然后这个可以变化为 b-a<=-x, 用大于还是小于看题目 然后 这个东西 和 图论联系在一起 a-b>=x 相当于 a>=x+b, x就是边权值,如果相等就 2个点相互连
阅读全文
摘要:Gym - 103765D 题解思路: 贪心的构造 1234..., 利用二分看能不能构造出来 但是对于 1122, 这种情况 1221, 只能这样构造了呀,就是还是没有搞清他那个题意到底是啥 不过这个二分思路确实没有想到!!
阅读全文
摘要:Submit Code - J - Codeforces 题目大意: 看上面. 思路: 首先dfs一遍,得到各个节点的子数量和子贡献 然后在dfs一遍,得到各个节点的总贡献 如何更新: dfs下来,所以父亲的总贡献是得到的,然后VAL[A] = val[f] - val[a](这个节点) -sz[a
阅读全文
摘要:0110 110110 思路: 首先判断是否成立,这里利用树的特性, 当给定的总度数和是奇数时,肯定不行。// 每一条边会贡献2次. 当每个点的度数都是0 时,肯定不是一棵树,也不行。叶子节点的性质 这样才可以构成一个树 那么如何在圆上构造而不会相交呢? 利用星型法则, 选择一个 奇数节点为树根,然
阅读全文
摘要:Problem - C - Codeforces 题目大意: 通过任意排序,让数列的 min(最大上升,下降子序列)的值最大 思路: 将数分为3种类型, 上升的,下降的,2者都可以的. 贪心的让 2者都可以的数多 对于重复出现的数,放在2者都可以的 对于单个出现的数,可以选着一个数,让他成为2者的公
阅读全文
摘要:Problem - B - Codeforces 题目大意: 通过交换位置,让数列是有顺序的,这个数列是permutation, 交换是有条件的,当 ai&aj= X ,才可以交换,问X的最大值 大佬的思路: 第i个位置的元素不对,那么第i个元素一定是要被交换的 但是这个交换是有条件的,怎么办呢?
阅读全文
阅读目录(Content)
此页目录为空