解题总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
解题总结

SPOJ5971LCM sum给定一个n,求ilcm?(i,n) ilcmi,n=in*i/gcdi,n.一个数最多有n个约数,所以枚举约数d.问题转换为:与nd互质所有数的和.可以证明公式:Phi[d]*d/23871GCD Extreme给定一个n,求i=2nj=1igcd?(i,j)-=2ini和上面几题类似的方法,枚举约数d.设G[n]为所求答案,使用预处理因子和的技巧2371LIS2给定n个数对(xi,yi),求最长的序列满足xixj并且yiyj.考虑一维情况是维护一个单调队列,对于x[k],每次二分一个最大的x[j],x[k]x[j]x[j+1],x[k]x[j-1],用x[k]把x[j]换掉.这样最后队列的长度就是答案. 把这个做法推广到二维,仍然维护一个队列,每一个元素是一棵平衡树.每个树中的点都可以在前面的一棵树中找到一个前驱.如果点的横坐标升序,那么纵坐标必然降序,若存在p,q,q在当前点p之前出现,x[p]x[q],y[p]y[q],那么q必然要被删除.对于新的定点,首先二分查找出它属于的队列位置,在这个队列中判断它是否应该插入,然后维护平衡树上的单调性.最后队列的总长度就是答案.685SEQPAR给出一个数列(可能有负数),把数列恰好分成k段,每段和记为S,求出max(S1,..Sk)的最小值.假设没有负数,我们可以二分答案,用贪心判断最小的段数l,比较k是否大于l.对于添加了负数,我们通过数学归纳法可以证明,若该数列在m的限制下,最多划分为n1段,最少划分为n2段,那么由于解的连续性,有x,n1≤x≤n2也是原数列的一种合法划分.这样我们仍然二分答案limit,用动态规划的方法求解在limit下数列最多和最少划分.由于对称性,只写出计算最少的方法 di表示数列1,i最少划分的段数,si表示前缀和,那么方程显然为: di=mindj+1si-sj≤limit 令fi=max?(s[j]|dj=i)那么转移方程可以写为: di=min?(k+1,fk≥si-limit) 如果存在i,j,满足ij,且fi≥f(j),那么j就没有必要保存,所以需要维护一个序列i1,i2,…,ik,满足f(i1)f(i2)…f(ik).我们对于这个序列有两个操作: 添加一个数j,设iajia+1,如果f(ia) ≥f(j),则j就不需要添加.如果ia+1之后第一个满足f(i) ≥f(j)的是ib,那么ia+1到ib-1都应该删除 求解di时,只需要在这个序列中寻找最小的j,满足si-limit≤fj,di=j+1. Splay可以很好地胜任 事实上,f(i)具有单调性,令mi=max?{fj|1≤j≤i},则更小的满足si-limit≤f(j)]的j也是最小的满足si-limit≤m[j]的j,可以建立线段树,快速求解 总的时间复杂度是O(nlog2nlog2C)104HIGH给出一个连通图,计算生成树的个数Matrix-tree定理,构造出Kirchhoff矩阵,去掉任意第r行r列,求出行列式的绝对值就是生成树的个数国家集训队(八中OJ)2160拉拉队排练求前k长的奇数长回文串可以用后缀数组,也可以用扩展kmp.求前k大,有一个很直观的想法,利用堆,复杂度O(NlogN) 当我们求解一次后缀和S,S[i]代表长度=i的个数,再对S求一次后缀和为T,T[i]代表长度=i的个数,利用快速幂加速省选题(八中OJ)1013球形空间产生器在N维坐标系中,给出N+1个点的坐标,求出到这N+1个距离相等的点设出这个点的坐标(x1,x2,…..,xn),列出N+1个方程,相减消去x1,..xn,得到n个方程,运用Gauss消元法解得坐标1006神奇的国度对弦图进行最小染色先求出完美序列后,从标号最大的开始贪心染色(团数=色数)1050旅行求出一条路径,使得最大权/最小权最小将边排序后依次加入,每次更新所有顶点连接的最小权边.2300防线修建给出操作序列,维护一个凸壳经典的平衡树维护凸壳.插入一个点,判断与相邻的点的斜率是否构成单调递减,若是删除一系列不满足凸壳的点.否则删除该点.2242计算器给出三个任务:1)计算y^z mod p的值 2)求xy≡z(mod p)x的最小非负整数 3)求y^x≡z(modp)x的最小非负整数任务1:快速幂 任务2:设φ为y关于p的逆元,x=φ*z%p(特别地,p是质数,那么一个逆元就是y^(p-2)%p,也可以用扩展欧几里德来求) 任务3:求y关于x的离散对数,使用Baby Step Giant Step法.设m=p,x=i*m+j(0≤im,0≤jm),y

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档