CF961(div2)a-c

CF961(div2)

A. Diagonals(贪心)

题意:有n*n的棋盘,有k个筹码,将这些筹码放在棋盘上,对角线指i+j值相同的,求被占对角线的最少数目

分析:除了第n条对角线只有一条,从1到n-1都有两条

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void sol(){int n,k;cin>>n>>k;ll ans=0;if(k==0){cout<<"0"<<endl;return;}else{k-=n;ans++;if(k<=0){cout<<"1"<<endl;return;}else{for(int i=n-1;i>=1;i--){ans++;k-=i;if(k<=0)break;ans++;k-=i;if(k<=0)break;}}}cout<<ans<<endl;
}
int main(){int t;cin>>t;while(t--)sol();return 0;
}

B1. Bouquet (Easy Version)(前缀和,贪心)

题意:k个花瓣花费k枚硬币,想要花束中任何两朵的花瓣数之差不能超过1.先有m枚硬币。能组合的花瓣总数最多是多少

分析:先将花从小到大放好,遍历花瓣,用k找到符合条件的最小的花瓣数,每次遍历,用前缀和求出两朵花之间的最大值。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void sol(){int n;cin>>n;ll m;cin>>m;ll a[n+10],sum[n+10];for(int i=1;i<=n;i++)cin>>a[i];sort(a+1,a+n+1);for(int i=1;i<=n;i++){sum[i]=sum[i-1]+a[i];}int k=1;ll ans=0;for(int i=1;i<=n;i++){while(a[i]!=a[k]&&a[i]!=a[k]+1){k++;}while(sum[i]-sum[k-1]>m){k++;}ans=max(ans,sum[i]-sum[k-1]);if(ans==m)break;}cout<<ans<<endl;
}
int main(){int t;cin>>t;while(t--)sol();return 0;
}

B2. Bouquet (Hard Version)(贪心,数学)

