【数学】礼物(jzoj 2129)

礼物

jzoj 2129

题目大意

有1……n,n个礼物盒,第i个礼物盒有i个礼物,现在让你选2个礼物盒,使他是k的倍数

输入样例

1 1
3 2
5 2
50 50
0 0

输出样例

0
1
4
24

数据范围

20%的数据N<=100;
80%的数据K<=1000;
每个输入文件最多有200行输入数据。

解题思路:

对于20%的数据,我们可以直接暴力
对于80%的数据,我们可以按%k得到的值来分类,如果两个数%剩的值加在一起等于k那说明这两个数是合法的一对
正解:
首先我们图文结合(如下图)
首先我们把nnnkkk来分(第2步)
然后我们把n/kn/kn/k定为xxx
每一个k中都有一个被整除的(第3步右侧),那x个被整除的,可以组成(x−1)∗x2\frac{(x-1)*x}{2}2(x1)x
然后剩下的k−1k-1k1我们分为奇偶数(第4步)
奇数:把中间除外的互相相乘,得到h∗x∗xh*x*xhxx对(h为一半,每个余数都有x个数,两个就有x∗xx*xxx对),然后剩下的一个(第5步)和其他k中的中间相乘,得到(x−1)∗x2\frac{(x-1)*x}{2}2(x1)x
偶数:直接相乘
然后处理余数:
不到一半或在一般前面的部分就直接和另一侧的x个数相配(第6步)
如果有中间1块就和前面xxx个中间1块相配(第8步)
大于一半的就和一半前的x+1x+1x+1相配(+1是因为第6步使一半前的加上了1)
注:解题思路写地不好请见谅
在这里插入图片描述

代码:

