Codevs 3322 时空跳跃者的困境(组合数 二项式定理)
3322 时空跳跃者的困境
时间限制: 1 s
空间限制: 64000 KB
题目等级 : 钻石 Diamond
题目描述 Description
背景:收集完能量的圣殿战士suntian开始了他的追捕行动。费尽千辛万苦,他终于看到了飞翔的影子,于是他加快了速度冲向飞翔。在两人只差0.01mm的时候,飞翔突然手一挥,在suntian眼前就出现了一个黑洞。suntian掉入其中……
描述:等suntian站稳后,发现出现了一个扭曲的三维时空,于是suntian用心灵波动在0.00000000001ms内找到了这个时空的奇点(就是出口)。他发现奇点是闭合的,然而这个奇点的旁边竟然有一个开关(飞翔的失误?!),而且是手摇转动的!suntian来到开关前,发现在开关的把手上有一些文字:“To open this point,turn “s” times.If turn the wrong times,this point will disappear.”但是这个s又是多少呢?于是suntian开始在开关附近寻找。终于,suntian发现了一块大石板,上面刻着:s可由一系列二项式系数(二项式的展开是按照二项式的标准展开方式展开的)组成的三角形数阵推得。这个三角形数阵的第k行就是(a+b)^(k-1)的展开式的二项式系数(k从1开始)。s=第n行的第一个数+第n-1行的第二个数+第n-2行的第三个数+…(直到要加的某一个数已经不属于这个三角形)。那么,suntian到底要转动多少下呢?
输入描述 Input Description
共一行,为n,(1<=n<=10^4,n∈N)。
输出描述 Output Description
输出:共一行,为总转动数s。
样例输入 Sample Input
5
样例输出 Sample Output
5
数据范围及提示 Data Size & Hint
请看上面。
分类标签 Tags
数学/物理 矩阵乘法 数论
/*
没分做法 但是方法很重要2333.
组合数 二项式定理乱搞.
可以推出C(n,m-1)和C(n-1,m)的关系.
然后 然后 然后
无意间试前几项发现竟是个斐波那契数列....
论数学题暴力的作用.
O(n)的 只是爆了精度.
这种方法不改高精度了 涉及除法.
正确做法就是斐波那契数列+高精度加法了
先不打了.
so我会用别的方法算斐波那契数列了23333.
(然而并没有什么卵用.
*/
#include<iostream>
#include<cstdio>
#define LL long long
#define MAXN 10001
using namespace std;
LL ans,c[MAXN],n,m,i,j;
void slove()
{
c[0]=1;
//for(int i=1;i<=m;i++) c[i]=c[i-1]*(n-i+1)/i;
//ans=c[m];
ans=c[1]=1;i=n,j=1;
for(int k=2;k<=m;k++)
{
c[k]=c[k-1]*((i-j)*(i-j+1))/(i*j);
i--,j++;
ans+=c[k];
}
cout<<ans;
}
int main()
{
cin>>n;n--;
if(n&1) m=(n>>1)+1;
else m=(n>>1)+1;
slove();
return 0;
}
Codevs 3322 时空跳跃者的困境(组合数 二项式定理)的更多相关文章
- bzoj2262: 平行宇宙与虫洞
Description 量子力学指出,宇宙并非只有一种形态. 根据量子理论,一件事件发生之后可以产生不同的后果,而所有可能的后果都会形成自己的宇宙. 我们可以把一个宇宙看成一个时间轴,虫洞可以看成不同 ...
- 算法竞赛入门经典5.1 从c到c++
这个章节主要是讲述了一些c++的特性,在这里面,对我用处最大的应该就是字符串吧.首先是getline,getchar,stringstream的使用了吧. 首先介绍这三个函数. 1. getline函 ...
- 乘风破浪,遇见下一代操作系统Windows 11,迄今为止最美版本,原生支持安卓应用
遇见下一代操作系统Windows 11 全新Windows体验,让您与热爱的人和事物离得更近. Windows一直是世界创新的舞台.它是全球企业的基石,助力众多蓬勃发展的初创公司变得家喻户晓.网络在W ...
- T1365 浴火银河星际跳跃 codevs
http://codevs.cn/problem/1365/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小 K 又在玩浴 ...
- 组合数(codevs 1631)
1631 组合数 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 组合数C(N, K)表示 ...
- codevs 1365 浴火银河星际跳跃
1365 浴火银河星际跳跃 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小 K 又在玩浴火银河了...不过这次他的目的不是跑运输 ...
- 应用层级时空记忆模型(HTM)实现对实时异常流时序数据检测
应用层级时空记忆模型(HTM)实现对实时异常流时序数据检测 Real-Time Anomaly Detection for Streaming Analytics Subutai Ahmad SAHM ...
- 洛谷P3414 SAC#1 - 组合数
P3414 SAC#1 - 组合数 218通过 681提交 题目提供者ProjectWTA 标签 难度普及/提高- 时空限制1s / 128MB 提交 讨论 题解 最新讨论更多讨论 讨论区出bug ...
- 51nod 1161 组合数,规律
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1161 显然,题目可以转化为矩阵求解,但复杂度显然时空都不允许,我们如果自 ...
随机推荐
- C#静态字段的两个用处
静态字段的2个常用方法 (1)记录已实例化的对象的个数 (2)存储必须在所有实例化之间共享的值 (1)记录已实例化的对象的个数 现在某个培训机构啊,要开设一个学理发的班,计划招5人,只要人数够5人就开 ...
- C#基础—数组
C#基础之数组 1. 数组的定义与初始化 一维数组: (1) int [] A = new int[4]{ 0,1,2,3}; (2) int[] B ...
- 使用Bootstrap的popover标签中嵌入插件,并且为插件注册事件实现Ajax与后台交互
下午研究了一下bootstrap的popover写了个例子.如果项目很多地方都需要用到可以考虑封装成插件. javascript代码: <script type="text/javas ...
- Java自学-Scanner类
使用Scanner读取数据 System.out.println("") 用于向控制台输出数据. 我们还需要从控制台输入数据,所以需要用到Scanner类. 步骤 1 : 使用Sc ...
- Falsk框架 Session 与 Flask-Session
目录 Cookie 与 Session 简单了解 Falsk 中 Session 的保管机制 相关的配置 使用 Flask-Session 三方组件 基础练习题 Cookie 与 Session 简单 ...
- Xcode调试打印方法
1 NSLog 在调试的过程中,最常用的查看变量值的方法是NSLog 整数 int a = 1; NSLog("%d", a); 浮点数 float b = 1.11; NSLog ...
- Synchronized可重入锁分析
可重入锁又称递归锁,是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提是锁对象必须是同一对象或者class), 不会因为之前已经获取过还没实方而发生阻塞.即同一线程可执行 ...
- day 20 作业
作业 1.下面这段代码的输出结果将是什么?请解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Parent ...
- CAS 的问题
cas这么好用,那么有没有什么问题呢?还真有 ABA问题 CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时 ...
- Webmin<=1.920 RCE 漏洞复现
0x00 前言 本来前一阵就想复现来着,但是官网的版本已经更新了,直到今天才发现Docker上有环境,才进行了复现 0x01影响版本 Webmin<=1.920 0x02 环境搭建 dock ...