`
digiter
  • 浏览: 120464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

pku3590 The shuffle Problem

    博客分类:
  • ICPC
阅读更多
将n分解为几部分,使得这几部分的最小公倍数最大,显然分解开的各部分应该有p^k的形式,其中p是素数
因为n最大为100,所以直接枚举即可,不过别人有说只用前9个素数就行,我不知道怎么证明

#include <cstdio>
#include <cstring>
#include <algorithm>
using std::sort;

const int maxn = 105;
bool isp[maxn];
int p[maxn], lp;
void make()
{
	memset(isp, true, sizeof(isp));
	lp = 0;
	for (int i = 2; i < maxn; ++i)
		if (isp[i])
		{
			p[lp++] = i;
			for (int j = i * i; j < maxn; j += i)
				isp[j] = false;
		}
}
int step[maxn], maxm, cycle[maxn], lc;
void dfs(int remain, int k)
{
	if (p[k] > remain) {
		int m = 1;
		for (int i = 0; i < k; ++i)
			if (step[i])
				m *= step[i];
		if (m > maxm)
		{
			maxm = m;
			lc = 0;
			for (int i = 0; i < k; ++i)
				if (step[i])
					cycle[lc++] = step[i];
			while (remain--)
				cycle[lc++] = 1;
		}
	} else {
		step[k] = 0;
		dfs(remain, k + 1);
		for (step[k] = p[k]; step[k] <= remain; step[k] *= p[k])
			dfs(remain - step[k], k + 1);
	}
}
int main()
{
	make();
	int T, n;
	scanf("%d", &T);
	while (T--)
	{
		scanf("%d", &n);
		maxm = 1, lc = 0;
		if (n == 1)
			cycle[lc++] = 1;
		else
			dfs(n, 0);
		sort(cycle, cycle + lc);
		printf("%d", maxm);
		int k = 1, tmp;
		for (int i = 0; i < lc; ++i)
		{
			tmp = k++;
			for (int j = 1; j <= cycle[i] - 1; ++j)
				printf(" %d", k++);
			printf(" %d", tmp);
		}
		printf("\n");
	}
	return 0;
}
分享到:
评论

相关推荐

    pku acm 2752 Seek the Name, Seek the Fame代码

    pku acm 2752 Seek the Name, Seek the Fame代码 kmp算法。解题报告:http://blog.csdn.net/china8848

    Codes of PKU_ACM OnlineJudge Problem

    标题 "Codes of PKU_ACM OnlineJudge Problem" 指的是北京大学(Peking University, 简称PKU)ACM在线评测系统的问题代码集合。这个压缩包文件很可能包含了一系列编程题目及其对应的解决方案,用于帮助参赛者准备ACM/...

    pku1037.rar_acme_pku 1037_pku10_pku1037_the acme

    Now the only thing the house misses is a cute little wooden fence. He had no idea how to make a wooden fence, so he decided to order one. Somehow he got his hands on the ACME Fence Catalogue 2002, ...

    pku.zip_PKU

    【标题】"pku.zip_PKU" 指的是一份与北京大学(Peking University, PKU)相关的压缩文件。从描述来看,这份压缩包包含了部分编程题目的代码,可能是学生或者爱好者在解决北京大学编程竞赛或课程作业时编写的。"pku"这...

    pku acm 1050 To the Max代码,有详细注释

    pku acm 1050 To the Max代码,有详细注释,动态规划

    pku acm 1274 The Perfect Stall 代码

    pku acm 1274 The Perfect Stall 代码 二分图的最大匹配的匈牙利算法 解题报告请访问:http://blog.csdn.net/china8848

    用于人体动作识别的PKU-MMD大范围数据集

    Despite the fact that many 3D human activity benchmarks being proposed, most existing action datasets focus on the action recognition tasks for the segmented videos. There is a lack of standard large-...

    pku经典题目解题报告

    "pku经典题目解题报告"这一标题揭示了文件内容的核心,它表明这是一份关于北京大学(PKU)编程竞赛或算法竞赛中的经典问题的解答集。通常,这样的报告会涵盖一系列在PKU历年比赛中出现的难题,包含了解题思路、算法...

    pku1000程序 解题报告

    pku1000 pku1000程序 解题报告

    PKU-ACM.rar_PKU_acm 题目

    在编程竞赛的世界里,北京大学(PKU)的ACM团队以其高质量的题目和独特的解题思路闻名。"PKU-ACM.rar"这个压缩包包含了北大ACM题目的一些核心知识点,旨在帮助参赛者理解和掌握算法竞赛中的生命周期题目解法。本文将...

    acm pku 3620 avoid the lakes 函数递归题

    根据给定文件的信息,本文将围绕“ACM PKU 3620 Avoid the Lakes”这一题目进行解析,重点介绍其使用C语言实现的递归解法。 ### 题目背景与概述 ACM PKU 3620 Avoid the Lakes 是一道经典的递归问题。题目要求在一...

    Pku acm 第1163题 The Triangle 代码,有详细的注释

    Pku acm 第1163题 The Triangle 代码,有详细的注释,动态规划

    ACM代码 之pku代码

    【标题】"ACM代码 之pku代码" 涉及的是在计算机科学领域中的算法竞赛编程,尤其是北京大学(Peking University, PKU)的ACM/ICPC(国际大学生程序设计竞赛)训练代码。这些代码是参赛者或教练为了准备这类竞赛而编写的,...

    PKU 课 件 ppt 等 灰常强大

    【标题】"PKU 课件 ppt 等 灰常强大" 指的是北京大学(PKU)的课程资料,其中包括了PPT演示文稿和其他相关文档资源,这些资料质量高、内容丰富,对学习者来说具有极高的价值。"灰常强大"这一网络用语表明这些课件...

    pku acm 一些代码

    标题 "pku acm 一些代码" 暗示了这是一个与北京大学(Peking University, 简称PKU)的ACM(国际大学生程序设计竞赛)相关的代码集合。在这个领域,参赛者通常需要解决算法问题,编写高效且优化的代码来求解数学、逻辑...

    Pku acm 第1887题 Testing the CATCHER 代码,有详细的注释

    Pku acm 第1887题 Testing the CATCHER 代码,有详细的注释,动态规划

    pku1664

    标题"Pku1664"很可能是指北京大学(Peking University)在某个编程竞赛或课程中的一道题目或项目,编号为1664。这道题目可能涉及到计算机科学的基础概念,尤其是算法和数据结构。描述中提到的是"Pku1664源代码",暗示...

    8数码代码pku1077

    8数码代码pku1077,300ms(哈希+广度搜索)

    pku3728.zip_pku 3621 pasc_pku 3728

    描述中的"http://acm.pku.edu.cn/JudgeOnline/problem?id=3728"是一个链接,指向PKU的在线评判系统,这个系统用于提交和测试参赛者的程序代码。 标签 "pku_3621_pasc pku_3728" 暗示了可能存在两个不同的问题或挑战...

    PKU 2339 Rock, Scissors, Paper

    PKU 2339 Rock, Scissors, Paper 源代码

Global site tag (gtag.js) - Google Analytics