Codeforces Round #313 (Div. 1)
官方英文题解:http://codeforces.com/blog/entry/19237
Problem A:
题目大意:
给出内角和均为120°的六边形的六条边长(均为正整数),求最多能划分成多少个边长为1的正三角形。
题解:
把六边形补全变成一个正三角形,然后减去三个角的正三角形即可。
Problem B:
题目大意:
给出长度相等的两个串AB,定义两个串相等 当且仅当 A=B 或者 当长度为偶数时,A[1...n/2]=B[1...n/2] && A[n/2+1...n]=B[n/2+1...n] 或者
当长度为偶数时,A[1...n/2]=B[n/2+1...n] && A[n/2+1...n]=B[1...n/2]
题解:
1.比赛的时候我想都没想直接根据定义来判断。 复杂度我感觉和快排差不多。。 结果被hack了。 赛后想想其实复杂度还是高了。。 F(n)=4*F(n/2)+O(n). F(n)=O(n2)
由于后面两个条件需要长度为偶数,所以随机数据很容易就过了。。 下面这组数据可以把暴力卡掉。想卡别人还真是不容易。。
2.正解:题目中”相等“的定义是具有传递性的。所以可以分别求出和AB”相等“的且字典序最小的字符串,然后判断是否相等。
String smallest(String s) {
if (s.length() % == ) return s;
String s1 = smallest(s.substring(, s.length()/));
String s2 = smallest(s.substring(s.length()/), s.length());
if (s1 < s2) return s1 + s2;
else return s2 + s1;
}
Problem C:
题目大意:
给出N*M的棋盘和K个黑色格子的坐标,求从左上角到右下角不经过黑色格子的方案数。 每次只能向右或者向下1格。 K<=3000 N,M<=100000.
题解:
1.这题以前做到过...所以很快就回忆起来了。。可以总方案减去不合法的方案。F[i]表示从左上角不经过黑色格子到第i个黑色格子的方案数。把黑色格子排序,然后
F[i]=左上角到i的方案数-F[j]*(j到i的方案数). 第j个格子在第i个格子左上方。 然后Ans=总方案-F[i]*(i到右下角的方案数)。
2.从(x1,y1)到(x2,y2)的方案数是C(x2-x1+y2-y1,x2-x1). 预处理逆元搞一搞就好了。
Problem D:
题目大意:给出N个点的凸包,求子多边形内整点个数的期望。 N<=100000. 精确到1e-9.
题解:
1.皮克定理肯定是要用的,但我觉得这个题目最巧的还是把多边形转化成线段. 由皮克定理 内部整点数=面积-边界整点数+1. 所以只要处理出期望面积 和 期望边界整点数。
2.期望面积:利用叉积和求多边形面积的方法,把一个多边形面积转化为多条线段的贡献。 期望边界整点数也是同样的道理。 所以我们只要考虑每条线段的对面积和边界整点数的贡献。 假设这条线段为PiPi+k,我们要考虑i+k在i逆时针方向第一个点 的多边形. 因为计算多边形面积的时候是要按顺序的。 这样的多边形有2n-k-1-1个。
总共有2n-1-n*(n-1)个多边形。 除一下就是选这条线段的概率。
Codeforces Round #313 (Div. 1)的更多相关文章
- dp - Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess
Gerald and Giant Chess Problem's Link: http://codeforces.com/contest/559/problem/C Mean: 一个n*m的网格,让你 ...
- Codeforces Round #313 (Div. 1) B. Equivalent Strings
Equivalent Strings Problem's Link: http://codeforces.com/contest/559/problem/B Mean: 给定两个等长串s1,s2,判断 ...
- Codeforces Round #313 (Div. 1) A. Gerald's Hexagon
Gerald's Hexagon Problem's Link: http://codeforces.com/contest/559/problem/A Mean: 按顺时针顺序给出一个六边形的各边长 ...
- Codeforces Round #313 (Div. 2)B.B. Gerald is into Art
B. Gerald is into Art Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/ ...
- Codeforces Round #313 (Div. 2) D. Equivalent Strings
D. Equivalent Strings Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559/ ...
- Codeforces Round #313 (Div. 2) C. Gerald's Hexagon 数学
C. Gerald's Hexagon Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559/pr ...
- Codeforces Round #313 (Div. 2) A. Currency System in Geraldion
A. Currency System in Geraldion Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/co ...
- Codeforces Round #313 (Div. 2) E. Gerald and Giant Chess (Lucas + dp)
题目链接:http://codeforces.com/contest/560/problem/E 给你一个n*m的网格,有k个坏点,问你从(1,1)到(n,m)不经过坏点有多少条路径. 先把这些坏点排 ...
- Codeforces Round #313 (Div. 1) B. Equivalent Strings DFS暴力
B. Equivalent Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559 ...
随机推荐
- HTML相关问题
1.XHTML和HTML有什么区别HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套.XHTML 元素必须被关闭.标签名必须用小 ...
- Ext5实现树形下拉框ComboBoxTree
最近为了实现一个属性下拉框被Ext框架折腾了好几天.. 所以,首先要说的是,不管你要做什么系统.强烈建议你不要选择Ext.据我这几天的搜索,应该这个框架现在用的人也很少了. Ext框架的缺陷:框架沉重 ...
- 合并文件夹里多个excel
Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As workbook, WbN As String Dim G As Long ...
- 谈谈Web前端工程师的定位
原文地址:http://www.360doc.com/content/10/0708/17/1277406_37692580.shtml 2010-07-08 锋子chans 阅 1116 转 ...
- ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机
ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...
- .net比较完美的动态注册com组件
.net中经常需要使用com组件,怎么样注册com组件呢? 一般想到的当然是直接通过系统cmd 调用regsvr32注册程序去注册,如下: regsvr32 name.dll 在.net中可以直接执行 ...
- CSS3盒子阴影box-shadow
来自W3CSchool的解释 语法: box-shadow: h-shadow v-shadow blur spread color inset; 注释:box-shadow 向框添加一个或多个阴影. ...
- PHP Mysqli 数据库连接
---恢复内容开始--- $connection=new mysqli($db_host,$db_user,$db_password,$db_name);if(!mysqli_connect_errn ...
- 专为控制打印设计的CSS样式
大多数Web设计师对打印控制还不是很熟悉,他们往往更迷恋像素,而不是打印机.在现实世界中,很多人依赖从网站上打印网页来参考: 在这个数字时代, 在一些特殊的场合,很多人手中还会拿着纸张.Web开发人员 ...
- CentOS6.5 根目录结构划分
/bin 系统的执行程序文件/dev 硬件设备的文件目录/home 用户的家目录/lib 系统库文件目录/mnt 挂载目录,外设的挂载/media 经常用于媒体文件 ...