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. jacob 多个web项目报错 jacob-1.14.3-x64.dll already loaded in another classloader jacob

    多个web项目报错 jacob-1.14.3-x64.dll already loaded in another classloader jacob 这个问题困扰了很久,网上很多解决方案,很多都不成功 ...

  2. 高性能完成端口socket服务(IOCP)

    1. Winsock IO模型之IOCP模型 来自csdn blog,版权声明:本文为博主原创文章,未经博主允许不得转载. 我这里记录下,不算转载吧 http://blog.csdn.net/lost ...

  3. wex5 教程 之 图文讲解 后台管理界面设计与技巧

    视频教程地址:http://v.youku.com/v_show/id_XMTgwOTAyMTkyMA==.html?from=s1.8-1-1.2&spm=a2h0k.8191407.0.0 ...

  4. Dynamics AX 2012 R2 在AIF服务契约中使用DateTime

    Reinhard在AIF中使用DateTime作为服务契约的参数,与DotNet程序进行交互时,总是因为时区的问题,导致DotNet提交的System.DateTime与AIF中接收的DateTime ...

  5. ubuntu下gcc、g++和gfortran版本切换

    第一步:用 which gcc.which g++和which gfortran查看位置,我的显示结果为:/usr/bin/gcc:/usr/bin/g++和/usr/bin/gfortran 第二部 ...

  6. (转) Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 原帖地址: http://www.cnblogs.com/fnng/archive/2011/07/18/2110023.html Posted on 2 ...

  7. CyclicBarrier和CountDownLatch的差别

    CyclicBarrier和CountDownLatch都用多个线程之间的同步,共同点:同时有N个线程在 CyclicBarrier(CountDownLatch) 等待上等待时,CyclicBarr ...

  8. Spring中处理Post方法中文乱码

    在Web.xml中配置: <!-- 注册Spring提供的处理Post请求的乱码问题 --> <filter> <filter-name>CharacterEnco ...

  9. Oracle软件开发分析

    软件开发的步骤可大致分为: 1.需求分析 2.系统设计 3.编码实现 4.系统测试 5.运行维护 student class     多对一 sno name age gender cid id  c ...

  10. 为ssh增加选项

    在使用ssh的时候,可以看到ssh有很多功能,什么-o , -e等等.如下图 需求,想要给ssh增加一个参数的功能.比如说我现在的需求就是执行ssh的时候可以增加一个选项,给我每次ssh的操作搭一个标 ...