全加和 UVa10943

1.题目描述:点击打开链接

2.解题思路:本题实际上就是求x1+x2+...+xk=n的非负整数解的个数。根据组合数学的结论,答案是C(n+k-1,k-1)。可以事先预处理算出所有的组合数。

3.代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> P;
typedef pair<long long, long long> PL;
#define me(s) memset(s,0,sizeof(s))
#define For(i,n) for(int i=0;i<(n);i++)
const int MOD = 1000000;
int n, k;
#define N 205
ll C[N][N];

void init()
{
	me(C);
	C[0][0] = 1;
	for (int i = 1; i < 200; i++)
	{
		C[i][0] = C[i][i] = 1;
		for (int j = 1; j < i; j++)
			C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % MOD;
	}
}
int main()
{
	//freopen("t.txt", "r", stdin);
	init();
	while (~scanf("%d%d", &n, &k))
	{
		if (!n&&!k)break;
		int ans = C[n + k - 1][k - 1];
		printf("%d\n", ans);
	}
	return 0;
}
时间: 2024-10-12 07:02:37

全加和 UVa10943的相关文章

【R笔记】给R加个编译器——notepad++

R的日记-给R加个编译器 转载▼ R是一款强大免费且开源的统计分析软件,这是R的长处,可也是其“缺陷”的根源:不似商业软件那样user-friendly.记得初学R时,给我留下最深印象的不是其功能的强大(体会到的其实是),而是其简洁如一张白纸的操作界面,再加上复杂而劳累的一遍遍敲击键盘,感觉用其做一点点统计分析都是噩梦.时至今日,R的编译界面,我依然觉得是用过的软件中最烂的那类.一个这么好的软件为什么就不做一个好用的界面呢? 幸运的是,到目前已经有好几个第三方的编译器可以和R联接.用这些编译器有

RequireJS 模块化加载框架使用

RequireJS 是一个遵循 AMD 规范的模块化加载框架 与上文seajs一样,这里简单介绍其相关用法 同样的,首先是下载好 require.js --> http://requirejs.org/docs/download.html#requirejs AMD规范是预加载,也就是说会马上将所有模块全加载. 写法跟seajs也类似,只不过 当需要包含模块时,一般会将模块名置入第一个参数.而不是直接require  详见 (新版本的也有CMD版require包含依赖的方式,但本质还是一样,下面

Fragment的懒加载

当我们的Viewpager含有很多个fragment时 一次全加载出来太占内存 我们可以用fragment的懒加载  当fragment可见的时候加载数据 Viewpager加载fragment的时候有个特点  会预加载当前可见页面左右相邻的页面  相邻的页面会走一遍生命周期(从onAttach直到onResume) 1 /* 2 * Date: 14-7-17 3 * Project: Access-Control-V2 4 */ 5 package cn.irains.access_cont

基于用户行为的图片等资源预加载

一.图片的懒加载和预加载 懒加载和本文要提到的预加载实际是不同的概念. 典型的懒加载,例如本博文章的图片,当用户滚动图片进入窗体的时候,才去加载:或者用户点击选项卡,原本隐藏的图片此时再去加载,这个也称之为懒加载. 而预加载则是,用户还没有行为发生,资源已经加载完毕,从这一定义来讲,我们传统图片啪啪啪全部加载完毕,本质上也是预加载,好处就在于,体验好啊,没有泛白或者菊花的出现.不足也很明显,那就是资源可能白白加载了,尤其视频之类的,小明打开bilibili就是来围观广告的,结果,百兆视频巴拉拉魔

简单粗暴的so加解密实现

转载自http://bbs.pediy.com/showthread.php?t=191649 以前一直对.so文件加载时解密不懂,不了解其工作原理和实现思路.最近翻看各种资料,有了一些思路.看到论坛没有类似帖子,故来一帖,也作为学习笔记.限于水平,本菜没有找到安卓平台一些具体实现思路,这些方法都是借鉴其他平台的实现思路和本菜的YY,肯定会有不少疏漏和错误之处,还请各位大牛指正,感激不尽! 简单粗暴的so加解密实现一.  概述利用动态链接库实现安卓应用的核心部分,能一定程度的对抗逆向.由于ida

Qt:使用Model-View,动态的加载显示数据

共有 main.cpp, Widget.h, Widget.cpp, Widget.ui, MyModel.h, MyModel.cpp 六个文件. 可从此下载整个工程文件: /Files/biao/ModelDemo.zip 关键在于Model中的数据是动态加载的,而不是一次性全加载到Model中. /*************************************************** *              main.cpp *********************

FPGA开发全攻略——FPGA内部结构

原文链接: FPGA开发全攻略连载之五:FPGA主要功能模块介绍(1) FPGA开发全攻略连载之六:数字时钟管理模块与嵌入式块RAM FPGA开发全攻略连载之七:底层内嵌功能单元与软核.硬核以及固核 1. 可编程输入输出单元(IOB) 可编程输入/ 输出单元简称I/O 单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/ 输出信号的驱动与匹配要求,其示意结构如图2-4 所示.FPGA 内的I/O 按组分类,每组都能够独立地支持不同的I/O标准.通过软件的灵活配置,可适配不同的电气标准与I

韩顺平Linux视频教程—笔记(全)

Linux操作系统学习 linux的特点 优点: 1.免费的/开源的系统 2.支持多线程/多用户的系统 3.安全性好 4.对内存和文件管理优越 linux体积最少只需要内存4M,由于小所以可以做嵌入式开发 缺点: 操作相对困难 Linus于1991年至1994年将unix的微型版minis加以开发出linux 现在redhat红帽子.BSD.SUN等公司进行再发行 在windows环境下可以使用(VM等)虚拟机来运行linux 在linux运行startx命令可以进入图形操作界面 root是li

treegrid -表格树异步加载

问题: 机构维护时,前端框架用的是easyui,如果同步全加载会出现页面延迟严重,影响用户体验 解决: 机构逐层加载,点击后加载 逐层加载会出现一个问题:子节点只有点击后才能加载子集 所以开始为叶子节点图标,点击后变成枝节点,不点就误以为到最后一层 目前的解决办法是加载是提供状态属性,默认关闭,加载不到子集时展开状态为叶子节点图标 实现: function initOrgMaintainDetail(versionId){ var tree = $("#orgMaintainDetail&quo