07 2022 档案
摘要:题意 给定一个正整数 $n$,构造一个排列(一个长度为 $n$ 的序列,其中由 $1 \sim n$ 构成,不重复)使其权重最小。 思路 既然要使权重最小,那么就让每一个位置 $i$ 上的元素为 $i+1$ 或 $i−1$,且保证不重复(开个数组记重),可以证明当 $i$ 大于等于 $2$ 时,$i
阅读全文
摘要:题意 给定一个长度为 $n$ 的序列 $a$ 以及一个长度为 $m$ 的字符串 $s$,初始 $s$ 均为 $\text{B}$,第 $i$ 次操作可以把 $s_{a_i}$ 或 $s_{m+1-a_i}$ 修改为 $\text{A}$,求修改过后的字典序最小的 $s$。 思路 因为要使字典序最小,
阅读全文
摘要:题意 有三扇门,每扇门都有一把钥匙与该门上的数字相对应,若数字一样就可以打开。 其中有两扇门后有钥匙,一扇门后为空。 现拥有一把钥匙 $x$,给出三扇门后的钥匙(若为 $0$ 即门后没有钥匙),询问是否可以将三扇门都打开。 思路 想要打开三扇门,就需要有三扇门的钥匙,那么前两扇可以打开的门后就必须要
阅读全文
摘要:题意: 给定一队人的身高,将其分成两队,问能否实现前面的人均低于后面的人至少 $x$ 个单位长度。 做法: 将这队人的身高进行排序,$h_1 \sim h_n$ 即为第一队,$h_{n+1} \sim h_{2n}$ 即为第二队,两队前后进行比较即可。 证明: 将其身高进行排序之后,若第 $i$ 与
阅读全文
摘要:给定一个矩阵,判断最少将多少个格反转后使得旋转零度,九十度,一百八十度,二百七十度相等。 枚举矩阵每个位置是 $0$ 还是 $1$,若已经判断过则跳过,全统 $1$ 和全统 $0$ 取操作数小值。 #include<cstdio> #include<iostream> #include<cstrin
阅读全文
摘要:题意:模拟一个 $n$ 位密码锁。 做法:直接模拟,注意往后推,即若为 $U$ 变为 $D$,若为 $D$ 变为 $U$。注意 $0$ 和 $9$ 进行操作时的特判。 #include<cstdio> #include<iostream> using namespace std; int s[105
阅读全文
摘要:题意:输入每个团队及团队的解决问题数,若是第一次解决则获得两个气球,其余获得一个气球。 做法:开一个数组记录是否为第一次解决该问题,直接模拟。 #include<cstdio> #include<iostream> #include<cstring> using namespace std; int
阅读全文
摘要:题意:输入一个长度为 $3$ 的字符串,判断其是否为 $YES$,忽略大小写。 做法:输入字符串,直接判断。 #include<cstdio> #include<iostream> using namespace std; string s; int t; int main(){ scanf("%d
阅读全文
摘要:题意:给定一个数 $n$,找出一个数为 $10^k \leq n$,求二者的差。 建立一个数组,储存 $10^k$,每次直接查询求差输出。 注意数据范围。 #include<cstdio> #include<iostream> using namespace std; long long s[15]
阅读全文
摘要:给定一个字符串,每天可以记忆三个字符,求书写出整个字符串的天数。 每次确定要记忆的三个字母,并向后寻找,若有非三个字母其中一个,则重新开启一天记忆三个字母。 #include<cstdio> #include<iostream> using namespace std; int t; string
阅读全文
摘要:To CF 这道题依题意可得最终答案为序列长度-最长子序列长度。 数据范围至 $100000$ 用 $O(n^2)$ 的复杂度肯定会炸。 用 $O(nlogn)$ 的复杂度却在第 $21$ 个测试点莫名出错。 于是换一种思路可得 $dp[s]=dp[s-1]+1$ 即类似于求最长子序列长度。 最后用
阅读全文
摘要:根据题意,给定一个 $2\times2$ 的仅包含 $0$ 和 $1$ 的二维数组。定义一个操作,每次可以选择一行和一列将其变成 $0$,求最小操作次数。 思路:根据枚举可得共有 $14$ 种矩阵形态,通过观察可得: 当矩阵中 $1$ 的数量为 $0$ 时,即只有一种形态,其最小操作次数为 $0$。
阅读全文

浙公网安备 33010602011771号