#include<cstdio>
#define min(a,b) (a)<(b)?(a):(b)
using namespace std;
long long n,k,x,ys,h,ans;
int main()
{scanf("%lld %lld",&n,&k);while (n&&k){x=n/k;//如解题思路ys=n%k;//余数h=(k-1)/2;//减去整除部分后的一半ans=x*(x-1)/2+x*x*h;//整除部分和普通部分if ((k-1)%2) ans+=x*(x-1)/2;//奇数的中间部分if (ys>0) ans+=(min(ys,h))*x,ys-=h;//余数的左边部分if (ys>0&&(k-1)%2) ans+=x,ys--;//奇余数的中间部分if (ys>0) ans+=ys*(x+1);//余数的右边部分printf("%lld\n",ans);scanf("%lld %lld",&n,&k);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序与AspNetCore SignalR聊天实例

微信小程序与aspnetcore signalr实例本文不对小程序与signalr做任何介绍,默认读者已经掌握aspnetcore Signalr文档小程序文档写在之前SignalR没有提供小程序使用的客户端js,所以本人参考signlar.js写了小程序版signalr-client.js 代码开源&#xff0c;地址 https://github.com/…

二次重建基本完成辣!

二次重建基本完成辣&#xff01; 实现了一些&#xff0c;之前觉得很有意思的设想&#xff0c;参考了许多dalao的blog解决了手机端突然出现的无法点击链接的问题但是在由于css实现过程中&#xff0c;本人姿势水平不够&#xff0c;Pad和手机无法正常显示。。。适配调整工程过于庞…

技术绩效考量:你们可能都做错了

欢迎来到通向卓越之路&#xff01;我们或许都陷入了这样的困境&#xff0c;我们努力成为卓越的企业&#xff0c;我们进行绩效考量&#xff0c;并在此过程中找到正确的OKR、KPI或ABC。但这可能是一件很困难的事情&#xff0c;特别是当我们所在的组织非常复杂并从技术幽灵&#x…

CodeForces 282E Sausage Maximization(trie+xor)

传送题目 看了半个多小时的题解才搞明白&#xff0c;一下题解为自己的心得 参考博客&#xff08;这两个讲的很详细&#xff09;&#xff1a; 参考一 参考二 题意&#xff1a;有一个长度有n的整数序列&#xff0c;你要在这个序列中选择一个前缀和后缀&#xff0c;前后缀不想交&a…

Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

Net Core平台灵活简单的日志记录框架NLog初体验前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblogs.com/yilezhu/p/9339017.html]" 有人说比较重量&#xff0c;生产环境部署也比较麻烦。因此就有了今天的这篇文章。如果你…

ASP.NET CORE 根据环境变量支持多个 appsettings.json

0.背景在开发项目的过程当中&#xff0c;生产环境与调试环境的配置肯定是不一样的。拿个最简单的例子来说&#xff0c;比如连接字符串这种东西&#xff0c;调试环境肯定是不能连接生产数据库的。在之前的话&#xff0c;这种情况只能说是你 COPY 两个同名的配置文件来进行处理。…

基于Win10极简SonarQube C#代码质量分析

博客有些好些时间未更新了&#xff0c;这几个月的时间里&#xff0c;离开了实习的公司、大学毕了业、来了新公司、转了户口&#xff0c;有点忙&#xff0c;最近总算稍微闲下来了&#xff0c;打算重新拾起博客&#xff0c;坚持写下去。言归正转&#xff0c;什么是SonarQube ?So…

大吉大利【牛客网】(牛客练习赛60)

传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format:%lld 题目描述 输入描述: 第一行一个整数n. 第二行n个整数ai. 输出描述: 一个整数表示上述求和式的答案. 示例1 输入 5 1 2 3 4 5输出…

【项目管理】git和码云的使用

缘起说了那么多关于git和码云相关的事&#xff0c;一直都没给大伙讲解这个码云究竟是个啥玩意儿。今天就给大伙说说如何通过git和码云搭建属于自己的代码库。码云码云(GitOSC)是开源中国社区团队推出的基于Git的快速的、免费的、稳定的在线代码托管平台,不限制私有库和公有库数…

三角形周长和【牛客网】牛客网练习赛60

题目传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format:%lld 题目描述 输入描述: 输入描述 第一行一个整数表示n. 接下来n行每行两个整数x,y表示一个点. 输出描述: 输出一个整数表示周长…

AspNetCore 基于AOP实现Polly的使用

前言 说起AOP&#xff0c;其实我们在做MVC/API 的时候应该没少接触&#xff0c;比如说各种的Fitter 就是典型的AOP了。本来在使用Polly的时候我最初的打算是使用过滤器来实现的&#xff0c;后来发现实现起来相当的困难&#xff0c;利用NetCore的中间以及过滤器去实现一个AOP的…

.NET Core开发日志——配置

熟悉ASP.NET的开发者一定对web.config文件不陌生。在ASP.NET环境中&#xff0c;要想添加配置参数&#xff0c;一般也都会在此文件中操作。其中最常用的莫过于AppSettings与ConnectionStrings两项。而要在代码中获得文件中的配置信息&#xff0c;ConfigurationManager则是必不可…

操作集锦【牛客网】 牛客练习赛60

题目传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 有一款自走棋有26种操作,每种操作我们都用a,b,c,d,…,x,y,z的符号来代替. 现在牛牛有一个长度为nnn的操作序列,他现…

解决C# 7.2中的结构体性能问题

在某些使用了readonly关键字的情况下&#xff0c;C#编译器会创建出结构体的防御副本。虽然这个问题已经众所周知并被记录下来了&#xff0c;但仍然值得重新审视&#xff0c;因为它与C# 7.2的几个特性有关。in和ref readonly关键字的使用让这个问题出现得更频繁&#xff0c;而re…

使用ML.NET实现基于RFM模型的客户价值分析

RFM模型在众多的客户价值分析模型中&#xff0c;RFM模型是被广泛应用的&#xff0c;尤其在零售和企业服务领域堪称经典的分类手段。它的核心定义从基本的交易数据中来&#xff0c;借助恰当的聚类算法&#xff0c;反映出对客户较为直观的分类指示&#xff0c;对于没有数据分析和…

Reordering the Cows

牛客网传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format:%lld 链接&#xff1a;https://ac.nowcoder.com/acm/contest/4860/B 来源&#xff1a;牛客网 题目描述 Farmer John’s N cows (…

回顾4180天在腾讯使用C#的历程,开启新的征途

今天是2018年8月8日&#xff0c;已经和腾讯解除劳动关系&#xff0c;我的公司正式开始运营&#xff0c;虽然还有很多事情需要理清&#xff0c;公司官网也没有做&#xff0c;接下来什么事情都需要自己去完成了&#xff0c;需要一步一个脚印去完善&#xff0c;开启一个新的征途。…

稳定工作和创业之间的抉择

早上写的文章《回顾4180天在腾讯使用C#的历程&#xff0c;开启新的征途》是我在腾讯写的最后一篇对过往10年在腾讯使用C#语言的总结&#xff0c;今天收到反馈有人在造谣腾讯开始去.net&#xff0c;我被迫辞职了。这非常的不负责任&#xff0c;我必须写这篇文章来辟谣。要说腾讯…

牛客2020年愚人节比赛

欢乐的一晚上 题目链接 其实做做也挺好&#xff0c;脑筋急转弯&#xff0c;不需要算法不需要数据结构&#xff0c;纯娱乐 还有不知道是哪位哥的&#xff0c;心疼一下 题解 注&#xff1a;一下题解没必要较劲&#xff0c;欢乐局而已 对不对无所谓&#xff0c;换了最重要奥 A题ra…

IdentityServer4 知多少

1. 引言现在的应用开发层出不穷&#xff0c;基于浏览器的网页应用&#xff0c;基于微信的公众号、小程序&#xff0c;基于IOS、Android的App&#xff0c;基于Windows系统的桌面应用和UWP应用等等&#xff0c;这么多种类的应用&#xff0c;就给应用的开发带来的挑战&#xff0c;…