题解lucky array
P3375 【模板】KMP( 普及/提高− ) 题解
题目传送门 思路: 首先我们要学习一下 \(KMP\) 算法,不会的可以看这个大佬的文章 那么我们就直接开始讲思路了。 针对于每一位,\(kmp\) 算法已经预处理出了一个对应 \(kmp\) 数组的单元,映射着如果此位失配,它可能的最靠后的一个重新开头是哪一个。 让我们举一个例子:假如让 \(aa ......
CF1900 C Anji's Binary Tree 题解
Link CF1900 C Anji's Binary Tree Question 给出一个树,每个节点上有一个字母 L/R/U ,从 \(1\) 号根节点开始,L 表示接下来走到左节点,R 表示接下来走到右节点,U 表示接下载走到父节点 问,最少修改几个节点上的字母使得从根节点走到叶子节点 Sol ......
P7626 [COCI2011-2012#1] MATRIX( 普及/提高− ) 题解
题目传送门 思路: 首先思考暴力,\(O(n^4)\) 的时间复杂度,不行。 那么我们这里就要运用到一点前缀和的知识了。 我们可以用前缀和对两条对角线进行计数。 每个点有两个对角线运算。 差不多是 \(O(n^2)\) 到 \(O(n^3)\)的时间复杂度。 而 \(n\leq400\) 稳过。 C ......
CF1900 B Laura and Operations 题解
Link CF1900 B Laura and Operations Question 给出 \(1,2,3\) 的个数 \(a,b,c\) 可以分别减少两个不同的数,增加一个与两个数都不同的数 问,是否能经过一些操作使得 就剩下 \(1\) 或 \(2\) 或 \(3\) Solution 先考虑 ......
CF1900 A Cover in Water 题解
Link CF1900 A Cover in Water Question 给出一个 \(n\) 个格子,有些格子被堵塞了,有些格子是空的,我需要在进行一些操作,使得所有空的格子里面都有水 操作 1:给任意一个格子装上水 操作 2:把一格水从一个地方搬运到另外一个空的格子里 如果一个空的格子的相邻的 ......
Arrays类
数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作查看jdk帮助文档Arrays类中的方法都是static修饰符的静态方法,在使用的时候可以直接使用类名进行调用,而不用使用对象 ......
ABC330 A-E 题解
ABC330题解 AtCoder Beginner Contest 330 A - Counting Passes 思路: 枚举一遍,当前数大于\(L\)使\(ans+1\)即可. 代码: #include<iostream> #define int long long using namespac ......
Information Graph 题解
题目链接 Information Graph 分析 在线并不好做,考虑离线,先将树建出来 \(2\) 操作时 \(x\) 节点 与 当前根节点 之间的点都会获得文件 当前根节点可以用并查集维护 对于查询的节点判断它是否为链上的点即可 具体的,若该节点为 \(rt\) 子树中的点 且 该节点的子树包含 ......
P8706 [蓝桥杯 2020 省 AB1] 解码 ( 入门 ) 题解
题目传送门 思路: 有一个原串 \(t\)。 将原串 \(t\) 转换成简写字符串 \(s\) 的规则如下: 如果有连续的 \(2\sim9\) 个相同字母,那么可以将它改为字母+数字的格式。 如果是单独的字符,也就是与左右两边的字母都不相同,在简写字符串中一模一样。 所以,现在告诉我们简写字符串, ......
Arrays类
package array; import java.util.Arrays; public class ArrayDemo06 { public static void main(String[] args) { int[] a = {1,2,3,4,9090,31231,543,21,3,23} ......
ICPC2022Xian G Perfect Word 题解
Link ICPC2022Xian G Perfect Word Question 给出 \(n\) 个串,我们称 \(t\) 串是 "good" 当且仅当 \(t\) 的所有子串都在 \(n\) 个串中出现过 问最长的 "good" 的串的长度 Solution 由于所有串的子串个数为 \(L\t ......
ICPC2022Xian E Find Maximum 题解
Link ICPC2022Xian E Find Maximum Question 定义 \(f(x)\) 求 Solution 通过打表我们可以发现 \(f(x)\) 表示三进制表达中有效位数与数码和之和 接下来考虑如何获得最大的 \(f(x)\) 贪心的去考虑,假设答案为 \(Ans\),\(( ......
7-1896C - Matching Arrays
题意: 两个数组\(a和b\),对\(b\)任意排序, 使得\(a[i]>b[i]的个数为x\),要求输出能满足的数列。 思路: 一个任意排序,相当于两个任意排序,都升序,发现规律,\(让排序后的b数组,循环右移x位置\) ,满足条件则输出,否则一定不满足。 代码: 点击查看代码 #include< ......
【luogu题解】T378828 位运算
位运算 题目背景 题目由 daiyulong20120222 创作(me) 并由 QBW1117完善以及数据 。 题目描述 给定两个数\(x,y\) ,在给定一个位运算符号 \(c\)。 请你列出 \(x,y\) 进行 \(c\) 位运算是的算数竖式式。 注: 竖式这么列: 显示出两个数的完整二进制 ......
CF1898 C Colorful Grid 题解
Link CF1898 C Colorful Grid Question 给出一个 \(N\times M\) 的网格图 给每一条边染色(R/B),需要存在一条长度为 \(K\) 的路径从 \((1,1)\) 到 \((N,M)\),路径允许重复通过一个节点。 Solution 非常有意思的一道题 ......
CF1898 B Milena and Admirer 题解
Link CF1898 B Milena and Admirer Question 给出一个长度为 \(n\) 的序列 \(a\) ,我们可以做一种操作使得 \(a\) 非降,操作是: 对于一个 \(a_i\) 选择一个整数 \(0 \le x \le a_i\) ,用两个数 \(x,(a_i-x) ......
USACO 2022 December Contest, Silver Problem 3. Range Reconstruction 题解
Link USACO 2022 December Contest, Silver Problem 3. Range Reconstruction Question \(r_{l,r}\) 表示 \(max[l,r]-min[l,r]\) 给出所有的 \(r_{i,j}\) 求一个可行的序列 Solu ......
ABC327 E Maximize Rating 题解
Link ABC327 E Maximize Rating Question 给出 \(N\) 个数 \(Q_i\),从中按照顺序选出 \(k\) 个数,使得 \[R=\frac{\sum^k_{i=1}(0.9)^{k-i}\times Q_i}{\sum^k_{i=1}(0.9)^{k-i}}- ......
CF1891 D Suspicious logarithms 题解
Link CF1891 D Suspicious logarithms Question 我们设 \(y=f(x)\) 表示最大的 \(y\) 满足 \(2^y \le x\) 设 \(z=g(x)\) 表示最大的 \(z\) 满足 \(f(x) ^z \le x\) 求 \[\sum\limits ......
CF1891 C Smilo and Monsters 题解
Link CF1891 C Smilo and Monsters Question 有 \(n\) 个怪物部落,其中 \(a_i\) 表示第 \(i\) 个部落中的怪物数量,你有一个值 \(x\) 初始为 \(0\) ,你有两种方式来消灭所有的怪物 选中一个怪物数量大于 \(1\) 的部落,消灭一个 ......
CF1891 F A Growing Tree 题解
Link CF1891 F A Growing Tree Question 给出了一棵树,初始只有根节点,编号为 \(1\) 现在有两个操作 第一个操作:1 x 添加一个新节点 \(size+1\) ,这个新节点的父亲为 \(x\) 第二个操作 : 1 x val 给 \(x\) 的子树都加上 \( ......
P9771 HUSTFC 2023 排列排序问题 题解
Link P9771 HUSTFC 2023 排列排序问题 Question 给出一个 \(N\) 个元素的排序 \(a\),我们可以对排列进行一些操作 将这个排列切割成若干个序列 将其中一些序列翻转 将这些序列连接起来得到一个新的排列 需要让最后的排列有序 Solution 这个题的描述有点小问题 ......
CF1884 D Counting Rhyme 题解
Link CF1884 D Counting Rhyme Question 给定长度为 \(n\) 的数组 \(a\) 如果两个不同的下标 \(a_i,a_j\) 不能被任意一个元素 \(a_k,(1 \le k \le n)\) 共同整除,那么说明 \((i,j)\) 是"好对" ,求"好对" 的 ......
ABC325 D Printing Machine 题解
Link ABC325 D Printing Machine Question 有 \(N\) 个零件需要打印,每个零件从 \(T_i\) 时间进入机器,从 \(T_i+D_i\) 时间离开机器,每个时间段只能答应一个零件,求最多能打印多少零件 Solution 贪心的去想,对于第 \(i\) 个时 ......
ARC66 D Interval Counts 题解
Link ARC66 D Interval Counts Question 给定正整数 \(n\) 和长度为 \(n\) 的序列 \(x_i,y_i\) 保证 \(x_i\) 单调递增,你需要构造 \(m\) 个去年 \([L_i,R_i]\) ,\(m\) 有你指定,使得每个 \(x_i\)恰好被 ......
ARC166 A Replace C or Swap AB 题解
Link ARC166 A Replace C or Swap AB Qustion 给出两个长度相同的由 \(A,B,C\) 组成的字符串 \(X\) 和 \(Y\) 。 需要使用一些操作使得 \(X\) 和 \(Y\) 一样 将 \(X\) 中的 \(C\) 换成 \(A\) 将 \(X\) 中 ......
T402161 run 题解
Link T402161 run Question 亮亮总共要跑 \(n\) 圈,可以分成多次,但是每次跑的圈数必须要比上一次跑的多,求跑完 \(n\) 圈的方案数 Solution 显然动态规划 定义 \(F[i][j]\) 表示一共跑了 \(i\) 圈,最后一次跑了 \(j\) 圈的方案数,转移 ......
AT_pakencamp_2020_day1_f Fibonaccyan(暂无评定) 题解
题目链接 题目大意: 给定数 \(P\),寻找能把 \(P\) 整除的最小的斐波那契数,然后输出它是斐波那契数列中的第几个,找不到输出的话就输出 -1 。 分析: 主要代码: a[i]=(a[i-1]+a[i-2])%p 思路: 先将 \(a\) 数组的第一项和第二项都初始化为 1 ,然后判断是不是 ......
P1091 合唱队形题解(普及/提高−) 题解
题目传送门 这道题是一个很经典的动态规划。 因为合唱队形的身高是从低——高——低来排的,所以就可以利用分治的思想将队形分成两个部分:低——高是最长上升子序列;高——低是最长下降子序列。 这道题其实可以用二分查找来优化,可是这题n≤100,没有必要优化,需优化题详见P1020 导弹拦截。 做法详见代码 ......