整体概述

  • 难度:1000 →\rightarrow 1400 →\rightarrow 1600

P3918 [国家集训队] 特技飞行

  • 标签:贪心

  • 前置知识:无

  • 难度:橙 1000

题目描述:

image

输入格式:

image

image

输出格式:

image

样例输入:

5 2
2 2

样例输出:

12

解题思路:

  • 发现一次操作没有贡献,至少要两次操作。同时发现无论操作多少次,总贡献等同于只操作第一次和最后一次带来的贡献。

  • 所以我们让价值最大的贡献操作时间最长即可,即将 ccc 从大到小排序,然后依次填充在头尾,模拟一遍计算总贡献即可。

完整代码

#include<bits/stdc++.h>
#define Size(x) ((int)(x).size())
#define int long long
using namespace std;
const int N = 1e3+5;
int n,k,a[N],c[N];
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin >> n >> k;for(int i=1;i<=k;i++) cin >> c[i];sort(c+1,c+k+1,[&](int x,int y){return x>y;});int res = 0;for(int i=1,j=1;i<=k && j<=n/2;i++,j++)res += ((n-j+1) - j)*c[i];cout << res;return 0;
}

P11465 水上舞者索尼娅

  • 标签:数学

  • 前置知识:逆元

  • 难度:黄 1400

题目描述:

image

输入格式:

image

image

输出格式:

image

样例输入:

3
2 2
3 1
12 34

样例输出:

12
14
178629506

解题思路:

  • 我们发现,对于一张还剩 iii 次的 一串香蕉一串香蕉一串香蕉,在场上由 kkk 个索尼娅的时候,本质是使用了 k+1k+1k+1 张还剩 iii 次的 一串香蕉一串香蕉一串香蕉,随后产生 k+1k+1k+1 张还剩 i−1i-1i1 次的 一串香蕉一串香蕉一串香蕉

  • 那么总使用次数即 (k+1)+(k+1)2+...+(k+1)n(k+1) + (k+1)^2 + ... + (k+1)^n(k+1)+(k+1)2+...+(k+1)n,用等比数列求和即 (k+1)∗(1−(k+1)n)1−(k+1)=(k+1)∗((k+1)n−1)k\frac {(k+1)*(1-(k+1)^n)} {1-(k+1)} = \frac {(k+1)*((k+1)^n-1)} {k}1(k+1)(k+1)(1(k+1)n)=k(k+1)((k+1)n1)

  • 注意在模意义下除 kkk 是乘以 kkk 的逆元即可,

完整代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 1e9+7;
int n,k;
inline int qpow(int a,int b){int res = 1;for(;b;b>>=1,a=a*a%mod)if(b&1) res=res*a%mod;return res;
}
inline void solve(){cin >> n >> k;cout << ((k+1)*(qpow(k+1,n)-1))%mod*(qpow(k,mod-2))%mod << '\n';
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T; cin >> T;while(T--) solve();return 0;
}

P6457 [COCI 2006/2007 #5] IVANA

  • 标签:区间DP

  • 前置知识:拆环成链

  • 难度:绿 1800

题目描述:

image

输入格式:

image

输出格式:

image

样例输入:

3
3 1 5
4
1 2 3 4
8
4 10 5 2 9 8 1 7

样例输出:

3
2
5

解题思路:

  • 首先发现是环上的操作,我们先翻个倍拆环成链。

  • 由于每次操作都是在已选择的区间的边缘上进行操作,我们考虑区间 DPDPDP,题目所求的是奇数个数更多的玩家获胜,那么我们定义 dpi,jdp_{i,j}dpi,j 表示当前先手取完区间 [i,j][i,j][i,j] 此时先手最多比后手多几个奇数。

  • 那么 dpi,j=max(dpi,i−dpi+1,j,dpj,j−dpi,j−1)dp_{i,j} = max(dp_{i,i}-dp_{i+1,j},dp_{j,j}-dp_{i,j-1})dpi,j=max(dpi,idpi+1,j,dpj,jdpi,j1),全部更新一遍即可。

  • 最后统计的时候需要注意,我们需要枚举先手取的起始点 iii,若 dpi,i−dpi+1,i+n−1>0dp_{i,i} - dp_{i+1,i+n-1} \gt 0dpi,idpi+1,i+n1>0 则满足题意则统计答案。

完整代码

#include<bits/stdc++.h>
#define Size(x) ((int)(x).size())
#define int long long
using namespace std;
const int N = 205;
int n,m,a[N],dp[N][N];
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin >> n; m = n*2;for(int i=1;i<=n;i++) cin >> a[i], a[i+n] = a[i];for(int l=1;l<=m;l++) if(a[l]&1) dp[l][l] = 1;for(int len=2;len<=n;len++){for(int l=1;l<=m-len+1;l++){int r = l+len-1;dp[l][r] = max(dp[l][l]-dp[l+1][r],dp[r][r]-dp[l][r-1]);}}int res = 0;for(int i=1;i<=n;i++) if(dp[i][i] - dp[i+1][i+n-1] > 0) res += 1;cout << res;return 0;
}

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

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

