codevs 1515 跳
/*
画矩阵找规律发现是杨辉三角 Cg (i,j)= C (i+j,i);
贪心走的话 沿着0行(列)一直走然后拐直角
拐弯后每个格子都累加
Cg (n,0) + Cg (n,1) + Cg (n,2) + ... +Cg (n,m) 有n>m
即 C(n+0,n) + C (n+1,n) + C (n+2,n) + ... +C (n+m,n)
上式 = C (n+m+1,m);
然后 ans = n + C (n+m+1,m);
考虑到n m很大 用Lucas定理
之前敲得Lcs都是用数组存阶乘 哪里的mod较小
这里10^9+7 显然存不下 所以直接每次都求一下
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
#define mod 1000000007
using namespace std;
ll Mi(ll a,ll b)
{
if(b==)return ;
ll x=Mi(a,b/)%mod;
x=x*x%mod;
if(b&)x=x*a%mod;
return x;
}
ll C(ll n,ll m)
{
if(m>n)return ;
ll nmj=,mj=;
for(ll i=n;i>=n-m+;i--)
nmj=nmj*i%mod;
for(int i=;i<=m;i++)//开始以为这句会导致T 后然认真读读题目发现想多了0.0
mj=mj*i%mod;
return (nmj*Mi(mj,mod-))%mod;
}
ll Lcs(ll n,ll m)
{
if(m==)return ;
return C(n%mod,m%mod)*Lcs(n/mod,m/mod);
}
int main()
{
ll n,m;
cin>>n>>m;
if(n<m)swap(n,m);
printf("%lld",(n+Lcs(n+m+,m))%mod);
}
codevs 1515 跳的更多相关文章
- codevs 1515 跳 贪心+lucas
题目链接 一个人初始在(0, 0), 想到(n, m)去, 没到一个格子, 花费的值为C(n, m), 求最小值. C(n, m)的定义为, 如果n==0||m==0, 则为1, 否则C(n, m) ...
- NOIP 2015复赛提高组Day2 T1==Codevs 4768 跳石头
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中 ...
- 1515 跳 - Wikioi
题目描述 Description邪教喜欢在各种各样空间内跳.现在,邪教来到了一个二维平面.在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点:(x-1,y), (x+1,y ...
- Codevs 4768 跳石头 NOIP2015 DAY2 T1
4768 跳石头 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 一年一度的"跳石头"比赛又要开始了! ...
- codevs 4768跳石头
传送门 4768 跳石头 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 一年一度的“跳石头”比赛又要开始了! 这项比赛将在 ...
- codevs 4768 跳石头
传送门 表示去年不会,二分是啥都不知道,一脸懵逼. 今年再做,虽然知道二分是啥了,但依旧不会,蒙蔽了好几天,最后还是看了题解. #include<cstdio> #define M 510 ...
- 跳石头(codevs 4768)
题目描述 Description 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有N ...
- 【codevs1515】 跳
http://codevs.cn/problem/1515/ (题目链接) 题意 给出一个棋盘,规定走到(x,y)的花费C(x,y)=C(x-1,y)+C(x,y-1),x=0或y=0时C(x,y)= ...
- 【CodeVS 3160】最长公共子串
http://codevs.cn/problem/3160/ 看了好久的后缀自动机_(:з」∠)_ 对A串建立SAM,用B串去匹配A串SAM,如果在当前节点走不下去,就跳到当前节点的parent(类似 ...
随机推荐
- Execl DataTime Format Number
Excel 中日期类型所保存的值是数值型.只是设置了为日期格式,通过公式转换从而得出我们平时常用的日期内容.也很好理解这公式所要说明的意思.数值是个浮点型可以分成2部分看.整数部分:年月日(日期)小数 ...
- ARM的BIN文件反汇编方法
最近在调试uboot的代码时,用的新版本的uboot,lowlevel_init函数里是空的,而且在链接文件中也没有发现对lowlevel_init.o的链接.在bl lowlevel_init 之前 ...
- 8个经典的HTML5游戏在线试玩及源码学习
原文地址:http://www.oschina.net/news/32364/html5-games 游戏,毫无疑问是拿来供大家娱乐玩耍的,这也无可厚非,但是,今天给大家分享的8个HTML5游戏,在好 ...
- jQuery.dialog
本篇文章主要是对JQUERY中dialog的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下. 准备 jQ ...
- 【Java】Web 服务编程技巧与窍门: 在 UDDI 注册中心为 Web 服务注册开发 UDDI Java 应用程序
本技巧建立了一个使用统一描述.发现和集成 (Universal Description, Discovery, and Integration,UDDI) 来注册应用程序级消费的 Web 服务实例.作 ...
- Sublime Text 有哪些使用技巧
1. 更改变量名的几种方法<img src="https://pic4.zhimg.com/d93cf0e8987e0117f3a3187cfe8e53fb_b.jpg&quo ...
- 浅度围观SBJson
JSON JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度, 那么,JSON到底是什么? JSON就是一串字符串 只不 ...
- 搜索(DLX): POJ 3074 3076 Sudoku
POJ 3074 : Description In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller ...
- Delphi TdxComponentPrinter页头页脚的设定
TdxComponentPrinter页头页脚的设定 抄一段备忘.用程序控制也一样.如果是这样,那么 双击TdxComponentPrinter控件,在出现的窗口中,点击ADD,建立一个与TcxGri ...
- Android 子线程请求ASP.NET后台
首先定义布局文件,及点击事件 public class MainActivity extends Activity { private final int MSG_HELLO = 0; private ...