Atcoder Regular Contest 059 题解

news/2024/11/20 20:40:59/文章来源:https://www.cnblogs.com/FracturedAngel/p/18559221

ARC059C. Be Together

签到题。枚举要改成哪个,因为值域只有 \([-100,100]\)。然后对总代价取个 \(\min\) 即可。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL MAXN = 105;
LL n, A[MAXN];
int main()
{ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);cin >> n;for(LL i = 1; i <= n; i ++) cin >> A[i];LL ans = 1e18;for(LL i = -100; i <= 100; i ++){LL anss = 0;for(LL j = 1; j <= n; j ++)anss += (A[j] - i) * (A[j] - i);ans = min(ans, anss);}cout << ans << '\n';return 0;
}

ARC059D. Unbalanced

小清新结论题,考虑怎样构造这个串。其重要条件就是两个相同的字母的位置的绝对值相差为 \(1\)\(2\),然后判一下就做完了。思维难度主要在这个结论。

#include <bits/stdc++.h>
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);string s;cin >> s;for(int i = 1; i < (int)s.length(); i ++){if(i >= 2) {if(s[i] == s[i - 2]){cout << i - 1 << " " << i + 1 << '\n';return 0;}}if(s[i] == s[i - 1]){cout << i << " " << i + 1 << '\n';return 0;}}cout << -1 << " " << -1 << '\n';return 0;
}

ARC059E. Children and Candies

算贡献的题,又看起来是一个背包。所以我们考虑在背包的基础上做一做手脚。

定义 \(f_{i,j}\) 为考虑到第 \(i\) 个,选了 \(j\) 个糖果的价值总和。由于乘法具有分配率,所以

\[f_{i,j}=f_{i-1,j-k}\times \sum^{b_i}_{t=a_i} t^k \]

答案就是 \(f_{n,c}\),还是非常水的。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL MAXN = 405;
const LL MOD = 1e9 + 7;
LL n, c, A[MAXN], B[MAXN], Pw[MAXN][MAXN], SumPw[MAXN][MAXN], DP[MAXN][MAXN];
int main()
{ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);cin >> n >> c;for(LL i = 1; i <= n; i ++) cin >> A[i];for(LL i = 1; i <= n; i ++) cin >> B[i];for(LL i = 1; i < MAXN; i ++){Pw[i][0] = 1ll;for(LL j = 1; j < MAXN; j ++)Pw[i][j] = (Pw[i][j - 1] * i) % MOD;}for(LL i = 1; i < MAXN; i ++)for(LL j = 0; j < MAXN; j ++)SumPw[i][j] = (SumPw[i - 1][j] + Pw[i][j]) % MOD;DP[0][0] = 1;for(LL i = 1; i <= n; i ++)for(LL j = 0; j <= c; j ++)for(LL k = 0; k <= j; k ++)DP[i][j] = (DP[i][j] + (DP[i - 1][j - k] * (SumPw[B[i]][k] - SumPw[A[i] - 1][k] + MOD)) % MOD) % MOD;cout << DP[n][c] << '\n';return 0;
}

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

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

相关文章

Linux 命令之 tar

目录1 tar 命令介绍2 压缩与解压缩2.1 压缩2.2 解压4 高级用法4.1 排除目录4.2 显示进度4.2.1 脚本解压缩4.2.2 命令解压缩4.2.3 压缩进度 1 tar 命令介绍常见的压缩包有 .tar.gz、.tar.xz、.tar.bz2,以及 .rar、.zip、.7z 等压缩包。常见的 tar 选项:- 1. 文件操作选项:-c,…

2024年11月最新版Adobe PhotoShop(26.0)中文版下载

Adobe PhotoShop 是一款功能强大的应用程序,已被各种公司、专业艺术家、设计和创作者广泛使用。该程序允许您创建、编辑和合成多层、蒙版和多种颜色模型(包括 RGB、专色、CMYK 等)的光栅图像。点击跳转下载页面 Adobe PhotoShop 是一款功能强大的应用程序,已被各种公司、专…

SpringBoot如何集成mybatis-plus

前言 大家好,我是小徐啊。我们在使用SpringBoot的时候,毫无疑问,一般是和mybatis集成的,而mybatis-plus作为mybatis的进阶,又是必须要集成的。今天,小徐就来介绍下如何在SpringBoot中集成mybatis-plus。 如何集成 首先,讲一下如何在配置文件中配置mybatis-plus的配置。主…

ubuntu安装docker+后端发布

一:更新软件包索引,并且安装必要的依赖软件 1.sudo apt-get update #更新软件包索引 2.sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common lsb-release #安装apt依赖包,用于通过HTTPS来获取Docker 仓库 二:添加 D…

IDEA如何找到在IDEA中下载jdk

前言 大家好,我是小徐啊。在使用IDEA开发java应用的时候,都是需要配置好jdk的环境的。当然,如果我们一开始,先安装好了jdk,那就不需要安装了。不然的话,我们也可以在IDEA中便捷的安装jdk。今天,小徐就来教大家如何在IDEA中安装jdk。 如何下载jdk 首先,点击下文件,项目…

第十二课 接口文档和编写接口测试用例(12.1)

一、熟悉接口文档和分析接口 1、发送接口文档 2、分析接口文档 3、了解需要测试接口,分析需求文档接口请求参数:接口返回参数:成功接口返回参数:失败================================================================================ 整理接口:(自己项目有哪些借款) …

校园防欺凌系统 AI语音监测求救打架行为系统

校园防欺凌系统 AI语音监测求救打架行为系统利用在校园内的宿舍、卫生间、楼梯角等隐蔽位置安装的AI智能语音报警终端,校园防欺凌系统 AI语音监测求救打架行为系统对这些音频进行实时分析,识别出“老师救命”、“别打我”、“有人打我老师”等关键词,就会立即触发报警机制。…

blog-2

前言 在过去的几周内,我们完成了答题程序-4, 家居强电电路模拟程序-1以及 家居强电电路模拟程序-2的练习,涉及多个知识点和编程技巧。整体来说,这三次题目集共包含了7道题目,题目难度逐步增加。 题量: 答题程序-4(3道题), 家居强电电路模拟程序-1(3道题), 家居强电电…

dir()和help()函数

dir()是 Python 中的一个内置函数。它主要用于返回一个模块、类、对象等的所有属性(包括方法、变量等)的列表。这个函数在探索新的模块或者对象的功能时非常有用。 help()也是 Python 的一个内置函数。它用于查看对象(如函数、模块、类等)的详细帮助文档。这个文档包括对象…

11.20闲话-存档

呜呜呜存档 参考使用没有存档的软件,就像吃饭不给容器一般。故存档必然是极为重要的。 下面介绍Unity的几种存档方式。 代码出处 Part.1——PlayerPrefs 应该是最简单的存档方式。 但局限性也是显然的,只能存储int, float, string 三种类型,就像在文件中存储了三个map <s…

Integrating Streamlit and Langchain data analysis agent-entrance

url:https://www.cnblogs.com/devcxx/p/18550789 一、Streamlit introduce Streamlit is an open-source Python library for quickly building data visualization and interactive web applications. It is specifically designed for data scientists and engineers, using…

WPF的Popup自动显示隐藏

简单实现鼠标移过Popup自动显示和隐藏的功能; 在xaml.cs中实现,首先创建一个定时器,设置300ms的延时:1 DispatcherTimer timer;2 3 public Function1View()4 {5 InitializeComponent();6 7 timer = new DispatcherTimer()…