相关文章

Elasticsearch 9.x 搜索执行流程(源码解读)

1. 搜索执行流程概述 Elasticsearch的搜索执行是一个分布式过程,涉及协调节点和数据节点之间的多阶段交互 #mermaid-svg-QGh2GjrUKcs5jzQp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QGh2GjrUKcs5jzQp .error…

暑期训练8

E. G-C-D, Unlucky!题目要求判断是否存在一个长度为 n 的数组 a&#xff0c;使得p[i] 是 a[0..i] 的前缀 GCDs[i] 是 a[i..n-1] 的后缀 GCD思路前缀 GCD 非递增后缀 GCD 非递减首尾 GCD 一致桥梁条件成立对于每个位置 i&#xff0c;gcd(p[i], s[i1]) 必须等于整个数组的 GCD&am…

深入解析Hadoop HDFS高可用性:原理、故障切换与元数据同步

Hadoop HDFS高可用性(HA)概述在分布式存储领域&#xff0c;Hadoop分布式文件系统(HDFS)作为Hadoop生态系统的核心存储组件&#xff0c;其高可用性(HA)设计一直是架构师们关注的焦点。传统HDFS架构中&#xff0c;NameNode作为单一主节点管理整个文件系统的元数据&#xff0c;这种…

Freertos源码分析:任务创建/删除

任务创建/删除流程1.简介FreeRTOS 中任务创建通过 xTaskCreate() 或 xTaskCreateStatic() 实现。动态创建&#xff08;xTaskCreate&#xff09;会自动分配任务栈和TCB&#xff08;任务控制块&#xff09;&#xff0c;静态创建&#xff08;xTaskCreateStatic&#xff09;需用户预…

warning: _close is not implemented and will always fail

相关问题&#xff1a; 一、undefined reference to _exit undefined reference to ‘end‘ warning: _close is not implemented and will always fail 一、环境&#xff1a; ubuntu24.04实体机、 arm-none-eabi-gcc gcc version 13.2.1 20231009 (15:13.2.rel1-2) 二…

MyBatis之缓存机制详解

MyBatis之缓存机制详解一、MyBatis缓存的基本概念1.1 缓存的核心价值1.2 MyBatis的两级缓存体系二、一级缓存&#xff08;SqlSession级别缓存&#xff09;2.1 工作原理2.2 实战案例&#xff1a;一级缓存演示2.2.1 基础用法&#xff08;默认开启&#xff09;2.2.2 一级缓存失效场…

云服务器搭建自己的FRP服务。为什么客户端的项目需要用Docker启动,服务端才能够访问到?

简单回答&#xff1a;在云服务器搭建FRP服务时&#xff0c;客户端项目用Docker启动并非必需&#xff0c;而是因为Docker的特性简化了配置&#xff1a; Docker通过端口映射&#xff08;如-p 本地端口:容器端口&#xff09;能固定项目对外暴露的端口&#xff0c;减少本地端口冲突…

6 STM32单片机的智能家居安防系统设计(STM32代码+手机APP设计+PCB设计+Proteus仿真)

系列文章目录 文章目录 系列文章目录前言1 资料获取与演示视频1.1 资料介绍1.2 资料获取1.3 演示视频 2 系统框架3 硬件3.1 主控制器3.2 显示屏3.3 WIFI模块3.4 DHT11温湿度传感器3.5 烟雾/燃气传感器模块&#xff1a;MQ-23.6 火焰传感器3.7 门磁模块MC-38 4 设计PCB4.1 安装下…

DevOps落地的终极实践:8大关键路径揭秘!

