HDU 1016 Prime Ring Problem【DFS】

AvFrame和AvPacket 在FFmpeg中,未压缩的图像和压缩的视频码流分别使用AVFrame结构和AVPacket结构保存;针对视频编码器,其流程为从数据源获取图像格式的输入数据,保存为AVFrame对象并传入编码器,从编码器输出AVPacket结构。 阅读详情


prime number        = 质数 
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。

composite number= 和数
比1大但不是素数的数称为合数。1和0既非素数也非合数。合数是由若干个质数相乘而得到的。所以,质数是合数的基础,没有质数就没有合数。这也说明了前面所提到的质数在数论中有着重要地位。历史上曾将1也包含在质数之内,但后来为了算术基本定理,最终1被数学家排除在质数之外,而从高等代数的角度来看,1是乘法单位元,也不能算在质数之内,并且,所有的合数都可由若干个质数相乘而得到。

思路:

         这题的数据比较水,所以DFS不剪枝叶能过;

  几个比较新颖的地方:

   (1)事先用数组打表判断素数(毕竟个数较少),然后直接O(1)旧可以查到;

   (2)还是用到状态标记(防止数据重复),搜索过程中用此方法很好

  AC代码: 

#include<stdio.h>
#include<string.h>
int a[25];
int viste[25];
int b[41]={0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0};
int n;
void DFS(int k)
{
	int i;
    if(k==n&&b[a[k]+a[1]]==1)
	{
	  for(i=1;i<k;i++)
	     printf("%d ",a[i]);
	  printf("%d\n",a[k]);
	  return; 
	}
	if(k==n&&b[a[k]+a[1]]!=1)return;/*由于是环*/
	viste[a[k]]=1;
	k=k+1;
	for(i=2;i<=n;i++)
	{
		a[k]=i;
		if(viste[a[k]]==1||b[a[k]+a[k-1]]==0)continue;	/*题目条件判断*/
		DFS(k);
		viste[a[k]]=0;/*恢复状态,以便再次访问*/
	}
}
int main()
{
	int k;
	int T=1;
	while(scanf("%d",&n)!=-1)
	{  
		k=1;
		a[0]=1;
		a[k]=1;
		memset(viste,0,sizeof(viste));
		printf("Case %d:\n",T++);
		if(n%2==0||n==1)/*剪枝一:奇数除1外其他不能构成满足题目的序列*/
	        DFS(k);
		printf("\n");
	}
    return 0;
}
  做题时尽量可多采用标记数组,可以很好的减少时间复杂度   

  

【如何利用扩展卡尔曼滤波解决跟踪毫米波雷达目标】 笛卡尔坐标系(非极坐标系):使用两个垂直的轴(通常是x轴和y轴)来确定一个点的位置。你沿着这两个轴移动确定的距离来找到这个点。极坐标系:使用一个角度和一个距离来确定一个点的位置。首先,你转到一个特定的方向(角度),然后沿着那个方向移动确定的距离来找到这个点。希望这个例子能帮助你理解两种坐标系的基本概念! 阅读详情

相关推荐

避坑指南:处理A股通达信分时数据转日K线时,你可能会遇到的3个时间戳问题

本文针对量化交易中处理A股通达信分时数据转日K线时的常见时间戳问题,提供了专业解决方案。重点解析了午休时段处理、Pandas重采样参数设置及CSV读取时的日期解析陷阱,帮助开发者避免数据预处理错误,提升策略回测准确性。适用于Python量化交易开发者。

weixin_42549496的博客 288

【HDU 1016】Prime Ring Problem(DFS、素数筛)

思路: 要求每两个相邻数之和都为素数,那么只要每次递归调用DFS时判断之前两个数之和是否为素数,另外注意因为是一个环,最后还要判断一下最后一个数和第一个数之和是否为素数。 程序开始时求出一个素数数组,只需求出50以内的素数即可,因为数据<20,最大的素数和为17+19=36。此处用的是素数筛法(什么是素数筛法?)求素数。 素数筛法概览: 把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉

Chen_yuazzy的博客 2260

三轴加速度传感器计步算法优化:动态阈值与滤波技术的实践应用

