• 2023-09-102023“钉耙编程”中国大学生算法设计超级联赛(5)
    1001Typhoon题意:给你台风的轨迹坐标以及避难所的坐标,台风的半径不可预测,求让每个避难所不安全的最小台风半径是多少。分析:枚举每个点到所有“线段”的距离取个min。代码:附上队友的代码(懒):#include<bits/stdc++.h>#include<math.h>#definerep(i,a,b)for(inti=a;i<
  • 2023-09-072023“钉耙编程”中国大学生算法设计超级联赛(4)
    1003SimpleSetProblem题意:分别从k个集合中选一个元素组成一个数组\((a_1,a_2,a_3,...,a_k)\),求max\((a_1,a_2,a_3,...,a_k)\)-min\((a_1,a_2,a_3,...,a_k)\)的最小值。分析:我们给每个集合中的元素添加一个id标识它属于哪个集合,然后将所有集合合并并按数值大小从
  • 2023-09-032023“钉耙编程”中国大学生算法设计超级联赛(3)
    1005.OutofControl题意:有n个数\(x_1,x_2,...,x_n\),在其中选k个数依次放入栈中。如果当前放入栈中的数\(x_i\)小于栈顶的数,则向栈中放入与先前的栈顶相同的数而不是\(x_i\)。求对于每个k对应的方案数。分析:先排序离散化,然后考虑dp。状态定义:f[i][j]表示长度为i且最后一个
  • 2023-08-162023“钉耙编程”中国大学生算法设计超级联赛(9)- 1003 Reasoning 题解
    题目翻译基本符号有一推理系统,其中有这些符号:括号\((\)和\()\);逻辑连接词\(\lnot\)和\(\rightarrow\);全称量词\(\forall\);变量\(u\simz\);常量\(a\sime\);函数\(f\simh\);谓词\(P\simT\)。这些符号是构成系统的基础,他们之间能够组合出一些其他概念:项(term
  • 2023-08-118.10 睡觉集合与钉耙编程
    有时候我们不需要太复杂的结论与算法,只要时间复杂度够就行了。交朋友给定\(n\)个点和\(m\)条有向边。每次可以执行操作:找到\((p,u)\inE\)与\((p,v)\inE\),连\((u,v)\)和\((v,u)\)。问图中最大能有多少条边后来连的有三种边:两条\(m\)里的边连起来的。一条\(m
  • 2023-08-022023钉耙编程 day4
    NumberTable在\(2\)行\(n\)列的矩阵中,计算满足矩阵内所有数组异或和为\(0\)每一行、每一列数字互异每个数的取值范围为\([0,2^k)\)的填数方案数题意相当于每行内有\(\dfrac{n(n-1)}{2}\)对不等关系的限制,每列内有\(1\)对不等关系的限制,总共\(n^2\)对不
  • 2023-07-272023“钉耙编程”中国大学生算法设计超级联赛(4)Number Table
    题意对于一个\(2\timesn\)的矩阵,若每行每列数均不同且均\(\in[0,2^k)\),同时\(2n\)个数异或和为\(0\)则称该矩阵合法。给定\(n,k\),求总方案数。做法考虑若只有一行,即求\(n\)个不相同的数异或和为\(0\)的方案数:假定前\(n-1\)个数不同且已确定,此时仅需考虑第\(n\)个数是否在前
  • 2023-07-222023“钉耙编程”中国大学生算法设计超级联赛(2)部分题解
    2023“钉耙编程”中国大学生算法设计超级联赛(2)部分题解7.201002 BinaryNumber可以发现,每个位置最多修改两次,再多了没有意义。当k为0时,无法修改直接输出。当n为1时,看k的奇偶性,若为奇数则将其翻转输出,否则直接输出。当n不为1时:如果给定的次数k小于序列中连续0串的个数,那一定
  • 2023-07-192023“钉耙编程”中国大学生算法设计超级联赛(1)
    1001Hide-And-SeekGame题意:给出一颗树,两人在树上特定两点来回走,问最早在那个节点相遇思路:枚举所有点,看它是否同时在两条链上,如果在,那么结合周期、两人最早到达时间,返回到达时间得到4个同余方程(拓展欧几里得),然后得到最小可能解#pragmaGCCoptimize(2)#pragmaGCCoptimize(3