HDU2554 N对数的排列

C++N对数的排列问题 C++语言中n对数的排列问题,如果有需要的可以来看看啊,也可以参考一下 立即下载

这题可以这样来抽象:

n对数,大小为1、2、3、...、n。现要求两个1之间有1个数,两个2之间有2个数,以此类推,两个n之间有n个数。

并且,数的次序可以随意的。

 

解决之道:

准备知识:

①n对数,共2*n个数。所以要有2*n个位置来放置这2*n个数。②sum()表示求和运算。

正式解决:

①设k(k=1,2,..,n)放置的第一个位置为ak,第二个位置为bk。显然有bk-ak=k+1(假定下一个位置在上一个位置之前)。

那么会有sum(bk-ak)=2+3+4+...+(n+1)=(1+2+3+...+n)+(1+1+...+1)=n*(n+1)/2+n。

②又因为要有2*n个位置来放置这2*n个数。则sum(ak+bk)=1+2+3+...+2*n=(1+2*n)*(2*n)/2=(1+2*n)*n。

③sum(ak+bk)=sum(ak+ak+k+1)=sum(2*ak+bk-ak)=2*sum(ak)+sum(bk-ak)=2*sum(ak)+n*(n+1)/2+n。

④比较②③可得:(1+2*n)*n=2*sum(ak)+n*(n+1)/2+n。可得sum(ak)=n*(3*n-1)/4。

⑤就像前面已经说过的一样,ak表示数k第一次出现的位置。ak不易确定。当可以肯定的是sum(ak)一定为正整数。

那么就会有n=4*p或者3*n-1=4*p(p为正整数)。

 

写在最后:

这题也是问了一个不认识的哥们才得到这样一种思路。也欢迎大家说出自己的思路。共同探讨。

 

AC代码:31MS,换成cin、cout就会TLE了!!!不知道为啥?

#include<iostream>
using namespace std;

int main()
{
	int n;

	while(scanf("%d",&n) && n)
	{
		if(n%4==0 || (3*n-1)%4==0)
		    puts("Y");	    //printf("Y\n"); 
		else
		    printf("N\n");   //puts("N");
	}

	return 0;
}


 

 

 

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码) 本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。 阅读详情

相关推荐

网络攻防实验——网络监听

利用CAIN实现ARP监听。

Trieyes_of_feng的博客 3197

Dijkstra算法模板(HDU-2554)

分析 本题是典型的Dijkstra算法,唯一需要注意的是这是一个双向的图,两点之间双向都要赋值,当然在案例中也给出了。 Dijkstra算法的详细分析以及推理可以看 Dijkstra求最短路 I 来自AcWing的849. Dijkstra求最短路 I的一篇题解, 其中唯一需要解释的点 for(int i=0;i<n;i++) //有n个点所以要进行n次 迭代 { int t=-1; //t存储当前访问的点 for(int j=1;j&lt..

m0_51305283的博客 285

task5:在本地搭建大模型(ollama 和 LM studio 对比),接入 openclaw

关于大模型,大家千万不要想着在本地部署,根本不可行,没有那个财力。另外大模型迭代快,不可能每周都在下载大模型。再次,还是国外的模型好用,国内的模型真的在 deepresearch 上就有很大问题,你们懂的。所以本篇文章,还是聚焦在探索层面+实操,并不会实战。

这里是 AI 食用指南,持续分享有用的AI 实操和应用! 1973

hdu 2554 最短路 (dijkstra)

最短路Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 87720 Accepted Submission(s): 37963 Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-...

devon2014的博客 130

基于DFT的scanshift sdc模板(DFT)

摘要:本文详细介绍了DFT测试模式下的SDC约束方法。

murphyrong的博客 889

Qwen-Image LoRA训练实战:从数据准备到异常修复的全流程解析

本文详细解析了Qwen-Image LoRA训练的全流程,从数据准备到参数优化再到异常修复。通过实战案例展示了如何利用LoRA技术微调Qwen-Image模型,提升中文场景下的图像生成质量,特别针对手脚生成异常等问题提供了有效解决方案。文章还分享了中文提示词优化技巧和高级训练方法,帮助开发者高效训练出高质量的LoRA模型。

lemon的博客 969

HDU2544最短路的四种算法(dijkstra+Floyd+spfa+Bellmam_Ford)

