当前位置: 首页 > news >正文

【补题】CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!) D. K-good

题意:给一个n,如果能被k个数整除,要求这k个数%k后不相同,问如果可以,任意k是多少,如果不可以输出-1

思路:    D. K-good_牛客博客

从来没见过,太诡异了,做题做少了

1.首先可以发现,一个数假如有数字p,那么可以得到n=x*k+(k*(k-1)/2)
然后将n*2,得到2*n=k*(2x+k-1)

2.如果我们设定k是偶数,那么(2x+k-1)就是奇数,并且k与(2x+k-1)是可以随意调换的,因为(2x+k-1)一定等于2n/k,这只是举例,k可以是偶数也可以是奇数
因此我们提取出一个数字的所有偶数部分,就可以得到奇数部分,然后从偶数和奇数部分选一个最小就行了
因为偶数或者奇数部分是由可能>=n的,很明显不符合题目要求,选min,找一个符合的出来即可

代码:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define IOS                       \std::ios::sync_with_stdio(0); \std::cin.tie(0);              \std::cout.tie(0)const int N = 3e5 + 5;
const int INF = 1e18;
const int MOD = 998244353;
// const int MOD=1e9+7;
// const int MOD=100003;
const int maxn=5e5+10;void solve(){int n;cin >> n;int now=0;int t=2*n;while(n%2==0){n/=2;now++;}t/=n;if(n==1){cout << -1 << '\n';}else{cout << min(t,n) << '\n';}}signed main(){IOS;int t=1;cin >> t;while(t--){solve();}
}

http://www.lryc.cn/news/612437.html

相关文章:

  • 基于单片机GD32E103的HID按键问题分析
  • hive专题面试总结2
  • 一、Envoy基础概念学习
  • 8.6笔记
  • 《嵌入式数据结构笔记(四):栈结构与队结构链表》
  • Chrontel【7322BMF】CH7322B HDMI Consumer Electronics Control (CEC) devices
  • GaussDB 数据库架构师修炼(六)-3 集群工具管理-主备倒换
  • prometheus+Grafana 监控中间件项目
  • 202506 电子学会青少年等级考试机器人四级实际操作真题
  • 架构层防护在高并发场景下的实践
  • 机器学习-LinearRegression
  • 机器学习模型调优实战指南
  • 机器学习——SVM
  • 居家养老场景下摔倒识别准确率提升 29%:陌讯动态姿态建模算法实战解析
  • 第五十一章:AI模型服务的“百变面孔”:WebUI/CLI/脚本部署全解析
  • 从原理图到PCB的布局
  • LiveQing视频RTMP推流视频点播服务功能-云端录像支持按时间段下载录像时间段下载视频mp4
  • STM32的PWR
  • 引领GameFi 2.0新范式:D.Plan携手顶级财经媒体启动“龙珠创意秀”
  • ZYNQ实现FFT信号处理项目
  • Python科学计算:从基础到工程仿真的完整指南
  • 指挥中心自动化的演变
  • cygwin+php教程(swoole扩展+redis扩展)
  • Redis使用的常见问题及初步认识
  • JDK17新特性全解析
  • TFTP: Linux 系统安装 TFTP,文件系统启动后TFTP使用
  • win服务器系统10060问题解决
  • 【CSS】动态修改浏览器滚动条宽度
  • 楼宇自控系统对建筑碳中和目标的实现具重要价值
  • mysql死锁的常用解决办法