T1:Tom and pape (hdu 5224)

题目大意:

给出一个矩形面积N,求周长的最小值.(长&&宽&&面积都是正整数) N<=109

题解:

没啥好说的,直接暴力O(sqrt(N))枚举约数即可。


T2: Tom and permutation(hdu 5225)

题目大意:

给出一个N的排列,求字典序比它小的所有N排列的逆序对数之和. N<=100

题解:

类似数位DP,从前往后枚举每一位,预处理出dp[x]表示1-x的所有排列的逆序对数之和。然后计算逆序对分为3部分。

分别是确定的前i位之间的逆序对,确定的前i位和未确定的位之间的逆序对,未确定的位之间的逆序对(dp[n-i]).

时间复杂度O(N2).


T3: Tom and matrix(hdu 5226)

题目大意:

计算组合数C(x1...y1,x2....y2) mod P的和. 数据范围<=105.

题解:

记得组合数学上有个公式。 C(n+1,r+1)=C(n,r)+C(n-1,r)+C(n-2,r)+....C(0,r)  r>=1.

感觉应该要用这个来搞.然后我傻逼的把每一项拆成很多项,怎么都搞不出来。

其实这题是这个公式的逆运用。应该把后面的一串当成前缀和搞一搞。

枚举j=x2 to y2  ans+=C(0..y1,j)-C(0..x1-1)=C(y1+1,j+1)-C(x1,j+1).

模数P比较小,预处理阶乘逆元 用lucas搞一搞就好啦。


T4:Tom and game(hdu 5227)

题目大意:

一个四元组(a,b,c,d)是合法的当且仅当b<=a && c<=a && d<=gcd(b,c).

给出N个节点的一棵树,每个节点上是一个合法的四元组. 2个人玩游戏,选择一条路径上的所有四元组,每个回合选一个四元组把它变成字典序比它小的一个四元组.最后不能操作的就输了。 问先手胜的概率。 N,a,b,c,d<=10000

题解:

这题2个关键点。

1.如何求出一个四元组的SG,可以发现SG值就是比它小的四元组的个数. 具体求的时候用莫比乌斯反演搞一搞,官方题解写的很详细,就不写了。 比较综合的数论练习题。

2.求出SG异或和为0的路径数。我一开始的做法是求出根到x的异或和,如何傻逼的以为x到y的异或和等于根到x的异或和异或根到y的异或和,然后hash去搞了,WA到死.如果权值在边上不在点上,那么这样做应该是对的。但是权值在点上的话就会把LCA(x,y)的值搞没了。 所以还是按照官方题解用了点分治+map。


总结:本次比赛的失误主要在于第三题,第三题那个公式我是知道的,但是用反了。第四题是非常好的一道题,虽然这东西比赛的时候不但想不到而且写不出来..

BestCoder Round #40的更多相关文章

  1. BestCoder Round #40 解题报告

    这场是第一场没有米的BC... 大概也是想震一震那些一听说没米了就不打BC的人吧 这次的题目质量比以往高了许多 (然而我并没有打这一场BC 但是今天下午到现在做的过程中真的学到了不少知识呢 A题略水. ...

  2. bestcoder Round #7 前三题题解

    BestCoder Round #7 Start Time : 2014-08-31 19:00:00    End Time : 2014-08-31 21:00:00Contest Type : ...

  3. BestCoder Round #16

    BestCoder Round #16 题目链接 这场挫掉了,3挂2,都是非常sb的错误 23333 QAQ A:每一个数字.左边个数乘上右边个数,就是能够组成的区间个数,然后乘的过程注意取模不然会爆 ...

  4. hdu 5667 BestCoder Round #80 矩阵快速幂

    Sequence  Accepts: 59  Submissions: 650  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536 ...

  5. hdu 5636 搜索 BestCoder Round #74 (div.2)

    Shortest Path  Accepts: 40  Submissions: 610  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: ...

  6. BestCoder Round #89 02单调队列优化dp

    1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01  HDU 5944   水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...

  7. BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元

    BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy  Init函数 然后统计就ok B. 博弈 题  不懂  推了半天的SG.....  结果这 ...

  8. Bestcoder round #65 && hdu 5593 ZYB's Tree 树形dp

    Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...

  9. Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...

随机推荐

  1. Mysql 设置utf-8 真正一劳永逸的方法

    用 bash 进入linux 之后,再 mysql -u root -p ,如果insert into 某个表,总是会出现乱码. 网上搜了一堆,其中一个老外的说法才适用.用 set names utf ...

  2. ef第一次启动较慢

    解决ef第一次启动较慢的问题: protected void Application_Start() { //禁用第一次ef查询对表__MigrationHistory的问题使用了ef的Code fi ...

  3. Thinking in UML-1-为什么需要UML

    1 从面向过程到面向对象 面向过程认为我们的世界是由一个个相互关联的小系统组成.逻辑严密.环环相扣.井然有序.但是我们这个世界从来不是一成不变的.世界的复杂性和频繁变革不是面向过程可以轻易应付应付的. ...

  4. SharpZipLib 文件/文件夹压缩

    一.ZipFile ZipFile类用于选择文件或文件夹进行压缩生成压缩包. 常用属性: 属性 说明 Count 文件数目(注意是在ComitUpdat之后才有) Password 压缩包密码 Siz ...

  5. servlet1

    1.jsp其实就是servlet 2.一个java类实现servlet接口,然后在浏览器端访问即可

  6. Spark分析笔记

    前言 第一章 Spark简介 本章将对Spark做一个介绍,以及它的一些基本概念 Spark是什么? Spark生态系统BDAS Spark架构 Spark分布式与单机多核架构的异同 Spark的企业 ...

  7. Scala入门学习笔记四--List使用

    前言 本篇将介绍一个和Array很相似的集合List,更多内容请参考:Scala教程 本篇知识点概括 List的构造 List与Array的区别 List的常用方法 List伴生对象的方法 ::和:: ...

  8. 监控web服务方法

    本地监控:端口  netstat -anltup | grep 80  nmap ip -p 80 telnet ip:80 lsof -i :80|wc -l 进程 ps -ef| grep ngi ...

  9. Android实现归属地查询功能

    实现归属地查询大体有两种方法可以实现,一种是通过归属地API进行查询,另一种是查询本地数据库.两种方法各有优劣,最好结合起来使用,我本次采用的是查询数据库的方法.首先需要从网上下载归属地数据库call ...

  10. ASP.net解析JSON例子

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...