随笔分类 - 数学 构造/结论
摘要:【题目】B. Recover the String 【题意】找到一个串s,满足其中子序列{0,0}{0,1}{1,0}{1,1}的数量分别满足给定的数a1~a4,或判断不存在。数字<=10^9,答案<=10^6。 【算法】数学构造 【题解】首先由a1和a4易得0的数量x0和1的数量x1。 容易发现0
阅读全文
摘要:【题意】定义f(A,B)为一个字符串,满足: 1.长度为A+B,含有A个‘A',B个'B'。 2.最长的相同字符子串最短。 3.在满足以上2条的情况下,字典序最小。 例如, f(2,3) = BABAB, and f(6,4) = AABAABAABB. Q次询问f(Ai,Bi)的子串[Ci,Di]
阅读全文
摘要:【题目】B. GCD of Polynomials 【题意】给定n,要求两个最高次项不超过n的多项式(第一个>第二个),使得到它们GCD的辗转次数为n。n<=150。 【算法】构造 【题解】辗转n次是最坏情况——每次辗转至少会使被模数的最高次项变到模数的最高次项-1,也就是必须构造两个多项式满足这种
阅读全文
摘要:【题目】C. Points on Plane 【题意】给定坐标系中n个点的坐标(范围[0,10^6]),求一种 [ 连边形成链后总长度<=2.5*10^9 ] 的方案。n<=10^6。 【算法】思维题(分块思想) 【题解】将这个10^6*10^6的矩阵划分为1000个10^3*10^6的矩阵,第奇数
阅读全文
摘要:【题目】C. Qualification Rounds 【题意】给定n个问题和K个人,给定每个人知道的问题列表,求能否找到一个非空问题集合,满足每个人知道的集合中问题数量都不超过集合总题数的一半。n<=10^5,k<=4。 【算法】数学结论 【题解】当k<=4时,结论:若存在合法方案,则一定存在选择
阅读全文
摘要:【题意】给定n个点和m条无向边(有重边无自环),每个点有权值di=-1,0,1,要求仅保留一些边使得所有点i满足:di=-1或degree%2=di,输出任意方案。 【算法】数学+搜索 【题解】 最关键的一步:★【%2转取反】。 首先考虑在树上做这样的问题,就显得十分朴素了。每当选择一条边,边的两端
阅读全文
摘要:【题意】对于n个数,找出一些数使得它们的和能被n整除,输出任意一组方案,n<=10^6。 【算法】构造/结论 【题解】引用自:http://www.cnblogs.com/Sakits/p/7407103.html by Sakits 对n个数求前缀和,即sum[i]=sigma(a[1~i])%n
阅读全文
摘要:【题意】给定n个节点的树,每个节点有一个m位二进制数,数字可以随时按位取反,每个数位有一个价值,定义每个点的最大价值是从根到这个点路上的数字(可以取反)或起来的数字中,1有价值0无价值,加起来得到的最大价值。 得到所有点的最大价值后,相邻点若同价值则断边,最后求长度为d的路径数量(边长1),d取遍0
阅读全文
摘要:【题意】给定大矩阵的边长H和W,给每格填数(<=|10^9|),要求大矩形总和为正数,而每个h*w的小矩形总和为负数,求构造方式。 【算法】数学 【题解】结论题。 ★当h|H&&w|W(H是w的倍数,W是w的倍数)时,每个小矩阵之和加起来翻倍刚好成为大矩阵,无解。 当不为倍数时,显然会有多余的行列,
阅读全文
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡
阅读全文