每日一题~961div2A+B+C(阅读题,思维,数学log)
A
题意:给你 n*n 的表格和k 个筹码。每个格子上至多放一个
问至少占据多少对角线。
显然,要先 格数的多的格子去放。
n n-1 n-2 …1 只有n 的是一个(主对角线),其他的是两个。
#include <bits/stdc++.h>
using namespace std;void solve()
{int n,k;cin>>n>>k;if (k==0){cout<<0<<"\n";return ;}k-=n;if (k<=0){cout<<1<<"\n";return ;}int cnt=1;for (int i=n-1;i>=1;i--){k-=i;cnt++;if (k<=0){cout<<cnt<<"\n";return ;}k-=i;cnt++;if (k<=0){cout<<cnt<<"\n";return ;}}
}
int main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t; t=1;cin>>t;while(t--){solve();}return 0;
}
B
题意:
n 中花,每中花有花瓣数。
a1 a2 …an
这朵花的花费也是花瓣数,
选择的花中,花瓣数像相差不能超过1.
有m 个金钱。
问最多花销是多少。
思路:
我们直接用map<int,int>cnt 统计每种花瓣数量的 个数。我们最多选择两种花瓣数。
枚举每一种一种花瓣数,去迭代答案。
对于 t t+1。其实我们尽可能的让 t的花销加上 t+ 1的花销 逼近m。
我们可以先固定一个。
我们先尽可能的 选 t 。
能选出来的个数 是 int k=min(cnt[t],m/t)
之后剩下的钱是 lef=m-k*t;
这些钱里 能选出来 t+ 1 的个数 是 int k1=min(cnt[t+1],lef/(t+1))
之后 再剩下的钱 ,可以用 t+1 替换t 。这样可以增加1的花销。
最大限度的替换 次数 是 t 的可以选出来的个数,剩下的钱,t+1选完之后剩下的个数取最小值。
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{int n,m; cin>>n>>m;map<int,int>cnt;int t;for(int i=0;i<n;i++){cin>>t;cnt[t]++;}int ans=0;for (auto x:cnt){t=0;int u=x.first;int v=u+1;if (cnt.count(v)){//最多能 买 前者的数量。int k=min(cnt[u],m/u);t+=u*k;int res=m-u*k;// 计算买 后者的数量int k1=min(cnt[v],res/v);t+=k1*v;//替换产生的收益int tt=m-t;t+=min(k,min(tt,cnt[v]-k1));}else {int k=min(cnt[u],m/u);t+=u*k;}ans=max(ans,t);}cout<<ans<<"\n";return;
}
signed main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t;cin>>t;while(t--){solve();}return 0;
}
C
题意:
n
n 个数,a1,a2,a3,a4 …an
可以进行的操作:对每个数 进行平方,使得最终的数组非降。
问最少的操作数。
最暴力的做法,就是 扫一遍数组,如果后面的小于前面的,那么就一直做平方的操作。
但是这么写的话,会导致超long long.毕竟范围是1e6 ,如果几个1e6 连在一起,那么1e6 1e12 1e24.况且一直这样平方很有可能超时。
所以我们可以考虑 取 log的操作。
对于这种题,应该好好弄明白操作的,我当时没弄太懂就去写了。
搞不清楚 次幂的 数值了。越写越糊涂qaq。
后面的式子,向上取整。
注意一下精度的问题。
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{int n;cin>>n;vector<double>a(n,0);for (int i=0;i<n;i++)cin>>a[i];double lst=0,ans=0;for (int i=1;i<n;i++){if (a[i-1]==1)continue;int j=(int)(floor(log2(log(a[i])/log(a[i-1]))));if (j>=lst){lst=0;continue;}if (a[i]==1){cout<<-1<<"\n";return;}int k=ceil(lst-log2(log(a[i])/log(a[i-1])));ans+=k;lst=k;}cout<<(int)ans<<"\n";
}
signed main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t; //t=1;cin>>t;while(t--){solve();}return 0;
}
感觉div2 前面的题面
,很喜欢定义一些东西,问达到一定的目标的最少操作数,感觉这些题,主要还是理解定义,能明白本质。然后要关注一下特殊的位置。对于一些多解的问题,肯定是有一种简单的通解。这些问题看样例用处不大。一般样例的结果不具有普遍性。
多举点例子。好好思考
对于位运算的题,以按位去思考(我在说什么废话,位运算不按位思考,还能怎么思考)很多时候,都和贡献联系起来。
对于一些明显的数学题,往 gcd lowbit 上面去靠。猜猜~~
一定要记得 算贡献的方法~~
多说无益,做题为上~
相关文章:

