JZOJ.3431【GDOI2014模拟】网格 解题报告
来源:互联网 发布:java如何进行异常处理 编辑:程序博客网 时间:2024/04/30 03:03
网格
题目描述
某城市的街道呈网格状,左下角坐标为
样例输入
样例输出
数据范围
题解
关于这种不能穿过某条直线的网格行走问题,先讲一下怎么做。
我们知道,答案就等于走到点(
我们还知道由点(
所以我们现在只需求得穿过这条直线的路径数量就可以知道答案了。
对于一个如下的网格,有这样的一条违法路径穿过了
易得,不能穿过
像这样,路径中点
所以穿过直线
走到对称点
走到原终点A(n,m)的路径数
则
Ans =SA -SB
=Cmn+m -Cm−1n+m
=
=
=
再约一下分,得
分数线上面的部分我们可以用高精度乘法将积算出来。
那分母怎么处理呢?
我们看到数据范围,惊奇的发现
因为直接打会超时,所以打高精度时要压位。
Code(Pascal)
const mo=100000000000000;var lj,dt:array[0..30000] of int64; n,m,j,i,l:longint; k,o:int64;procedure cs(o:int64); var i,j,l:longint; hhh:int64; begin hhh:=0; for i:=1 to lj[0] do begin dt[i]:=lj[i]*o+hhh; hhh:=dt[i] div mo; dt[i]:=dt[i] mod mo; end; dt[0]:=lj[0]; while hhh>0 do begin inc(dt[0]); dt[dt[0]]:=hhh mod mo; hhh:=hhh div mo; end; for i:=0 to dt[0] do lj[i]:=dt[i]; end;procedure cd(o:int64); var i,j,l:longint; hhh:int64; begin for i:=lj[0] downto 1 do begin dt[i]:=(lj[i]+hhh) div o; hhh:=(lj[i]-dt[i]*o+hhh)*mo; end; dt[0]:=lj[0]; while (dt[dt[0]]=0) and (dt[0]>0) do dec(dt[0]); for i:=lj[0] downto dt[0] do lj[i]:=0; for i:=0 to dt[0] do lj[i]:=dt[i]; end;begin readln(n,m); lj[0]:=1; lj[1]:=1; for i:=n+2 to n+m do cs(i); cs(n+1-m); for i:=1 to m do cd(i); write(lj[lj[0]]); for i:=lj[0]-1 downto 1 do begin k:=lj[i]; o:=0; while k>0 do begin inc(o); k:=k div 10; end; for l:=1 to 14-o do write(0); write(lj[i]); end;end.
- JZOJ.3431【GDOI2014模拟】网格 解题报告
- JZOJ.3400【GDOI2014模拟】旅行 解题报告
- JZOJ.3432【GDOI2014模拟】服务器 解题报告
- [JZOJ3431]【GDOI2014模拟】网格
- 【GDOI2014模拟】网格
- 【GDOI2014模拟】网格
- 【GDOI2014模拟】网格
- 【GDOI2014模拟】网格
- JZOJ 3432. 【GDOI2014模拟】服务器
- jzoj. 3432. 【GDOI2014模拟】服务器
- 【GDOI2014模拟】网格 题解+代码
- jzoj 1570. 【普及模拟】射击 解题报告
- jzoj 1579. 【普及模拟】老鼠 解题报告
- jzoj 1591. 【普及模拟】游戏 解题报告
- JZOJ.4300[NOIP2015模拟11.3]装饰大楼 解题报告
- JZOJ.4301[NOIP2015模拟11.3]备用钥匙 解题报告
- JZOJ.4302[NOIP2015模拟11.3]IOIOI卡片占卜 解题报告
- JZOJ.4377[GDOI2016模拟3.10]习用之语 解题报告
- Spark定制班第22课:Spark Streaming架构源码图解
- [朝花夕拾]基于C#的模拟仿真平台设计(部分)及服务器异步通信代码
- 第十六周阅读项目-8
- NC开发中 一些bug总结
- vc精确控制时间
- JZOJ.3431【GDOI2014模拟】网格 解题报告
- 生成debug.keystire
- 如何使用JSTL
- 配合Python3.5怎么成功安装64位的Pygame?
- html <input>
- 中介者模式(Mediator)Java
- Spark定制班第23课:Spark Streaming初始化和关闭源码图解
- Maple 教程 何青,科学出版社
- 大图片(几个G)的读取