本文来自腾讯蓝鲸智云社区用户: CanWay当前&#xff0c;DevOps因其能够降低IT运营成本、提高软件质量并加快上市时间的能力而在全球范围内引起广泛关注。它打破了传统软件开发与运营的界限&#xff0c;消除了新功能发布延迟和软件质量下降的障碍。DevOps通过实施持续集成、持续…

react - 根据路由生成菜单

后端返回菜单的格式menuList:[{index: true,name: "",component: "../views/Home",meta: { title: "首页", requiresAuth: true,roles:[user]},},{path: "/admin",name: "admin",meta: { title: "管理页", roles:…

Window延迟更新10000天配置方案

1.点击"开始"菜单&#xff0c;搜索"注册表编辑器"&#xff0c;点击"打开"。2.找到"\HKEY LOCAL MACHINE\SOFTWARE\Microsoft\WindowsUpdate\Ux\Settings"路径。3.右面空白处右键新建一个32位值&#xff0c;命名为FlightSettingsMaxPau…

【OD机试】人民币转换

题目描述 将阿拉伯数字金额转换为中文大写金额格式,需遵循以下规则: 1、 前缀要求:中文大写金额前必须标明“人民币”字样。 2、 用字规范:使用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样。 3、 “整”字规则: 金额到“元”为止…

在ajax中什么时候需要将返回值类型做转换

$.ajax({url: TMSPROC0050/deleteData?accidentIds accidentIds.join(,),type: DELETE,dataType: json,success: function(result) {$(#accidentGrid).datagrid(reload);$.messager.show({title: 成功,msg: result.message})},error: function(result) {$.messager.alert({ti…

Helm常用命令大全(2025最新版)

文章目录Helm常用命令大全&#xff08;2025最新版&#xff09;一、基础命令与环境配置版本与帮助信息安装与升级HelmLinux系统安装版本升级注意事项二、仓库管理命令仓库基础操作OCI仓库支持&#xff08;v3.8新特性&#xff09;三、Chart操作命令Chart创建与打包Chart搜索与下载…

gitlab+jenkins

文章目录架构gitlab和jenkins安装jenkins配置gitlab配置jenkins与gitlab联动参考架构 gitlab和jenkins安装 部署docker 部署jenkins 启动jenkins 用户&#xff1a;admin&#xff0c;对应的密码如下 点击安装自定义推荐的插件 安装gitlab插件 jenkins配置 配置pipline…

Redis字符串操作指南:从入门到实战应用

Redis作为一款高性能的键值存储数据库&#xff0c;其字符串&#xff08;String&#xff09;类型是最基础也最常用的数据类型。它不仅能存储简单的文本信息&#xff0c;还能应对数字计算、二进制数据等多种场景&#xff0c;灵活且高效。接下来&#xff0c;我们就全方位剖析Redis…

SQLite 数据库字段类型-详细说明,数据类型详细说明。

SQLite 数据类型 SQLite字段类型详细说明&#xff0c;包含存储类、亲和类型、布尔类型、日期时间类型的存储方式、取值范围及核心特性。 创建 SQLite3 表时可使用的各种数据类型名称&#xff0c;同时也介绍了相应的亲和类型。 一、核心存储类&#xff08;Storage Classes&am…

Node.js特训专栏-实战进阶:17.会话管理与安全存储

🔥 欢迎来到 Node.js 实战专栏!在这里,每一行代码都是解锁高性能应用的钥匙,让我们一起开启 Node.js 的奇妙开发之旅! Node.js 特训专栏主页 专栏内容规划详情 会话管理与安全存储:从原理到实战的Web安全实践 在Web应用中,会话(Session)是维持用户状态的核心机制—…

【橘子分布式】gRPC(编程篇-中)

一、简介 我们之前已经完成了对于api模块的开发&#xff0c;也就是已经生成了基础的类和对应的接口&#xff0c;现在我们需要完成的是client和server端的开发。其实如同thrift一样&#xff0c;现在要做的就是实现我们之前定义的service里面的hello方法&#xff0c;里面写我们的…

Spring Boot 项目中数据同步之binlog和MQ

在 Spring Boot 项目中&#xff0c;“监听 binlog” 和 “业务代码中集成 MQ” 是实现数据同步、事件驱动的两种主流方法。 简单来说&#xff0c;这个选择可以概括为&#xff1a; 监听 Binlog (如使用 Canal)&#xff1a;像一个数据库的贴身秘书&#xff0c;它忠实地记录数据库…