本文深入探讨了三轴加速度传感器计步算法的优化实践,重点分析了动态阈值调整与高效滤波技术如何协同提升计步精度与鲁棒性。通过对比均值滤波的局限,引入向量模长计算、多级自适应阈值以及状态机判决逻辑,并结合代码示例,为嵌入式及移动应用开发者提供了应对复杂运动场景的实用解决方案。

cherry的博客 500

HDU-1016 Prime Ring Problem(DFS深搜+打表)

题目回顾(HDU-1016): Prime Ring Problem Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in...

weixin_30339969的博客 110

1020空心杯电机驱动设计与ESP32实战

空心杯电机是一种高动态响应的直流微特电机,其驱动本质是解决电感负载下的大di/dt启动、反电动势耦合与电流纹波抑制问题。核心原理在于建立包含内阻、电感和反电动势的等效电路模型,并据此匹配开关器件、PWM参数与采样闭环。技术价值体现在小体积下实现毫秒级响应、低噪声(>30kHz)、高精度电流保护(±50mA)及热鲁棒性。典型应用于微型航模、手持云台与精密执行器等对功率密度和动态性能敏感的嵌入式系统。本文以1020规格空心杯电机为对象,基于ESP32平台完成从MOSFET选型、32kHz硬件PWM生成到INA2

weixin_42298164的博客 581

30天入门 SAP BTP 开发系列之四:SAP BTP 控制台里 Global Account 的常规操作介绍

笔者前一篇文章,介绍了 SAP BTP 中 Global Account 的概念。本文咱们一起来看看 SAP BTP 控制台里,给 Global Account 开放了哪些操作功能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 865

hdu 1016 Prime Ring Problem dfs

Prime Ring Problem                                            Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)                                                     

just_for_your_smile的专栏 2万+

把 ABAP 选择屏幕 Selection Screen 打造成可维护的交互面板:常用屏幕元素与动态控制全解析

本文详细介绍了ABAP报表中Selection Screen的设计技巧,包括空行(SKIP)、横线(ULINE)、注释(COMMENT)等基础元素的使用方法,以及如何通过MODIF ID实现动态界面调整。重点讲解了行内布局(BEGIN OF LINE)、按钮(PUSHBUTTON)和区块(BLOCK)等高级功能,帮助开发者将选择屏幕从"能用"提升到"好用、易扩展、可维护"的水平。文章还分享了项目实践中的命名规范和分组策略,特别适合需要优化ABAP报表用户体验的开发人员

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 331

【深度优先遍历DFS+素数判断】HDU-1016 Prime Ring Problem

