补题 [CF1831B] Array merging
补题 [CF1831B] Array merging题面翻译题目描述给定两个长度为 $n$ 的数组 $a$ 和 $b$。
猫猫让你合并这些数组,形成另一个长度为 $2n$ 的数组 $c$。你需要找到所有 $c$ 中元素值相同的子串长度的最大值。
合并两个数组的过程是:取出并删除 $a$ 或 $b$ 的第一个值,然后把取出的值追加到 $c$ 数组的末尾,具体删除顺序可以自由指定。这个过程重复 $2n$ 次,从而构造出长度为 $2n$ 的数组 $c$。
输入格式第一行包含整数 $t$,表示测试数据的数量。
对于每组测试数据:
第一行一个整数 $n$,表示数组 $a$ 和 $b$ 的长度。
第二行 $n$ 个整数 $a_1,a_2,\dots,a_n$,表示数组 $a$ 的元素。
第三行 $n$ 个整数 $b_1,b_2,\dots,b_n$,表示数组 $b$ 的元素。
保证所有测试数据中 $n$ 的总和不超过 $ 2 \cdot 10^5 $。
输出格式对于每个测试数据,输出跨所有合并数组 $c$ 的相等值的最大子数组的长度。
题目描述You are given two arrays $ ...
补题 [CF1831A] Twin Permutations
补题 [CF1831A] Twin Permutations题目描述You are given a permutation $ ^\dagger $ $ a $ of length $ n $ .
Find any permutation $ b $ of length $ n $ such that $ a_1+b_1 \le a_2+b_2 \le a_3+b_3 \le \ldots \le a_n+b_n $ .
It can be proven that a permutation $ b $ that satisfies the condition above always exists.
$ ^\dagger $ A permutation of length $ n $ is an array consisting of $ n $ distinct integers from $ 1 $ to $ n $ in arbitrary order. For example, $ [2,3,1,5,4] $ is a permutation, but $ [1,2,2] ...
补题 [ABC303D] Shift vs. CapsLock
补题 [ABC303D] Shift vs. CapsLock题目描述あなたのパソコンのキーボードには、a キー・Shift キー・CapsLock キーの $ 3 $ 種類のキーがあります。また、CapsLock キーにはランプが付いています。 初め、CapsLock キーのランプは OFF であり、パソコンの画面には空文字列が表示されています。
あなたは、以下の $ 3 $ 種類の操作のうち $ 1 $ つを選んで実行するということを $ 0 $ 回以上何度でも行うことができます。
$ X $ ミリ秒かけて a キーのみを押す。CapsLock キーのランプが OFF ならば画面の文字列の末尾に a が付け足され、ON ならば A が付け足される。
$ Y $ ミリ秒かけて Shift キーと a キーを同時に押す。CapsLock キーのランプが OFF ならば画面の文字列の末尾に A が付け足され、 ON ならば a が付け足される。
$ Z $ ミリ秒かけて CapsLock キーを押す。CapsLock キーのランプが OFF ならば ON に、ON ならば OFF に切 ...
补题 ABC303C Dash
补题 [ABC303C] Dash题面翻译现在高桥在一个二维平面上。初始时他在 $(0,0)$ 处,生命值为 $H$。平面上有 $M$ 个可以恢复生命值的物品,其中第 $i$ 个物品的位置为 $(x_i,y_i)$。
高桥将要进行 $N$ 次移动,第 $i$ 次移动的方式如下:
设高桥现在的位置是 $(x,y)$,那么他将会消耗 $1$ 点生命值,同时:
如果 $S_i=\texttt R$,移动到 $(x+1,y)$;
如果 $S_i=\texttt L$,移动到 $(x-1,y)$;
如果 $S_i=\texttt U$,移动到 $(x,y+1)$;
如果 $S_i=\texttt D$,移动到 $(x,y-1)$。
如果高桥的生命值降为负数,他就会倒下无法行动;否则,如果当前位置有一个可以恢复生命值的物品,且当前生命值小于 $K$,那么生命值将会恢复到 $K$。
请判断高桥能否进行完所有的移动而不倒下。
数据范围与约定$1\le N,M,H,K\le2\times10^5$,$|x_i|,|y_i|\le2\times10^5$。
保证 $S$ 是一个只由字符 R、L、 ...
5月29日 CodeForces 构造题刷题集锦
5月29日 CodeForces 构造题刷题集锦Problem - 1828A - Codeforces
ranting 800
题面翻译构造一个长度为 $n$ 的序列 $a$ 满足以下条件。
对于每个元素 $a_i$ 满足 $a_i \le 1000$。
对于每个元素 $a_i$ 满足 $a_i \equiv 0 \pmod i$。即每个元素 $a_i$ 能被 $i$ 整除。
满足 $\sum_{i = 1}^{n} a_i \equiv 0 \pmod n$。即所有元素之和能被 $n$ 整除。
$n \leq 200$。
题目描述You are given a positive integer $ n $ . Please find an array $ a_1, a_2, \ldots, a_n $ that is perfect.
A perfect array $ a_1, a_2, \ldots, a_n $ satisfies the following criteria:
$ 1 \le a_i \le 1000 $ for all $ 1 \le i \le ...
补题 力扣双周赛105 LeetCode6394 字符串中的额外字符
补题 力扣双周赛105 [LeetCode6394] 字符串中的额外字符给你一个下标从 0 开始的字符串 s 和一个单词字典 dictionary 。你需要将 s 分割成若干个 互不重叠 的子字符串,每个子字符串都在 dictionary 中出现过。s 中可能会有一些 额外的字符 不在任何子字符串中。
请你采取最优策略分割 s ,使剩下的字符 最少 。
示例 1:123输入:s = "leetscode", dictionary = ["leet","code","leetcode"]输出:1解释:将 s 分成两个子字符串:下标从 0 到 3 的 "leet" 和下标从 5 到 8 的 "code" 。只有 1 个字符没有使用(下标为 4),所以我们返回 1 。
示例 2:123输入:s = "sayhelloworld", dictionary = ["hello","world"]输出:3解释:将 s 分 ...
补题 牛客小白月赛 73 NC252702 优美的序列
补题 牛客小白月赛 73 [NC252702] 优美的序列123时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288KSpecial Judge, 64bit IO Format: %lld
题目描述给出一个长度为 $n(1\leq n\leq 1000)$ 的序列 $a(1\leq a_i\leq 1000)$,一个序列是优美的需要满足以下条件:
对于任意的 $1\leq i,j\leq n$,满足 $|a_i-a_j|\geq |i-j|$。
Kevin 现在有一个长度为 $n$ 的序列,你可以进行如下操作任意次:
任选序列的两个下标 $i,j$($i$ 与 $j$ 可以相同),然后交换 $a_i,a_j$ 的数值。
你需要使用上述操作(注意:你无需最小化操作的次数)帮他将这个序列变成优美的序列,或者告诉他该序列无法变成优美的序列。如果有多个可行的的答案,请输出任意一个。
输入描述
第一行包含一个整数 $T(1\leq T\leq 1000)$,表示测试用例的组数。
对于每组测试用例:
第一行包含一个整数 $ ...
NOIP2006 提高组 金明的预算方案
[NOIP2006 提高组] 金明的预算方案题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 $n$ 元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:
主件
附件
电脑
打印机,扫描仪
书柜
图书
书桌
台灯,文具
工作椅
无
如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 $0$ 个、$1$ 个或 $2$ 个附件。每个附件对应一个主件,附件不再有从属于自己的附件。金明想买的东西很多,肯定会超过妈妈限定的 $n$ 元。于是,他把每件物品规定了一个重要度,分为 $5$ 等:用整数 $1 \sim 5$ 表示,第 $5$ 等最重要。他还从因特网上查到了每件物品的价格(都是 $10$ 元的整数倍)。他希望在不超过 $n$ 元的前提下,使每件物品的价格与重要度的乘积的总和最大。
设第 $j$ 件物品的价格为 $v_j$,重要 ...
NC207751 牛牛的旅游纪念品
[NC207751] 牛牛的旅游纪念品123时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld
题目描述牛牛在牛市的旅游纪念商店里面挑花了眼,于是简单粗暴的牛牛决定——买最受欢迎的就好了。
但是牛牛的背包有限,他只能在商店的n个物品里面带m个回去,不然就装不下了。
并且牛牛希望买到的纪念品不要太相似,所以导购小姐姐帮助牛牛把纪念品全部排成了一行,牛牛只需要让选出来要买的m个物品中任意两个的位置差都大于等于k就行了。
现在告诉你这n个物品排成一行之后的受欢迎程度(可能是负数),求牛牛带回去的m个物品的最大欢迎度之和。
输入描述
第一行三个数n,m,k 接下来一行,有n个整数,是n个物品按顺序的受欢迎程度。
输出描述
输出一个数为题目所求的最大和
输入124 2 22 4 -6 1
输出15
说明1n≤10000,m≤100,m≤n,答案保证在int范围内,保证按照题目要求一定能取到m个物品
题解题目解析一道稍微不同的01背包题,我看别人的题解看了好长时间,最后看懂了.
我们先定义一个dp ...
ABC302D Impartial Gift
[ABC302D] Impartial Gift题面翻译一个人要送礼物给另外两个人,现有 $n$ 件礼物要选一件送给第一个人,价值分别为 $a_1,a_2,\cdots,a_n$,有 $m$ 件礼物要选一件送给第二个人,价值分别为 $b_1,b_2,\cdots,b_m$。求在两件礼物之差不超过 $d$ 的情况下,价值总和的最大值。
题目描述高橋君は青木君とすぬけ君に $ 1 $ つずつ贈り物を送ることにしました。 青木君への贈り物の候補は $ N $ 個あり、 それぞれの価値は $ A_1,\ A_2,\ \ldots,A_N $ です。 すぬけ君への贈り物の候補は $ M $ 個あり、 それぞれの価値は $ B_1,\ B_2,\ \ldots,B_M $ です。
高橋君は $ 2 $ 人への贈り物の価値の差が $ D $ 以下になるようにしたいと考えています。
条件をみたすように贈り物を選ぶことが可能か判定し、可能な場合はそのような選び方における贈り物の価値の和の最大値を求めてください。
输入格式入力は以下の形式で標準入力から与えられる。
$ N $ $ M $ $ D $ $ ...