题意:与b1不同的是每种花瓣都有相应数量,数据大。 分析:判断相邻两个花瓣是否相差1,先买第一束,如果还有省钱就再买第二束,如果两束没有全买,判断第一束的花是否可以与第二束里的花交换,使得答案越大 代码:

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const int N=2e5+10;
struct A{int x;ll y;
}a[N]; 
bool cmp(A xx,A yy){return xx.x<yy.x;
}
void sol(){int n;cin>>n;ll m;cin>>m;for(int i=1;i<=n;i++)cin>>a[i].x;for(int i=1;i<=n;i++)cin>>a[i].y;sort(a+1,a+n+1,cmp);ll ans=0,sum=0;for(int i=1;i<=n;i++){ll d=min(a[i].y,m/a[i].x);sum=a[i].x*d;ans=max(ans,sum);}for(int i=1;i<n;i++){if(a[i+1].x==a[i].x+1){ll t1=min(a[i].y,m/a[i].x);//第一束花的数量ll cm=m-t1*a[i].x;//剩下的钱ll t2=min(a[i+1].y,cm/(a[i+1].x));//第二束花的数量sum=t1*a[i].x+t2*a[i+1].x;ll s=min(m-sum,min(a[i+1].y-t2,t1));ll q=sum+s;ans=max(q,ans);}}cout<<ans<<endl;
}
int main(){int t;cin>>t;while(t--)sol();return 0;
}

C. Squaring(数学)

题意:有一个数组,想让这个数组变成非递减的,可以进行以下操作:ai替换成ai²,至少需要多少次操作 分析:我们可以对ai-1进行负操作,对ai进行正操作,再用前缀和求出操作次数即可。 eg.16 2 4 b1=2 b2=1一共操作3次即可ai=2,ai+1=4时,要算出bi+1操作次数,计算出要ai>ai+1的次数减去即可。 代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
void sol(){int n;cin>>n;int a[n+10];for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<n;i++){if(a[i]>1&&a[i+1]==1){cout<<"-1"<<endl;return;}}vector<ll>b(n,0);ll ans=0;​for(int i=1;i<n;i++){ll h=a[i];ll m=a[i+1];ll op=0;while(h!=1&&h*h<=m){op--,h*=h;}while(m<h){op++,m*=m;}b[i]=max(0ll,b[i-1]+op);}for(int i=1;i<b.size();i++){ans+=b[i];}cout<<ans<<endl;
​
}
int main(){int t;cin>>t;while(t--)sol();return 0;
}

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

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

相关文章

github-page静态网页将字符串写入github库中文本文档

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 问题描述 github-page静态…

kaggleyyds碉堡了6相见恨晚

kaggleyyds碉堡了6相见恨晚https://www.kaggle.com/

Natutre Methods|单细胞+空间转录,值得去复现的开源单细胞分析pipeline

肺癌是全球第二大最常见的癌症&#xff0c;也是癌症相关死亡的主要原因。肿瘤生态系统具有多种免疫细胞类型。尤其是髓系细胞&#xff0c;髓系细胞普遍存在&#xff0c;并且在促进疾病方面发挥着众所周知的作用。该篇通过单细胞和空间转录组学分析了 25 名未经治疗的腺癌和鳞状…

网络模型优化——从参数向量到性能提升的最优化之旅

网络模型优化——从参数向量到性能提升的最优化之旅 网络模型优化的核心作用 组件/步骤描述参数向量网络模型中的可学习部分&#xff0c;决定了模型的输出泛函最优化通过调整参数向量以最小化或最大化某个目标函数的过程目标函数用于评估模型性能的指标&#xff0c;如损失函数…

【初阶数据结构篇】顺序表的实现(赋源码)

文章目录 本篇代码位置顺序表和链表1.线性表2.顺序表2.1 概念与结构2.2分类2.2.1 静态顺序表2.2.2 动态顺序表 2.3 动态顺序表的实现2.3.1动态顺序表的初始化和销毁及打印2.3.2动态顺序表的插入动态顺序表的尾插动态顺序表的头插动态顺序表的在指定位置插入数据 2.3.3动态顺序表…

区块链——hardhat使用

一、引入hardhat yarn add --dev hardhat // 引入验证合约的插件 yarn add --dev nomicfoundation/hardhat-verify 二、创建hardhat项目 yarn hardhat 三、编写我们的合约 四、编译我们的合约 yarn hardhat compile 五、编写脚本部署合约以及验证合约 // 获取hardhat环境对象 c…

openstack——11道练习题创建云主机篇

查看主机 sudo virsh list --all sudo virsh snapshot-list compute-cs8 sudo virsh snapshot-revert compute-cs8 init3 ssh root172.24.1.xx source /root/keystonerc_admin 1、在 OpenStack 云平台创建名为 project12-xxxx 的项目&#xff0c;并查询项目列表信息。&#xff…

Python操作Redis指南

文本主要介绍使用Python中的redis-py库来操作Redis数据库&#xff0c;包括安装必要的包、建立和关闭连接、执行增删改查操作以及处理可能的异常。这些操作将在Python应用程序中与Redis数据库进行有效的交互。 一. 简介和包的安装 Redis是一种开源的内存数据结构存储&#xff…

Postman实战:API幂等性测试全解析与实践技巧

Postman实战&#xff1a;API幂等性测试全解析与实践技巧 在API开发和测试中&#xff0c;幂等性是一个重要的概念。一个幂等的API意味着对同一请求重复执行多次的结果与执行一次相同。这在处理用户操作、数据同步和网络请求时尤为重要。本文将详细介绍如何在Postman中实现API的…

Jmeter混合压测(2407)

一 压测需求&#xff1a; 电商作为服务端&#xff0c;至少需要满足并发量,QPS:100/s,TPS:20/s。例如场景&#xff1a; 电商交易中&#xff0c;商品图片请求量最多&#xff0c;电商服务端需要满足并发请求查询图片信息。各家可能会并发请求同一家电商商品、订单等内容。 二 压…

代码随想录算法训练营day7 | 454.四数相加II、383.赎金信、15.三数之和、18.四数之和

文章目录 454.四数相加II思路 383.赎金信思路 15.三数之和思路剪枝去重 18.四数之和思路剪枝去重复习&#xff1a;C中的类型转换方法 总结 今天是哈希表专题的第二天 废话不多说&#xff0c;直接上题目 454.四数相加II 建议&#xff1a;本题是 使用map 巧妙解决的问题&#x…

jQuery入门(二)jQuery选择器

JQuery选择器 选择器&#xff1a;类似于 CSS 的选择器&#xff0c;可以帮助我们获取元素。例如&#xff1a;id 选择器、类选择器、元素选择器、属性选择器等等。 jQuery 中选择器的语法&#xff1a;$(); 一、jQuery的选择器 &#xff08;一&#xff09;基本选择器 1.元素选择器…

HarmonyOS(45) 控件拖动或者拖拽PanGesture

PanGesture实现控件拖动的效果&#xff0c;通过拖动的坐标位置调用position或者translate方法来更新UI的位置。效果见下图&#xff1a; 具体代码如下&#xff1a; // xxx.ets Entry Component struct PanGestureExample {State offsetX: number 0State offsetY: number 0pos…

【AI学习指南】轻量级模型-用 Ollama 轻松玩转本地大模型

目录 探索 最小的AI模型 发现 其他轻量级模型 用 Ollama 轻松玩转本地大模型 本地大模型 Ollama 快速上手 安装 手动安装 下载ollama二进制文件 添加 Ollama 作为启动服务(推荐) 安装 CUDA 驱动程序(可选 - 适用于 Nvidia GPU) 安装 ROCm(可选 - 对于 Radeo…

Typesript的type和interface的异同?

详解TypeScript中type与interface的区别_javascript技巧_脚本之家 一、相同的地方 1、都可以用来定义对象&#xff0c;描述函数 我们在用typescript开发的时候经常要用到数据类型定义&#xff0c;比如我们写一个接口或者函数的时候定义传参数据类型及字段等。这样子方便知道这…

代码随想录day21 二叉树最后一天 || 669修剪二叉树 108将有序数组转变为平衡搜索二叉树 538把搜索二叉树变为累加二叉树

669修剪二叉树 力扣题目链接 题目描述&#xff1a; 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果…

K8s 核心组件——API Server

1. Kubernetes API Server 概述 1.1 基本概念 Kubernetes API Server&#xff08;API Server&#xff09;是 Kubernetes 的核心组件之一&#xff0c;负责暴露 Kubernetes API 给用户和客户端&#xff0c;接收和处理来自客户端的请求&#xff0c;并将其存储到 etcd 中。Kubern…

花几千上万学习Java,真没必要!(三十一)

集合&#xff1a; 1、数组的特性&#xff1a; 2、ArrayList&#xff08;动态数组&#xff09;&#xff1a; 测试代码1&#xff1a; package listtest.com; import java.util.ArrayList; import java.util.List; public class HashCodesArrayList { public static void ma…

.NET MAUI:跨平台开发的未来

常用资源 &#xff08;1&#xff09;.NET MAUI8构建应用文档。 Build your first .NET MAUI app - .NET MAUI | Microsoft Learn 一、什么是 .NET MAUI&#xff1f; .NET Multi-platform App UI (.NET MAUI) 是微软推出的一款跨平台开发框架。作为 Xamarin.Forms 的下一代产…

深入分析 Android ContentProvider (六)

文章目录 深入分析 Android ContentProvider (六)ContentProvider 的性能优化和实践案例&#xff08;续&#xff09;1. 性能优化技巧&#xff08;续&#xff09;1.6. 使用批量插入优化性能示例&#xff1a;批量插入实现 1.7. 使用 Projections 优化查询示例&#xff1a;使用 Pr…