`
zqynux
  • 浏览: 36790 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

USACO 3.1 Humble Numbers 丑数

阅读更多
  从这一题开始,, 以后题目我就不贴上来了... 自己去看吧..
  这一题开始肯本看不懂,, 后来是反反复复看标程看懂了..
  首先要理解这么一个式子吧(算是式子吧``)
  已经求出了j-1个丑数,, 现在求第j个丑数
  对于每一个素数p乘以一个最小的丑数, 能使积大于第j-1个丑数
    在这些乘积中寻找最小的一个即位第j个丑数.

  用pindex[i]表示对于第i个素数乘以的最小丑数是多少..
/*
LANG: C
ID: zqy11001
PROG: humble
*/
#include <stdio.h>
#include <string.h>
#define MAX 100
#define getint(i) scanf("%d", &i)
#define insert(i) hum[count++] = i

long hum[1000001];
int pindex[MAX];
int prime[MAX];
int count;

int main(void)
{
	int k, n;
	int i;
	int min, m;
	freopen("humble.in", "r", stdin);
	freopen("humble.out", "w", stdout);
	getint(k);
	getint(n);
	for(i = 0; i < k; i++){
		getint(prime[i]);
	}

	insert(1);
	memset(pindex, 0, sizeof(int)*k);
	while(count <= n){
		min = 0x7FFFFFFF;
		for(i = 0; i < k; i++){
			while(prime[i] * hum[pindex[i]] <= hum[count - 1]){
				pindex[i]++;
			}

			if(prime[i] * hum[pindex[i]] < min){
				min = prime[i] * hum[pindex[i]];
				m = i;
			}
		}
		insert(min);
	}

	printf("%d\n", hum[n]);
	return 0;
}
分享到:
评论

相关推荐

    USACO 3.1 humble 解答

    做的很辛苦, 里面附有注释,大家支持一下吧...

    usaco3.1解题报告1

    【USACO/humble】此题是关于“丑数”的问题,丑数是指仅包含特定素因子的正整数。题目给出一个素数集合S,求集合S生成的丑数集合中的第N个数。解决这个问题可以采用动态规划的方法,维护一个数组hum,依次计算由S中...

    USACO题目Palindromic Squares(回文平方数)及代码解析

    USACO题目Palindromic Squares(回文平方数)及代码解析 在计算机科学和信息学中,回文数(Palindromic Number)是一种数字,它从左向右念和从右向左念都一样。例如,12321是一个典型的回文数。给定一个进制B(2,...

    usaco chap3题解

    - 生成Humble Numbers的关键在于如何有效地找到下一个数。可以使用数组记录已生成的Humble Numbers,并维护一个指针数组,用于指示对于每个质因子p,已经考虑过的最小Humble Number。 - 每次生成新数时,遍历所有...

    usaco.rar_USACO 翻译 下载_usaco _usaco 翻译

    USACO,全称为United States阿Olympiad in Informatics,是美国计算机奥林匹克竞赛,旨在为高中生提供一个学习和展示编程技能的平台。这个比赛涵盖了算法、数据结构以及问题解决等多个方面,对于想要深入理解计算机...

    usaco 2010-2011

    ### USACO 2010-2011 季度竞赛概览与关键信息 #### 一、概述 美国计算机奥林匹克(USACO)是面向全球中学生的计算机科学竞赛,旨在发掘并培养计算机科学领域的年轻人才。USACO 2010-2011 季度竞赛于 2010 年 11 月...

    USACO题集及答案

    USACO,全称为United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者的算法设计、问题解决和编程能力。该比赛每年举行,分为青铜、白银、黄金和铂金四个级别,难度逐渐递增。...

    usaco 合集usaco 合集usaco 合集

    《USACO 合集:全面解析与学习指南》 USACO,全称为USA Computing Olympiad,是一项针对中学生举办的在线编程竞赛,旨在提升参赛者的算法设计和问题解决能力。这个合集提供了丰富的资源,包括英文原题、中文译题、...

    USACO翻译及题解

    USACO,全称United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者在算法设计、问题解决以及计算机科学基础方面的技能。这个压缩包文件提供了丰富的资源,帮助参赛者或学习者更好...

    usaco traning全部数据

    【标题】"usaco traning全部数据" 涉及的是一个编程竞赛训练平台——USACO(USA Computing Olympiad)的数据集。USACO是一个专门为美国中学生设计的在线编程竞赛,旨在提升参赛者的算法设计和编程能力,特别是在解决...

    USACO题目Dual Palindromes (dualpal)及代码解析

    USACO题目Dual Palindromes (dualpal)是USACO(USA Computing Olympiad)的一个编程题目,要求编写一个程序,从文件读入两个十进制数N和S,然后找出前N个满足大于S且在两种或两种以上进制(二进制至十进制)上是回文...

    USACO官网93题fps格式 OJ题库

    USACO 官网第一到 五章 练习题中文语言官方数据 fps格式支持导入所有OJ 1 [1.1] 你的飞碟在这儿 Your Ride Is Here 2 [1.1] 贪婪的送礼者Greedy Gift Givers 3 [1.1] 黑色星期五Friday the Thirteenth 4 [1.1] 坏掉...

    usaco心得及总结

    ### USACO心得及总结 #### 第一部分 动态规划 **USACO**(美国计算机奥林匹克竞赛)作为一项国际知名的编程竞赛,不仅考验参赛者的编程能力,还对其算法理解和应用有着极高的要求。其中,动态规划(Dynamic ...

    USACO-Chapter1.rar_it_usaco

    《USACO入门指南——第一章解析》 USACO,全称USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在培养中学生在算法和编程方面的技能。对于初学者来说,USACO提供了很好的学习路径和挑战。本文将针对USACO的第...

    USACO 1.1 c++源程序

    USACO,全称为United States Computer Olympiad,是一项面向中学生的国际性计算机编程竞赛,旨在提升参赛者的算法设计和编程能力。USACO比赛通常使用C++语言进行,因此"USACO 1.1 c++源程序"指的是USACO入门阶段1.1...

    usaco历年测试数据

    USACO(美国计算机奥林匹克竞赛)是面向全球中学生的一项编程竞赛,主要涉及算法和问题解决能力。这个压缩包文件“usaco历年测试数据”包含了该赛事历年的测试题目和样例输入输出数据,这对于参赛者准备比赛或者提升...

    USACO历年比赛测试数据:2004年

    USACO,全称United States Computer Olympiad,是美国计算机奥林匹克竞赛,是一项旨在培养青少年编程技能和算法理解的国际性比赛。这个比赛对于有志于在计算机科学领域深入发展的学生来说,具有很高的学习价值和挑战...

    USACO全部测试数据.zip

    USACO,全称United States阿Olympiad in Computer Science,是美国计算机科学奥林匹克竞赛,旨在激发中学生对计算机科学的兴趣,尤其是算法和编程技能。这个"USACO全部测试数据.zip"压缩包包含了历年来USACO比赛的...

    USACO答案及详解

    某些USACO题目的答案,很详细,代码清晰结构良好,算法高效易于调试

Global site tag (gtag.js) - Google Analytics