- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
集训2010-3-25 L
题目选讲
杭州二中 赖陆航
Another Mathematical Problem
SPOJ AMATH
给定正整数n,k
求最小的正整数T,使得对任意正整数a,10k|(na+T-na),或判无解
n≤10100, k≤100
题目概述
n=32, k=2
T=4
10k|na(nT-1),不妨令a=1
令g=gcd(10k,n)
(10k/g)|((n/g)*(nT-1))
(10k/g)|(nT-1)
令m=10k/g,则gcd(10k/g,n)=1, T|φ(m)
设φ(m)=2A5B, T=2C5D
对任意T’=2C’5D’(C’≥C,D’≥D),m|(nT’-1)
分别从小到大枚举C,D,倍增计算nT
该算法时间复杂度为O((logn)2+k3)
分析
Island Explorer
SPOJ IEXPOLRE
题目概述
两条直线上分别分布着N,M个点
求这些点的Euclid最小生成树
N,M≤10000
分析
对于一条直线l1上的点A,设其投影到另一条直线l2上的相邻点为B,C
对l2上其余任一点D(不妨设D在C右方)
ADAC,ADCD
AD一定不在最小生成树上
跨直线的候选边只有AB,AC
最小生成树候选边共O(N+M)条
该算法时间复杂度为O((N+M)log(N+M))
D
k-th Product
SGU 421
给定n个整数a1,…,an
n个数取m个,在所有的N个m元组 b1,…,bN (N=C(n,m))中,求积第k大的
1≤n,k≤10000, 1≤m≤13, k≤C(n,m), -106≤ai≤106
题目概述
n=4, m=3, k=3, a=(2,3,3,5)
a2·a3·a4=45
a1·a2·a4=30
a1·a3·a4=30
a1·a2·a3=18
答案为30
假设a中没有负数。将a从大到小排序
由于k不大,不妨按顺序求出前k大解
称m元组b’=(al’1,al’2,…,al’m)是b=(al1,al2,…,alm)的前驱,当且仅当存在一个c,l’c=lc-1,且对所有i≠c,l’i=li类似的定义后继
若b已被求到,则b的所有前驱也已被求到
优先队列
每次取一个最大的m元组b
将b的后继全部插入优先队列
分析
考虑a中的负数
负数数目的奇偶性影响积的正负性
对每一种可能性维护优先队列
该算法时间复杂度为O(nm+kmlogkm)
分析
Recover path
SGU 515
给定一个n个点m条边的正权无向图G
给定一个点集S
求任一条(某两点间的)最短路P,经过S中所有点
n,m≤105, |S|≤n
题目概述
必定存在一个解P,两端都在S中
设起点为s,求出最短路径DAG
DAG中任一条路径都是G的最短路径
DAG中找一条路径P,经过S中所有点
动态规划
若以s为起点无解?
S中离s最远的点一定可以作为起点
该算法时间复杂度为O((N+M)logM)
分析
Illumination of Buildings
SGU 493
题目概述
二维平面上有很多不相触的建筑物
建筑物i表示为边平行于坐标轴的矩形,左下角为(Li,0),右上角为(Ri,Hi)
建筑顶部可以装灯,照亮方式如图
求将所有建筑两侧全部照亮的最少灯数
N≤1000, Li,Ri,Hi≤10000
分析
灯一定装在建筑物顶部两角
最左最右两角的灯必选
考虑照亮所有建筑物底部两角
观察相邻两建筑,不妨设左边比右边高
C能照到的角A也能照到
C不必使用
如果B或D只能从A,C照到,则A必选
充要条件?
证明
不妨考虑A没有选择的情况
设A’为最左能照到D的角,如图
D’只能从A’,C’照到
A’比C’高
A’是必选的
同理B也能被照到
该算法时间复杂度为O(N2)
分析
Number Permutations
SGU 420
称两个不同的正整数为相似的,当且仅当一个数可通过重排列各位数字得到另一个
求[l,r]中有几个数在该区间中恰有一个相似数
1≤l≤r≤1015
题目概述
l=10, r=99
12,13,14,…,18,19,
21,23,24,…,28,29,
…
91,92,93,…,97,98
答案为72
典型的数位统计问题
将原区间划分成若干个子区间,每个子区间包含所有某前缀相同的整数
子区间数为O(logr)
分成两类讨论
相似数在所属子区间内
非公共前缀部分必须为两个不同的数字,P(10,2)=90种可能
相似数不在所属子区间内
非公共前缀部分所有数字必须相同,10种可能
对每一种可能性,遍历所有子区间检查正确性
该算法时间复杂度为O((logr)2)
分析
Hexagonal Walkaround
SGU 419
在正六边形网格上建立坐标系
格子的坐标如左图所示
将6个方向按右图方式标号
题目概述
文档评论(0)