虽然这道题不用那么大费周章的用四个算法,这里只是根据这个题目进行四个算法的学习总结,也是记录一下自己的学习过程,如果有讲错的地方大家可以指正。 原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候...

Shaosen的博客 640

基于cat12搞定SBM的ROI的统计分析——vertex水平和ROI水平的双样本T检验

前言 一、Atlas皮层图谱介绍 二、SBM分析——主要以皮层四种常用指标中的厚度(thickness)和沟深(depth)为主

Sophia2023的博客 8755

hdu 2544(所有最短路算法总结)

最短路   Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 82480    Accepted Submission(s): 35690     Problem Description 在每年的校赛里,所有进入决赛的同学都会获...

mengxianglong123的博客 1766

一文入门BMS(电池管理系统)

本文章是基于曾师兄的文稿《具有组网扩展功能的新能源汽车电池管理系统》而写的文章。该文章主要是对BMS(Battery Management System,电池管理系统)做一些简要的介绍,借此助各位也助我入门BMS。有纰漏请指出,转载请说明。学习交流请发邮件 1280253714@qq.com。

weixin_45817947的博客 2万+

避开生产计划大坑:不懂MPS和MRP的区别,你的SAP PP模块白学了

本文深入解析SAP PP模块中MPS(主生产计划)与MRP(物料需求计划)的核心区别,揭示如何通过正确配置避免生产计划中的常见陷阱。文章详细探讨了MPS的三大缓冲特性和动态平衡算法,帮助企业提升生产计划稳定性,优化资源配置,避免生产线波动。

weixin_29268267的博客 403

HDU 2544 最短路(Dijkstra || SPFA)

Dijkstra: Spfa: const int N=2e5+5; int n,m,t; int i,j,k; int head[N],all=0;//id,edge_num int d[N]; //点 i 到起点的距离 bool vis[N]; struct Edge { int to,next; int w; }G[N]; void add(int u,int v,int w) { G[all].w=w; ...

C_Dreamy的博客 656

DSI3协议介绍

分布式系统接口(DSI)是一种通用且功能强大的总线协议,旨在将多个遥感器和执行器设备互连到中央控制模块。该网络的主要目标应用是汽车安全系统。这种应用的一些特点是需要低成本、高鲁棒性、中速互连,仅限于两根导线。此外,它必须具有故障安全性、确定性和良好的EMC特性。即使具有所有级别的智能和可编程性的设备都可以连接到网络,远程设备也必须能够通过简单的状态机实现。由于模块尺寸非常重要,因此中央模块和远程单元中的最小组件至关重要。

汽车电子软件领域知识分享 1万+

hdu2554N对数的排列问题

1.题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2554   2.详细解释参考这里: http://www.cnblogs.com/XDJjy/archive/2013/05/18/3085098.html   3.参考代码:   #include int main() { int n; while(scanf(

持续学习,刻意练习 1000

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

HDU 2554 N对数的排列问题 数论

题目地址:  http://acm.hdu.edu.cn/showproblem.php?pid=2554   这题可以这样来抽象: n对数,大小为1、2、3、...、n。现要求两个1之间有1个数,两个2之间有2个数,以此类推,两个n之间有n个数。 并且,数的次序可以随意的。 解决之道: 准备知识: ①n对数,共2*n个数。所以要有2*n个位置来放置这2*n个数。②sum

lamborghini1993 1309

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

hdu2554-N对数的排列问题

http://acm.hdu.edu.cn/showproblem.php?pid=2554 假设所有的2n个数据的位置分别从1~2n标号。 现在假设其中第ai个数据(双胞胎),和bi。那么他们的位置则相差i + 1个位置; 同理,那么所有n组双胞胎相差的数据sum( bi - ai ) ( i = 1 ......2n )  = 2 + 3 +4 + .........+ n + n +

bo-jwolf的专栏 1489

hdu 2554N对数的排列问题

Problem Description 有N对双胞胎,他们的年龄分别是1,2,3,……,N岁,他们手拉手排成一队到野外去玩,要经过一根独木桥,为了安全起见,要求年龄大的和年龄小的排在一起,好让年龄大的保护年龄小的,然后从头到尾,每个人报告自己的年龄,就得到了一个年龄的序列。比如有4对双胞胎,他们报出来的年龄序列是:41312432。突然,他们中间最聪明的小明发现了一个有趣的现象,原来,这个年龄序

