04 2023 档案
摘要:比赛地址 这把真不在状态,麻了,看来还得再练 A. A-characteristic 题意:给出n和k,要求构造只含1和-1数组a,存在k对(i,j)(i≠j),有a[i]*a[j]=1 Solution 令构造的数组有x个1和y个-1,那么其对于答案的贡献有 $$ x*(x-1)/2+y*(y-1
阅读全文
摘要:题意:有一个未知大小的矩形,每次横着或者竖着剪成两块,将其中一块放入盒子里,继续对另一块进行操作,最后把剩余的也放进盒子里,现在已知盒子内的所有矩形的长和宽,问原来可能的矩形长和宽是多少(矩形没有进行旋转) Solution 比较容易想到把所有的矩形面积和加起来就是原矩形的面积了,然后找到矩形中最大
阅读全文
摘要:A. Matching 题意:给出一个数,数中可能会有?,可以用0-9替换问号,问最后有多少种方法 Solution 对于位于首位的数可以用1-9替换,对于其他位置的额、可以用0-9替换,如果首位为0则无解 void solve() { string s;cin>>s; if(s[0]=='0')
阅读全文
摘要:题目地址 B.写信 题意:有n个信封和n封信,问全部装错有多少种可能 Solution 全错排问题,对于i=k的情况,我们可以从i=k-1和i=k-2转移过来 一种是k-1个全错排,然后从前面k-1个选出一个信封与第k个交换 另一种是任选一个j,有1<=j<=k-1放在k,这样除了k和j以外还有k-
阅读全文
摘要:题意:一个1*n的棋盘上有k个棋子,一半是黑一半是白,并且是白黑白黑白黑...白黑的形式,A每次最多可以将d个白棋子向右移动,B每次最多可以将d个黑棋子向左移动,不能不移动棋子,谁最后无法移动棋子谁就输了,A先手,问有多少种布局可以使得A获胜 Solution Nim-K博弈+动态规划 可以把棋子之
阅读全文
摘要:题目地址 题意:给出一棵树,根节点是1,标记一些点,要求从根节点出发经过所有标记的点后回到1,现在允许删除其中的m个点的标记,求删除m个点的标记后的最小路程 Solution 很厉害的一道题,树形dp+树上背包 考虑dp[i] [j]为从第i个节点出发遍历子树,去掉j个点的标记后,经过所有标记的点后
阅读全文
摘要:比赛地址 C. Li Hua and Chess 题意:给出一个棋盘长宽n,m,有一颗棋子在棋盘上,向八个方向走一步的路程代价都为1,现在进行最多3次询问,问能否确认棋子的位置 Solution 第一次做交互题,想很好想,先询问(1,1),得到x,再询问(1+x,1+x),得到y,最后询问(1+x,
阅读全文
摘要:题目地址 题意:定义数组a包含所有不含数字4的正整数,给出一个n,要求求出数组a中第n个数 Solution 数位dp+二分,求出[1,mid]中不含数字4的正整数个数,不过因为有可能mid包含4,但是由于贡献是一样的,可以直接把4都变成3,最后处理一下即可 int dp[20]; int a[20
阅读全文
摘要:题目地址 题意:给你若干个字符串,答案串初始为空。第i 步将第 i 个字符串加到答案串的后面,但是尽量地去掉重复部分(即去掉一个最长的、是原答案串的后缀、也是第 i 个串的前缀的字符串),求最后得到的字符串。 Solution 字符串哈希练习题,做完之后对哈希的理解更深刻了 因为求原字符串的后缀和第
阅读全文
摘要:比赛地址 A. We Need the Zero 题意:给出一个数组,对任意1<=i<=n,令bi=ai^x,问是否存在x,使得b1^b2^...^bn=0 Solution 如果n为奇数,那么x一定存在,因为偶数个x异或得到的是0,直接令x=0^(a1^a2^...^an)即可 如果n为偶数,那么
阅读全文
摘要:题目地址 A - Beautiful Sequence 题意:给出一个数组,问是否存在任意一个子区间,存在i,使得ai=i Solution 直接比较当前的数和i的大小就行了,当前为x,如果要求答案存在,必须有i>=x void solve() { int n;cin>>n; int flag=0;
阅读全文