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

【题解】[GenshinOI Round 3 ]P9817 lmxcslD

题目传送门

分析

看到这道题我一开始是有点懵的,但是看了看数据范围,发现有几个点有 n 为质数 的特殊性质,结论先行,大胆猜测是不是可以贪心,所以先打了一个最傻的代码上去试试.

void solve(){cin >> n >> k;cout << max(n*(k-1)*(k-1),(n-k)*(n-k)) << endl;
}

喜提30分.

想到之前随机跳题跳到的P3539 [POI2012] ROZ-Fibonacci Representation,这道题是直接找离的最近的斐波那契数.

结合 n 为质数 的这档部分分,果断尝试贪心.

然后就有了这个.

bool get(int x){for(int i = 2;i*i <= x; i++){if(x % i==0) return 0;} return 1;
}
int n,k;void solve(){cin >> n >> k;int ans = 0;int nn = n;while(n){for(int i = n; i >= 1; i--){if(get(i)){ans += (i-k)*(i-k);n -= i;break;}}}cout << max(ans,(k-1)*(k-1)*nn) << endl;
}

但是发现交上去之后还是只有 40 分.

注意到第一个点都没过,所以开始手搓数据,发现一些数据是最靠近的质数加上一堆1才是正确答案.

所以在代码里再加一句就好了.

Code

#include <bits/stdc++.h>
#define int long long
using namespace std;
bool get(int x){for(int i = 2;i*i <= x; i++){if(x % i==0) return 0;} return 1;
}
int n,k;void solve(){cin >> n >> k;int ans = 0;int res = (k-1)*(k-1)*n;while(n){for(int i = n; i >= 1; i--){if(get(i)){ans += (i-k)*(i-k);n -= i;res = max(res,ans+(k-1)*(k-1)*n);break;}}}cout << res << endl;
}
signed main(){int t;cin >> t;while(t--) solve();return 0;
}

坑点

这里的质数要手动枚举,不然就会和大佬 LINTONG1 一样一直 50 分调了一个多小时.

当然码力强也是不用考虑这个问题的.

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

相关文章:

  • 在pycharm中,远程操作服务器上的jupyter notebook
  • SQL 运算符
  • 中间件安全-CVE 复现K8sDockerJettyWebsphere漏洞复现
  • 系列九、什么是Spring bean
  • 轻量封装WebGPU渲染系统示例<4>-CubeMap/天空盒(源码)
  • Linux 环境变量 二
  • Beyond Compare4 30天试用到期的解决办法
  • sentinel规则持久化-规则同步nacos-最标准配置
  • 【Linux】tail命令使用
  • 【数据结构】面试OJ题——时间复杂度2
  • LibreOffice编辑excel文档如何在单元格中输入手动换行符
  • ideaSSM在线商务管理系统VS开发mysql数据库web结构java编程计算机网页源码maven项目
  • 数据结构 | 顺序表专题
  • C++可视化 有穷自动机NFA 有穷自动机DFA
  • vite vue3 ts 使用sass 设置样式变量 和重置默认样式
  • MySQL安全基线检查
  • Unity主程如何做好游戏项目管理
  • 103.linux5.15.198 编译 firefly-rk3399(2)
  • 如何从Android手机上轻松恢复误删除的短信 ?
  • 毅速丨金属3D打印能替代传统制造吗?
  • 21个新的ChatGPT应用
  • 【通信原理】第二章|确知信号
  • 【JVM】类加载器
  • 利用Excel支持JUnit参数化测试
  • 第三章 SysML入门|系统建模语言SysML实用指南学习
  • 敏捷开发框架Scrum-概述
  • Hafnium启动过程分析
  • 0基础学习PyFlink——使用Table API实现SQL功能
  • 文心一言 VS 讯飞星火 VS chatgpt (123)-- 算法导论10.4 4题
  • [读论文] On Joint Learning for Solving Placement and Routing in Chip Design