CF Round#2
来源:互联网 发布:java 打印成记事本 编辑:程序博客网 时间:2024/05/18 02:44
A 水题
B 描述:给定一个元素非负的矩阵,求一条从左上到右下的路径。使得路径上所有数的乘积的后缀0的个数最少。
后缀0的个数即因式分解中10的个数,而10的个数是2的个数与5的个数间的最小值,则可以分别对2和5做DP,方程如下
F[i][j] = n[i][j] + max(F[i-1][j],F[i][j-1]);
Trick:数据中可能存在0,对于这种情况要特判,若能找到一条没有后缀0的路径,则可选取之。若不能则选路过0的路径。具体实现方法可将所有的0替换成10求解一次。
C 描述:求平面内一点P到三个给定圆R1,R2,R3的张角相等,若存在多个,求出张角最大的。
解法一
对于R1,R2,P对其二张角相等意味着r1/d(P,R1)= r2/d(P,R2)。则可对R1和R2以及R2和R3分别求出满足要求的点的集合,然后交起来再选一个张角大的即可。
当d(P,R1)=d(P,R2)时,集合是一条直线,其余情况下皆为一个圆,求交即为解二元二次方程组。
此方法编程复杂度较高
解法二
仍然依据上面推出的比例式,不过采用模拟退火的方法来做,估价函数选为三个比值的方差。另外考虑要让张角最大,因为距离越远张角越小。所以可以设置这样一个判断条件,取三个圆心的最小覆盖矩形作为可行域,解一定在该区域内。相应的,初始解可取三圆心中点,初始步长取初始解与三圆心间的最短距离。
- CF Round#2
- CF Round#343(2)
- CF Round #256 (Div. 2)
- CF Round #260 (Div 2)
- CF Round #439 (Div 2)
- CF 2 B. The least round way
- CF 2B The least round way
- cf Round #202 (div.2) C ------------ Mafia
- CF round#302-2 B (13.10.17)
- CF round#211-2 A (13.11.11)
- CF round#211-2 B (13.11.11)
- CF round#212-2 B (13.11.14)
- CF Round #240 (Div. 2) C
- CF Round #240 (Div. 2) D
- CF Round #254 (Div. 2) E
- 【CF】Codeforces Round #301 (Div. 2) ABCDE
- CF Round#343(2)-B-暴力求解
- 【CF】Codeforces Round #361 (Div. 2)
- Diffie–Hellman 密钥交换协议简介
- 误解产生的原因之一
- Ubuntu12.04下eclipse提示框黑色背景色的修改方法
- hdu 1050 moving tables
- android背景优化
- CF Round#2
- Unity--如何同时打开多个Unity软件
- 查询转换
- 企业如何确定是否需要BPM(出自:计世网)
- 国内HTML5前端开发框架汇总
- 绑定变量与直方图
- CF Round#5
- 【C/C++】C语言中一些容易被人忽略的东西 之一 【内存的分配与释放】
- MBTI测试