每日一题~961div2A+B+C(阅读题,思维,数学log)
A 题意:给你 n*n 的表格和k 个筹码。每个格子上至多放一个 问至少占据多少对角线。 显然,要先 格数的多的格子去放。 n n-1 n-2 …1 只有n 的是一个(主对角线),其他的是两个。 #include <bits/stdc.h> using na…...
Fireflyrk3288 ubuntu18.04添加Qt开发环境、安装mysql-server
1、创建一台同版本的ubuntu18.04的虚拟机 2、下载rk3288_ubuntu_18.04_armhf_ext4_v2.04_20201125-1538_DESKTOP.img 3、创建空img镜像容器 dd if/dev/zero ofubuntu_rootfs.img bs1M count102404、将该容器格式化成ext4文件系统 mkfs.ext4 ubuntu_rootfs.img5、将该镜像文件…...
简化mybatis @Select IN条件的编写
最近从JPA切换到Mybatis,使用无XML配置,Select注解直接写到interface上,发现IN条件的编写相当麻烦。 一般得写成这样: Select({"<script>","SELECT *", "FROM blog","WHERE id IN&quo…...
Windows图形界面(GUI)-MFC-C/C++ - Control
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 Control 资源编辑器 添加控件 设置控件属性 添加控件变量 添加消息处理 处理控件事件 控件焦点顺序 Control 资源编辑器 资源编辑器:用于可视化地编辑对话框和控件。…...
SQL Server数据库安全:策略制定与实践指南
SQL Server数据库安全:策略制定与实践指南 在当今数字化时代,数据安全是每个组织的核心关注点。SQL Server作为广泛使用的关系型数据库管理系统,提供了一套强大的安全特性来保护存储的数据。制定有效的数据库安全策略是确保数据完整性、可用…...

Spring Boot入门指南:留言板
一.留言板 1.输⼊留⾔信息,点击提交.后端把数据存储起来. 2.⻚⾯展⽰输⼊的表⽩墙的信息 规范: 1.写一个类MessageInfo对象,添加构造方法 虽然有快捷键,但是还是不够偷懒 项目添加Lombok。 Lombok是⼀个Java⼯具库,通过添加注…...
Docker 中安装和配置带用户名和密码保护的 Elasticsearch
在 Docker 中安装和配置带用户名和密码保护的 Elasticsearch 需要以下步骤。Elasticsearch 的安全功能(包括基本身份验证)在默认情况下是启用的,但在某些版本中可能需要手动配置。以下是详细步骤,包括如何设置用户名和密码。 1. …...
面试官:说说JVM内存调优及内存结构
1. JVM简介 JVM(Java虚拟机)是运行Java程序的平台,它使得Java能够跨平台运行。JVM负责内存的自动分配和回收,减轻了程序员的负担。 2. JVM内存结构 运行时数据区是JVM中最重要的部分,包含多个内存区域: …...

Ansible的脚本-----playbook剧本【下】
目录 实战演练六:tags 模块 实战演练七:Templates 模块 实战演练六:tags 模块 可以在一个playbook中为某个或某些任务定义“标签”,在执行此playbook时通过ansible-playbook命令使用--tags选项能实现仅运行指定的tasks。 playboo…...

Mysql开启远程控制简化版,亲测有效
首先关闭防火墙 改表法 打开上图的CMD,输入密码进入,然后输入一下指令 1.use mysql; 2.update user set host % where user root;//更新root用户的权限,允许任何主机连接 3.FLUSH PRIVILEGES;//刷新权限,使更改生效 具体参考…...
【MQTT协议与IoT通信】MQTT协议的使用和管理
MQTT协议与IoT通信:MQTT协议的使用和管理 目录 引言MQTT协议概述 什么是MQTTMQTT的工作原理 MQTT协议的关键特性 轻量级与高效性发布/订阅模式质量服务等级(QoS)持久会话安全性 MQTT协议的使用方法 设置MQTT Broker连接MQTT Client发布消息订阅主题断开连接 MQTT协…...

根据题意写出完整的css,html和js代码【购物车模块页面及功能实现】
🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…...
AWS免费层之后:了解和管理您的云服务成本
Amazon Web Services (AWS) 为新用户提供了12个月的免费层服务,这是许多人开始使用云服务的绝佳方式。但是,当这一年结束后,您的AWS使用会如何变化?我们九河云通过本文将探讨免费层结束后的AWS成本情况,以及如何有效管…...
Linux定时同步系统时间到硬件时间
Linux定时同步系统时间到硬件时间 1. 系统时间、软件时间 系统时间 (System Time): 一般说来就是我们执行 date命令看到的时间,linux系统下所有的时间调 用(除了直接访问硬件时间的命令)都是使用的这个时…...

网络编程——wireshark抓包、tcp粘包
目录 一、前言 1.1 什么是粘包 1.2 为什么UDP不会粘包 二、编写程序 文件树 客户端程序 服务器程序 tcp程序 头文件 makefile 三、 实验现象 四、改进实验 五、小作业 一、前言 最近在做网络芯片的驱动,验证功能的时候需要借助wireshark这个工具&…...

el-table合计行更新问题
说明:在使用el-table自带的底部合计功能时,初始界面不会显示合计内容 解决方案:使用 doLayout()方法 updated() {this.$nextTick(() > {this.$refs[inventorySumTable].doLayout();});},完整代码: // show-summary:…...

ChatGPT:数据库不符合第二范式示例
ChatGPT:数据库不符合第二范式示例 这张图片为什么不符合数据库第二范式 这个表格不符合数据库第二范式(2NF)的原因如下: 1. 数据库第二范式(2NF)定义 第二范式要求一个数据库表格在满足第一范式…...

27、美国国家冰雪中心(NSIDC)海冰密集度月数据下载与处理
文章目录 一、前言二、数据下载三、使用Ponply查看数据结构四、代码一、前言 处理美国国家冰雪中心(NSIDC)的海冰密集度月度数据时,坐标转换是一个重要的步骤。NSIDC提供的数据通常采用极地球面坐标系,需要将其转换为常用的地理坐标系(如经纬度)以便进行分析和可视化。 坐…...

vite环境下使用bootstrap
环境 nodejs 18 pnpm 初始化 pnpm init pnpm add -D vite --registry http://registry.npm.taobao.org pnpm add bootstrap popperjs/core --registry http://registry.npm.taobao.org pnpm add -D sass --registry http://registry.npm.taobao.org新建vite.config.js cons…...
Laravel视图渲染封装
第一种 app/Helpers/ViewHelper.php 创建一个辅助函数,用于动态确定视图路径: <?php if (!function_exists(fetchView)) {function fetchView($data []){$currentAction \Route::currentRouteAction();list($controller, $method) explode(, $c…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...