01 2021 档案

摘要:题目链接 链接 翻译 translation 题解 只要不存在长度为 23 的回文, 就不会有更长的回文啦。 所以,每个位置都和前一个以及前前一个位置判断一下是否相同就好, 然后如果某个位置修改过。 就把它当做是一个通配符,不会和任何一个字符相同。 代码 #include <b 阅读全文
posted @ 2021-01-26 14:11 AWCXV 阅读(72) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 每个人初始都有 k 张牌,每个单位时间,他们会对自己手上的牌进行如下操作: 每个人都把自己一半的下取整到左边,上取整到右边相邻的一个人。 但是有一个人搞特殊,他不会给左边相邻的人,而是将自己全部的牌都给右边相邻的人。 每过一个单位时间,你都可以询问某个位置上的人有多少张 阅读全文
posted @ 2021-01-22 16:42 AWCXV 阅读(103) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 让你在 n 个点上放老师,使得这 n 个点任意两个点之间都有路径。 但是所给的路径要激活才能用,而激活的条件就是路径连接的两个点中,有一个点放了老师。 当然一条路径不能两个端点都放老师,不然他们会打架 2333 输出任意一个合法的方案即可。 题解 随便找一个没染 阅读全文
posted @ 2021-01-18 09:52 AWCXV 阅读(78) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 每秒钟会对原数组进行如下操作,对于每一个数组中的元素。找到整个数组中和它【相关】的数字,将这些数字全都乘起来 然后用来代替这个元素。 【相关】表示两个数字的最小公倍数和最大公因数的商是一个完全平方数。 然后让你回答 q 个询问,表示 w 秒钟之后,数组中每个元素 阅读全文
posted @ 2021-01-16 21:41 AWCXV 阅读(85) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 translation 题解 k 值比较大(对应的礼物贵)的优先安排小的 c,这样节省的 money 最多。 因为每个 k 都是要满足的,当然尽可能用便宜点的搪塞最好。。塑料友情。。 代码 #include <bits/stdc++.h> #de 阅读全文
posted @ 2021-01-15 10:17 AWCXV 阅读(65) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 给你一个 2n 的方格,让你用 12 的骨牌,横着或者竖着放,铺满整个方格。 其中有一些被黑色方块阻挡,不能放骨牌。问你可不可行。 题解 首先考虑 整个方格 第一列,如果两行都是空的。 那么考虑第二列的几种情况: 第二列也是空的,那么第一列放竖的没问题。 第 阅读全文
posted @ 2021-01-13 21:13 AWCXV 阅读(161) 评论(4) 推荐(0) 编辑
摘要:题目链接 链接 翻译 注意是有向图,不然这题读起来会觉得题目很奇怪。。 题解 bfs 求最短路 d[1..n],然后对于 di<dj 的边连实线,否则连虚线。 就可以做 dp 了,对于实线 dp[x] = min(dp[x],dp[y]),对于虚线 dp[x] = min(dp[x],d 阅读全文
posted @ 2021-01-11 20:51 AWCXV 阅读(154) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 给你一棵树,树上的每一个节点都带有权值。 让你统计这样的点 x 的个数,使得以 x 为根的时候,所有以 x 开始,以某个节点结束的路径中每个节点的权值 都是唯一的,即每个权值都只出现了一次。 称这样的 x 为 \(distinctive\ roo 阅读全文
posted @ 2021-01-11 13:02 AWCXV 阅读(130) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 可以从数组中任意一个位置开始出发走一条路径,每一步可以往走到相邻的一个格子(左或右)。但是不能超过边界。 问你所有不同的长度为 k+1 的路径的和是多少。 然后要支持更新操作实时回答这个路径和。 题解 nk 都只有 5000,其实是比较容易 阅读全文
posted @ 2021-01-09 15:58 AWCXV 阅读(115) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 给你 3 个多重集,第 i 个集合有 n[i] 个数字。 从两个不同集合中分别取出数字 xy,则从两个集合中分别删去 xy, 然后在第 1 个集合中(取出 x 的那个集合) 加入元素 \(x-y 阅读全文
posted @ 2021-01-09 10:18 AWCXV 阅读(151) 评论(4) 推荐(0) 编辑
摘要:题目链接 链接 翻译 让你统计"山"和“山谷"的总个数,要求这个总个数最少。 你可以修改某个数字为任意整数。 题解 首先对于初始的数组,统计一下山加上山谷的总数cnt 然后枚举第 i 个位置,现在要对第 i 个位置上的数字进行修改了。 最直接的想法就是,改了 a[i]阅读全文
posted @ 2021-01-09 01:00 AWCXV 阅读(59) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 translation 题解 98901234.... 写题解的时候才发现题目名字里有个ORZ 代码 /* */ #include <bits/stdc++.h> using namespace std; int main(){ #ifdef LOCAL_DEFINE freo 阅读全文
posted @ 2021-01-09 00:54 AWCXV 阅读(100) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 translation 题解 线段树,只要维护一个以 w 为下标,然后线段树上的值维护的是这个范围的 w 里面, 最小的 h 所在的位置即可。 涉及到一些离散化的操作,所以代码看起来比较丑陋。 然后查询的时候,如果想找小于 wh阅读全文
posted @ 2021-01-06 11:03 AWCXV 阅读(160) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 translation 题解 贪心,随便想想也能猜到,排序。然后哪一方最大的数字大(奇数和偶数),就抢对方的(对方的奇偶性数字大),或者拿自己的(自己的奇偶性大)。 这样,对于拿的那个人来说收益总是最大的。 不够了就随遇而安就行。。 代码 #include <bits/stdc 阅读全文
posted @ 2021-01-06 10:59 AWCXV 阅读(103) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 translation 题解 动规。 f[i]=f[i+a[i]]+a[i] 类似这样?...倒着推一下,注意边界就行。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson mid+1,r 阅读全文
posted @ 2021-01-06 10:57 AWCXV 阅读(130) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 translation 题解 先用 2 然后用 1 补来凑n/2就行。 挺显然的一个贪心。 代码 #include <bits/stdc++.h> #define lson l,mid,rt*2 #define rson mid+1,r,rt*2+1 #defi 阅读全文
posted @ 2021-01-06 10:55 AWCXV 阅读(53) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 题解 看到除2就知道是个暴力题了。 模拟就行,log复杂度除不了几下的。 然后每次分成的碎片个数乘 2 也很快就会超过 n 了,为了防止爆 int 中间就停下来吧。 代码 #include <bits/stdc++.h> #define lson l,m 阅读全文
posted @ 2021-01-06 10:46 AWCXV 阅读(106) 评论(0) 推荐(0) 编辑
摘要:题目链接 链接 翻译 给你一个排列,其中有一些位置上的数字被remove了,让你全都放回去。 定义相邻两个数字如果奇偶性不同,diff 值加 1。 求数字全都放回去之后 diff 的值的最小值。 题解 设 dp[i][j][k] 表示前 i 个数字放了 \(j 阅读全文
posted @ 2021-01-04 10:06 AWCXV 阅读(54) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示