09 2018 档案
摘要:感觉此题还是挺可做的... 首先考虑最无脑的做法: 我需要知道接下来要给谁配对,在另一个数组中还没有被选的有哪些, 并记录已选的造成的贡献 要想知道没选的有哪些的话,这直接记录问题就很大了,考虑能不能省去这一步 那么无非是两个数组被选的集合的右端点同时往右扩张,或是每个数可与其配对的数的范围大概为一
阅读全文
摘要:神仙题啊,感觉这道题比platinum可做一些 一开始xjb手玩玩得整个人都不好了 甚至不加分析乱写 只能过样例的那种 根据题意,其实它还是个冒泡排序,考虑每次交换 每次向后冒泡跨过的位置的下标一定是小于排序后这个数字对应的位置下标的 这时考虑离散化,不过并不能用那种 sort + unique +
阅读全文
摘要:题意 给你 k 个数组,在每个数组中取出一个元素可以得到 k^k 个数,求这其中最小的 k 个数 数据范围显然是不能暴力的,想作法也只有一些乱搞做法 首先考虑只有两个数组的情况,就是当 k = 2 ,数组长度为 n 时,求出这其中最小的 n 个值 首先排序,列出一下一些表: a1 + b1, a1
阅读全文
摘要:手玩构造题,无解判断注意细节,注意一些性质中“至少”和“恰好”应该是哪个
阅读全文
摘要:线段树合并 || 在树剖 dfs 序上维护差分标记
阅读全文
摘要:多列一列显然的 / 不显然的式子和性质
阅读全文
摘要:题目大意 键盘上有左括号(,右括号),和退格键-,共三个键。 牛牛希望按键n次,使得输入的字符串恰好一个合法的括号序列。 每按一次左括号(,字符串末尾追加一个左括号( 每按一次右括号),字符串末尾追加一个右括号) 每按一次退格键-,会删掉字符串的最后一个字符, 特别的,如果字符串为空,牛牛也可以按退
阅读全文
摘要:这题要算期望,个数的期望 容易发现每一个点对期望的贡献就是它被接通的概率 之后考虑 dp 在玩方程的时候会发现这样一个事情:如果状态定义为被接通的概率的话,在转移时要加子树的然后再除个总概率什么的,总之很麻烦 但是可以考虑一下计算不被接通的概率,这样计算一个 pi 就好了 之后容易想到二次扫描换根
阅读全文
摘要:算算 n 的最大值,∑i=1nk[i] * c[i] <= 243552 这就可以直接上背包了 最裸最暴力的那种 可以选择滚动数组,并不能减掉一维,因为在重复枚举 j 的时候除第一次枚举之外都会用到当前这一层的状态 代码:
阅读全文
摘要:注意区间 ∑ 可以转成前缀和的形式
阅读全文
摘要:由于此题考法独特,就成功地卡我这种菜鸡卡了整整 12 小时 关于部分分作法可参考 这里 这里只说 AC 做法 yy ,手玩都行不通,考虑用数学的方式表示一下此题要我们求什么 列出恰好被观测到的条件: 在 s 到 lca 段,d[s] - d[x] = w[x] 在 lca 到 t 段, d[s] +
阅读全文
摘要:看到题目的要求,有一个特别 naive 的想法:f[i] 表示 从 i 往前跳不为零的 nxt,直到不能跳,能跳到的位置 然后各种乱搞判断什么的 其实不用 考虑一下 kmp 的基本定义 对于 i 这个前缀,f[i] 这个前缀是它的一个后缀 你把它放在后缀的位置上一看,这不就是题目要求的吗 代码:
阅读全文
摘要:一眼是个优先队列暴力?甚至好像 mlogn 没有很大? 不存在的哪有能让你 1e8 跑满还不 T 的出题人 其实它是个...结论题?甚至还是个不写一写我根本无法想出来的结论 因为先切最大的 所以先切的分出来的也一定比后切的分出来的大 设 a > b a 先分为了: a * p, a * (p - 1
阅读全文
摘要:由于本人头铁,这题搞了将近一上午还是爆零 于是颓题解 对于每个点分别记录两个值:到达这个点的最短时间 和 进入这个点的最短时间 前一个值用最短路更新,后一个值用保护它的点的最短路更新 所以本题中一个点的最短路就是 上边的两个值取 max 按题目的道理大力更新最短路即可 代码:
阅读全文
摘要:看上去各种二分答案+贪心啊 不是很可做 只会 O(n^2) :每次找最深的点并向上跳 mid 步,将跳到的点燃,这样套个倍增,预先把点按深度排序的话 复杂度大概是 O(n^2*log^2) 的 看了一发题解依然看不懂,于是颓这题颓了一下午... 先引用 这里 的一句话:选择一些点代价相同的话一般是贪
阅读全文
摘要:看上去有点据称的意思,感觉这边权不太会搞啊 发现边权范围∈[1, 9] 其实可以拆点,一个点拆成九个点 一条从 i 到 j 的长为 k 路径就是从 i 的第 k 个点连向 j 的第一个点 答案就是 1 的第一个点到 n 的第一个点的方案数 矩乘一波就好了 代码:
阅读全文
摘要:数据范围很大,然而 n 很小 可以料想最短路树也是很小的 求最短路树,枚举最短路树上的树边,dijkstra 即可 代码:
阅读全文
摘要:这题看上去想拿分层图做啊 f[x][k] 表示 到节点 x 走过的路程为 k + x的最短路 的方案数 然而只有六十分,因为判 0 环太暴力了 //好像应该有 70 ? 于是颓题解的记搜 //分层图的判 0 环似乎不是很可写 就大力搜索大力记忆化啊 判 0 环很神奇,不过跟两遍 spfa 的思路是差
阅读全文
摘要:如果在较短的时间内能控制,那么在较长时间内也一定可以,这意味着我们可以二分答案 二分时间,就是军队走过的距离 容易发现一支军队它的深度约浅它所封锁的叶子会单调不减 所以我们贪心地把这些军队往高处跳,第一层的节点(根的所有儿子节点)一定是一个相较当前子树其他位置更优的点 在跳完了之后,可能会有一些情况
阅读全文
摘要:又是一道看了题解的题 题意:给出一棵边权为 1 的树,要求一次走完所有的边并回到出发点,规定你可以选择连 k 条边权为 1 的边,并且新连的边必须且只能走一次,求最短路程 显然 k = 1 的时候答案为 (2n - 树的直径 - 1) 现在考虑 k = 2 的时候如何连第二条边 由于每条原来的边至少
阅读全文
摘要:从题解里看到了二分才想到二分 题意为:给出一棵树和一些路线,要求你选树上一条边边权变为0后,路线中最大值最小 显然答案有单调性,二分答案 将所有长度超过 mid 的路径在树上标记出来,找出一条被所有的标记路径覆盖的边,当前答案合法条件为:max_path - maxlen <= mid 显然上边的操
阅读全文

浙公网安备 33010602011771号