摘要:1 int comb = (1 >1) | y; 5 }
阅读全文
摘要:0. 前言打了两年的百度之星,都没进决赛。我最大的感受就是还是太弱,总结起来就是:人弱就要多做题,人傻就要多做题。题目还是按照分类做可能效果比较好,因此,就有了做几个系列的计划。这是系列中的第一个,解决OJ中有关魔方的问题。1. 概述魔方大概会涉及两类算法:搜索和模拟。这里的搜索方式一般是双广或者b
阅读全文
摘要:1. 题目描述定义如下函数
f(x):对于任意整数
y,找到满足
xk=y同时
x最小并的
k值。所求为区间
[a,b]的数代入
f的累加和,即
b∑x=af(x)2. 基本思路因为数据很大, 因此不适合暴力枚举。但是对于给定的数
y,我们可以求得$
阅读全文
摘要:1. 题目描述给定几个三角形拼成一个百慕大三角形。2. 基本思路基本思路肯定是搜索,关键点是剪枝。(1) 若存在长度为
l的边,则一定可以拼成长度为
k⋅l的三角形,则可拼成长度为
k⋅l的百慕大三角形;(2) 长度超过百慕大三角形的边长的三角形没有任何价值;(3) 百
阅读全文
摘要:1. 题意描述已知数
X模
n个
mi的结果分别为
ri,求
X的值。2. 基本思路因为
mi并不一定互质,所以此题不能直接用CRT解,不过解法基本是类似的。模板题,解一般模线型方程组。3. 代码
阅读全文
摘要:1. 题目描述题目很简单,就是求
C(n,m)。2. 基本思路这是一道应用了众多初等数论定理的题目,因为数据范围较大因此使用Lucas求
C(n,m)。而M较大,因此通过
a[i]=C(n,m)再综合中国剩余定理可解。由于数据可能为
1018,再进行乘法可能
阅读全文
摘要:1. All X1.1 基本思路k和c的范围都不大,因此可以考虑迭代找循环节,然后求余数,判定是否相等。这题还是挺简单的。1.2 代码 1 /* 5690 */ 2 #include <iostream> 3 #include <sstream> 4 #include <string> 5 #inc
阅读全文
摘要:杭电上碰巧有几道求最小割的题目,用网络流解超时。通过离散数学中的一些知识可以将平面图最小割转化为最短路径,通过最短路解提高效率。这个转化过程很简单,但是很巧妙,详细内容可以参考《浅析最大最小定理在信息学竞赛中的应用》。1. 【HDU】 3870 Catch the Theves有一个网格拓扑,每条边
阅读全文
摘要:1. 题目描述对于给定的
a,n,mod,a∈[2,11],n∈[0,109],mod∈[1,109]求出在
[1,an]内的所有
a进制下的数并且不含重复数字。2. 基本思路这题比赛的时候,没人做出来,但是基本思路大家都有。显然可以直接将
n改
阅读全文
摘要:1. 题目描述公司里有
n,n∈[1,200]个人,他们间的关系构成树状结构。除老板外,每个员工都有唯一一个直属上司,要求从中选择尽量多的人,但是不能同时选择员工和他的直属上司,问最多能选多少人,以及可行解是否是唯一的?2. 基本思路这显然又是一个树形DP的题目,经典模型——树的最大独
阅读全文
摘要:1. 题目描述某树形网络由
n,n∈[1,104]台计算机组成。现从中选择一些计算机作为服务器,使得每当普通计算机恰好与一台服务器连接(并且不超过一台)。求需要指定服务器的最少数量2. 基本思路这显然是一个求最优解的问题,并且该网络拓扑结构为树形。因此,考虑树形DP。关键是考虑有哪些
阅读全文
摘要:1. 题目描述有两个长度为
105的字符串,其中一个仅包含小写字母,称之为源串;另一个包含?与*通配符的模式串,并且通配符的个数不超过10。求模式串是否能匹配源串?2. 基本思路这其实是一道RegularExpression-Matching问题。一般化的解法就是构建自动机,然后去在这个自动机上
阅读全文
摘要:1. 题目描述有长度为
n∈[1,105]的序列,表示一个打乱的循环排列,即每当
[1⋯n]中的数字全部出现后,再重新产生一个随机的覆盖
[1⋯n]的序列。给定的序列并不是一个完整的循环序列,而是一个子序列。求完整的循环序列共有多少可能?2. 基本思路这
阅读全文
摘要:1. 题目描述给定
n×m,n、m∈[1,10]的方格,求不同形状的
[1⋯10]联通块的个数?所谓不同形状,表示不能通过平移、旋转、镜像实现相同的形状。2. 基本思路显然数据不大, 那么可以打表。首先考虑,这个表怎么打?不妨使用
cn表示连通块数。那么
阅读全文
摘要:1. 题目描述由
n×n,n∈[1,5]的正方形由
2×n×(n+1)根木棍组成,可能已经有些木棍被破坏,求至少还需破坏多少木根,可以使得不存在任何正方形?2. 基本思路这是一道非常有趣的题目,可以使用IDA*解也可以用DLX解。可以试试5
阅读全文
摘要:1. 题目描述
m×n的迷宫(最大为
16×16)包含最多3个点,这些点可以同时向相邻方向移动或保持停止,使用小写字母表示起始位置,使用大写字母表示中止位置。求最少经过多少时间,这些点可以从起始位置移动到对应的终止位置。2. 基本思路这是很经典的路径搜索问题,一般采用
阅读全文
摘要:1. 题目描述给定一个正整数
n,求经过多少次乘法或除法运算可以从
x得到
xn?中间结果也是可以复用的。2. 基本思路实际结果其实非常小,肯定不会超过20。因此,可以采用IDA*算法。注意几个剪枝优化就好了:(1)每次新计算的值必须从未出现过;(2)每次新计算的值进行还可以执行的运算次数的
阅读全文
摘要:1. 题目描述给定一个
2×2×2的魔方,当某个面上的4个小块颜色均相同时,称这个面为complete。求对这个魔方进行
n∈[1,7]次旋转(沿某个面顺时针或者逆时针)的过程中,求complete的面总和的最大值。魔方及索引如下图所示:2. 基本思路及代码解
阅读全文
摘要:1. 题目描述给定一个长为
n∈[1,4000]的字符串,求其中长度最长的子串,并且该子串在原串中出现至少
m次,并求最右起始位置。2. 基本思路两种方法:二分+后缀数组,或者二分+哈希。(1) 二分+后缀数组对子串长度进行二分,若不同后缀的公共前缀超过这个值,则对计数值累加。若计数值
阅读全文
摘要:1. 题目描述挺简单的一道题,给定
n个大整数,求出现最多的次数。2. 基本思路这题是可以使用哈希做,ELFHash等哈希都可以过。3. 代码
阅读全文