注解 1、深度优先遍历DFS(用递归解决)。要设置一个访问数组,标记每个元素是否被访问过。然后要注意设置一个计数器(访问过的元素个数),用于标记递归出口。还要注意如何写递归函数。 void dfs(int n, int value) { count++; parent[count] = value; visit[value] = 1; if(count==n) ...

zhanggirlzhangboy的博客 180

OsgEarth开发笔记(三):Osg3.6.3+OsgEarth3.1+vs2019x64开发环境搭建(下)

上一篇编译了proj6.2.0、gdal3.2.1,本篇继续。 OsgEarth的编译,是基于Osg和OsgEarth结合在一起的,先要编译Osg,然后编译OsgEarth。OsgEarth的依赖库较多,分为上、中、下三篇,然后单独有一篇如何将编译好的osgEarth集成到Qt中。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 4万+

飞腾UEFI配置GPIO—飞腾FT2000/4 (D2000/8) GPIO引脚配置及使用

讲解了在飞腾UEFI代码中如何添加GPIO配置相关代码,并以GPIO1_B0—B7为例,将这8个引脚配置为GPIO工作模式并默认输出低电平

qq_30135687的博客 5343

HDOJ 1016 HDU 1016 Prime Ring Problem ACM 1016 IN HDU

题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1016题目描述:Prime Ring ProblemTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6150Accepted...

weixin_30483697的博客 136

Linux内存管理(17):percpu 分配器——基本原理

随着 SMP(对称多处理器架构)的发展,在享受处理器更快的执行效率的同时,也为数据同步带来了更大的挑战,因为在 SMP 架构中,程序确实是在并发执行,从单 CPU 只需要考虑调度风险,到SMP 中还需要考虑多 CPU 中同时执行的风险,而且在单 CPU 下乱序执行也会在 SMP 架构中带来,从而也衍生了一些新的同步机制,例如:内存屏障、percpu 机制等等。

私房菜 1249

HDU-1016 Prime Ring Problem(深搜)

HDU-1016 Prime Ring Problem(深搜)   A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should...

碳酸钙的01妖精的博客 209

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

hdu 1016 Prime Ring Problem(DFS)

本题链接:点击打开链接 本题大意:         输入一个数n表示需要查找的数有n个,并且这些数连成一个环,任意两个相邻的数之和都为素数。 解题思路:         就是从1开始对每个点进行查找,符合条件的点就存到一个数组中,标记找过的点,查找完一次就进行输出,然后取消标记继续查找,直至将1~n中的点从小到大均查找一次。具体请参考代码: #include #include int m

暮光乐鱼的博客 697

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

hdu1016 Prime Ring Problem

hdu1016 Prime Ring Problem ...................... 1 #include <iostream> 2 #include <string.h> 3 #include <string> 4 #include <queue> 5 #i...

weixin_30820151的博客 94

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Hdu1016 Prime Ring Problem 【简单dfs】

http://acm.hdu.edu.cn/showproblem.php?pid=1016 题目大意:找不所有第一个数是1,相邻两数之和是素数的n元环。 直接dfs。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm...

bantengbang8949的博客 106

HDU1016 Prime Ring Problem DFS

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 70254 Accepted Submission(s): 30028 Problem Description A ring is compose...

DouglasConnor的博客 291

HDOJ(HDU).1016 Prime Ring Problem (DFS)

HDOJ(HDU).1015 Safecracker [从零开始DFS(3)]题意分析给出数字n,要求将1-n的数字填成素数环,即相邻2个数字的和为素数,按字典序依次输出所有可能的组合。并且题目说过所有的组合开头均为1。 哎呀这题太熟悉了,又是填数字的题目,似曾相识的感觉。 讨论过的填数字的题目,传送门: HDOJ(HDU).1342 Lotto [从零开始DFS(0)] HDOJ(HDU).

Pengwill's Blog 1131

【HDU 1016】Prime Ring Problem —— DFS

点击打开链接 Prime Ring ProblemTime Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 31406    Accepted Submission(s): 13903 Problem Description A ring

treasuresss的专栏 493

HDU 1016 Prime Ring Problem (DFS(深度优先搜索))

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 20489 Accepted Submission(s): 9159 Problem Description A ring is comp

公众号:ByteCode 1331

dfs解决 hdu1016 Prime Ring Problem

Prime Ring Problem问题 题目链接 题目概述 给定一个n,要求将从1…n这些数字按一定顺序围成圆圈,使得相邻两个数字之和为素数,且第一个数字一定为1,要求输出可能的序列。 解题思路 首先,放置数字的问题,类似于n个数字的全排列,这里的要求是相邻数字和为素数,那么要注意,到了放置第n个数字时,需要考察它与1的和是否也为素数。 那么这里首先涉及了一个问题—判断一个数是否为素数(方法见下方)。我们从第1个位置到第n个位置,依次放置数字,循环遍历1到n的数字,判断每个数是否已经放置过,若没有放置过,

weixin_43966538的博客 1115

HDU - 1016 Prime Ring Problem 【素数判断+DFS】

Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime. Note: t...

一定要站在自己热爱的生活里闪闪发光 3万+

HDU 1016 Prime Ring Problem

HDU 1016 Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 27785    Accepted Submission(s): 12345 Problem Description A ri

Spectacules的博客 429

HDU1016 Prime Ring Problem【DFS+素数问题】

1.理解什么是素数,只能被1和它本身整除的数叫素数。 bool isPrime(int m) //求m是不是素数 { for ( int i = 2;i<=(int)sqrt(m);i++) { if(m % i==0 ) return false; } return true; } 2.DFS深度优先搜索。【比如我们要求n...

爱学习的大白菜的博客 459

HDU - 1016 Prime Ring Problem【dfs】

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 70236 Accepted Submission(s): 30023 Problem Description A ring is compose...

qq_43966202的博客 208
上一篇: HDU 1198 Farm Irrigation 【并查集】
下一篇: HDU 3415 Max Sum of Max-K-sub-sequence【单调队列】
Job_yi
博客等级 码龄14年 6粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值