BestCoder Round #40
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的更多相关文章
- BestCoder Round #40 解题报告
这场是第一场没有米的BC... 大概也是想震一震那些一听说没米了就不打BC的人吧 这次的题目质量比以往高了许多 (然而我并没有打这一场BC 但是今天下午到现在做的过程中真的学到了不少知识呢 A题略水. ...
- bestcoder Round #7 前三题题解
BestCoder Round #7 Start Time : 2014-08-31 19:00:00 End Time : 2014-08-31 21:00:00Contest Type : ...
- BestCoder Round #16
BestCoder Round #16 题目链接 这场挫掉了,3挂2,都是非常sb的错误 23333 QAQ A:每一个数字.左边个数乘上右边个数,就是能够组成的区间个数,然后乘的过程注意取模不然会爆 ...
- hdu 5667 BestCoder Round #80 矩阵快速幂
Sequence Accepts: 59 Submissions: 650 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- hdu 5636 搜索 BestCoder Round #74 (div.2)
Shortest Path Accepts: 40 Submissions: 610 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: ...
- BestCoder Round #89 02单调队列优化dp
1.BestCoder Round #89 2.总结:4个题,只能做A.B,全都靠hack上分.. 01 HDU 5944 水 1.题意:一个字符串,求有多少组字符y,r,x的下标能组成等比数列 ...
- BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元
BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy Init函数 然后统计就ok B. 博弈 题 不懂 推了半天的SG..... 结果这 ...
- 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 ...
- Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submissio ...
随机推荐
- MVC视图中读取ViewBag传递过来的HashTable表数据
视图中头部添加 @using System.Collections; 循环读取哈希表数据 <ul id="AccessView" class="sys_spec_t ...
- Excel应该这么玩——1、命名单元格:干掉常数
命名单元格:通过名称来引用单元格中的值,常用于引用固定不变的值. 单元格是Excel中存储数据的最小单位,在公式中通过A1.B2之类的名称来引用其中的值.A1只是单元格的坐标,就好像人的身份证号.生活 ...
- Bison
- Orchard part8
http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-part-8 定 ...
- 批处理命令——for
[1]for命令简介 先把for循环与for命令类比一下,这样学习理解快. for 循环语句,一般格式如下: for (表达式1;表达式2;表达式3) { 循环体; } 1. 表达式1 一般为初始状态 ...
- curl_init函数用法
使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并 ...
- C#:绘图问题
1.设置DPI Bitmap bitmap2 = new Bitmap((int)w, (int)h); bitmap2.SetResolution(, ); 2.设置Graphic(如:去锯齿等) ...
- ipcs命令
unix/linux下的共享内存.信号量.队列信息管理 在unix/linux下,经常有因为共享内存.信号量,队列等共享信息没有干净地清楚而引起一些问题. 查看共享信息的内存的命令是ipcs [-m| ...
- C#写WPF程序,SQLSever2008 提示插入数据成功,却查询不到数据
1.提示存储成功,但是数据库中没有数据.今天在用C#写一个wpf程序时,要向数据库Sql server2008 中插入数据,程序提示成功,但打开数据库却没有值; 经过查询发现,数据存储到默认路径下的数 ...
- 激活、复制、使用R/3标准数据源(RSA5、RSA6、RSA1)
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...