u013776243的专栏 671

hdu2554N对数的排列问题+数学推论

Description 有N对双胞胎,他们的年龄分别是1,2,3,……,N岁,他们手拉手排成一队到野外去玩,要经过一根独木桥,为了安全起见,要求年龄大的和年龄小的排在一起,好让年龄大的保护年龄小的,然后从头到尾,每个人报告自己的年龄,就得到了一个年龄的序列。比如有4对双胞胎,他们报出来的年龄序列是:41312432。突然,他们中间最聪明的小明发现了一个有趣的现象,原来,这个年龄序列有一个规律,两个

xtulollipop 1102

hdu 2554 N对数的排列问题

思路:k = (1,2,...,n)所在的位置是ak, bk;

ljd4305的专栏 882

HDU2554 N对数的排列

转:http://blog.youkuaiyun.com/lulipeng_cpp/article/details/7661207#reply 这题可以这样来抽象: n对数,大小为1、2、3、...、n。现要求两个1之间有1个数,两个2之间有2个数,以此类推,两个n之间有n个数。 并且,数的次序可以随意的。 解决之道: 准备知识: ①n...

weixin_33969116的博客 76

HDU 2554-N对数的排列问题

N对数的排列问题 思路:设ai为第i个宝宝第一次出现的位置,bi是他第二次出现的位置,则bi-ai=i+1; ∑(bi-ai) = 2+3+4+...+n+1=(n+3)*n/2;① ∑(ai+bi) = 1+2+3+...+2*n=(2*n+1)*n;② ②-①得: 2∑ai = (3*n2 -n)/2; ∑ai = (3*n-1)*n/4; 因为ai都为整数,所以∑ai也为整数...

weixin_34099526的博客 86

hdu 2554 N对数的排列问题 【数学】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2554题意:中文题目就不说了。假设每个数 i 的第一次出现位置是ai ,第二次出现的位置是 bi,则可以推导出又所以解得sum of ai= n*(3n-1)/4; 要保证解为正整数。代码:#include <stdio.h> #include <iostream> #include <string.h>

mfcheer 581

N对数的排列问题 HDU-2554 【数学思维 找等式】

题意:2n个数字,分别是11,22,33,nn 。 要求1和1之间有一个数字,以此类推,n和n之间有n个数字。问给定n,是否有满足这样的排序思路: 也是看了题解才略懂http://blog.youkuaiyun.com/ysc504/article/details/9175895 准备知识:①n对数,共2*n个数。所以要有2*n个位置来放置这2*n个数。②sum()表示求和运算。正式解决:①设k(k=1,2

Haipai1998的博客 660

hdu 2554 N对数的排列问题(数论:难题...但是可以蒙对)

想不出来,就随便变了一个公式n*(n+1)/2%2 代入2 3 4 5jieguozhengquehou

小华在努力~ 559

(step7.2.3)hdu 2554(N对数的排列问题——简单数论)

题目大意:输入一个整数n,表示有n对整数。判断能否出现一种情况就是2个1之间有1个数,2个2之间有2个数。。。。。 解题思路: 准备知识: ①n对数,共2*n个数。所以要有2*n个位置来放置这2*n个数。②sum()表示求和运算。 正式解决: ①设k(k=1,2,..,n)放置的第一个位置为ak,第二个位置为bk。显然有bk-ak=k+1(假定下一

黄俊东的专栏 1772

N对数的排列问题

HDU2554:N对数的排列问题 题目为:有N对双胞胎,他们的年龄分别是1,2,3,……,N岁,他们手拉手排成一队到野外去玩,要经过一根独木桥,为了安全起见,要求年龄大的和年龄小的排在一起,好让年龄大的保护年龄小的,然后从头到尾,每个人报告自己的年龄,就得到了一个年龄的序列。比如有4对双胞胎,他们报出来的年龄序列是:41312432。突然,他们中间最聪明的小明发现了一个有趣的现象,原来...

angyuanyang1881的博客 265
上一篇: HDU 1151 Air Aaid 最小路径覆盖
下一篇: HDU1232 畅通工程 并查集
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值