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

CF 训练2

688 div2 C Balanced Bitstring

思路:首先对于区间问题 , 我们可以先思考让它滑动滑动。对于[l,r],向后滑动一位后 ,[l+1 , r+1],因为两次的区间中 , [l+1 ,r]中所有数都是相同的 , 所以 可以得到s[l] = s[r+1] , 那么再向后滑动 , 就有 l+1 = r+2 , 一次类推 , 在1 ~ k中 , 每个数每次 +k , s[x] = s[x+k]的。那么我们就可以对于每个k的区间来进行处理 , 观察它们是否相同。但是对于 ? 的话 ,我们可以先不管他,最后看
1和0的个数是否都 <= k/2 就行了

void solve(){cin>>n>>k;string s;cin>>s;s = '#' + s;for(int i =1;i<=k;++i)str[i] = 0;for(int i=1;i<=k;++i){for(int j =i;j<=n;j +=k){if(s[j] == '?')continue;if(str[i] == 0)str[i] = s[j];else if(str[i] != s[j]){cout<<"NO"<<endl;return;}}}int cnt1 = 0 , cnt0 = 0;for(int i =1;i<=k;++i){if(str[i] == '1')cnt1++;else if(str[i] == '0')cnt0++;}if(cnt1 <=k/2 && cnt0 <= k/2){cout<<"YES"<<endl;return;}cout<<"NO"<<endl;
}

688 div2 D Tree Tag

思路:首先如果一开始 a和b的距离小于 da , 那么爱丽丝赢 。 如果b被追到了死角 , 那么必须db > 2*da 。 最后需要树有一段很长的距离,足够b来躲掉a,也就是树的直径 > 2a,bob才有可能赢

void dfs(int u , int fa){ for(auto to : g[u]){if(vis[to] || to == fa)continue;dis[to] = dis[u] + 1;vis[to] = 1;dfs(to , u);}
}void solve(){cin>>n>>a>>b>>da>>db;for(int i =1;i<=n;++i)g[i].clear();for(int i =1;i<n;++i){int u ,v;cin>>u>>v;g[u].push_back(v);g[v].push_back(u); }for(int i =1;i<=n;++i)vis[i] = 0 , dis[i] =  0;dis[a] = 0;dfs(a , 0);if(dis[b] <= da){cout<<"Alice"<<endl;return;}int ma = -1 , Q = 0;for(int i =1;i<=n;++i){if(dis[i] > ma)ma = dis[i] , Q =i;}for(int i =1;i<=n;++i)vis[i] = 0 , dis[i] =  0;dfs(Q , 0);ma = -1;for(int i =1;i<=n;++i){if(dis[i] > ma)ma = dis[i];}if(2 * da >= db){cout<<"Alice"<<endl;return;}cout<<"Bob"<<endl;}

962 div3 E Decode

思路 :还是区间01的问题 , 我们可以把0当作-1 , 1当作 1,如果区间中0和1的数量相等 , 那么就说明区间和为 0 ,对于一个区间为0的区间,我们思考它对答案的贡献。

假设区间为[l,r]的这样一段区间,它对答案的贡献是多少 , 首先左边的贡献是 l , 右边的贡献是 n-r+1 , 根据乘法原理 , 贡献为l*(n-r+1)。 

如何找区间 ,根据前缀和思想 , pre[r] - pre[l-1] = 0 -> pre[l-1] = pre[r]。那么接下来,可以用一个map进行优化 , 时间复杂度就应该是 Onlogn

void solve(){cin>>s;int n = s.size();s = '#' + s;for(int i =1;i<=n;++i)pre[i] = pre[i-1] + (s[i]=='1' ?1 : -1 );map<int,int>mp;int ans = 0;mp[0] =1;for(int i =1;i<=n;++i){ans +=(mp[pre[i]])*(n-i+1);mp[pre[i]] += (i+1); mp[pre[i]]%= mod;ans %= mod;}cout<<ans<<endl;
}

962 div3 F Bomb

思路: 观察到数据非常大 , k 是1e9 , 那么k次的优先队列询问肯定是不行了。这题其实是个很典的题,我们可以二分出来最后每个数的最大值,也就是说,每个数最后肯定会减到 那个最大值或者大于最大值。
那么对于如何二分,我们思考到 , 二分出来的x 越大 ,我们所需要减少的次数cnt 就越少,cnt <= k的话,x就有一个最小值 , 所以是在分界线的右边  ,当我们的cnt >= k 的话就需要 l  = mid , 否则
r = mid -1;
对于每个数可以用掉的次数为 cnt = (ai - x) / bi + 1,那么构成一个等差数列,其中的和也很容易算出来。

还有一个细节就是最后我们用掉的次数可能小于k ,那么多出来的这几次 直接×二分出来的x即可

void solve(){cin>>n>>k;for(int i =1;i<=n;++i)cin>>a[i];for(int i =1;i<=n;++i)cin>>b[i];auto check =[&](int x){int cnt = 0;for(int i =1;i<=n;++i){if(a[i] >= x){cnt += (a[i]-x)/b[i] + 1;}}return cnt >= k;};int l=0 ,r = 2e10;while(l < r){int mid = (l+r+1)>>1;if(check(mid))l =mid;else r = mid -1;}int cnt = 0;int sum = 0;for(int i= 1;i<=n;++i){if(a[i] >= l){int m =(a[i]-l)/b[i] + 1;sum += a[i]*m - m*(m-1)*b[i]/2;cnt += m;}}cout<<sum + l*(k - cnt)<<endl;
}

很细节的一道题 , 多多思考🤔。

相关文章:

CF 训练2

688 div2 C Balanced Bitstring 思路&#xff1a;首先对于区间问题 &#xff0c; 我们可以先思考让它滑动滑动。对于[l,r],向后滑动一位后 &#xff0c;[l1 , r1],因为两次的区间中 &#xff0c; [l1 ,r]中所有数都是相同的 &#xff0c; 所以 可以得到s[l] s[r1] &#xff0…...

内网隧道学习笔记

1.基础&#xff1a; 一、端口转发和端口映射 1.端口转发是把一个端口的流量转发到另一个端口 2.端口映射是把一个端口映射到另一个端口上 二、http代理和socks代理 1.http带那里用http协议、主要工作在应用层&#xff0c;主要用来代理浏览网页。 2.socks代理用的是socks协议、…...

Umi-OCR:功能强大且易于使用的本地照片识别软件

Umi-OCR是一款开源且免费的离线OCR&#xff08;光学字符识别&#xff09;软件&#xff0c;可让您轻松从照片中提取文本。它支持多种语言&#xff0c;并具有许多其他功能使其成为照片识别任务的绝佳选择。 Umi-OCR的优势 离线操作&#xff1a; Umi-OCR无需互联网连接即可工作&…...

HarmonyOS开发商城商品详情-底部导航

目录 一:功能概述 二:代码实现 三:效果图 一:功能概述 上一节我们实现了商品详情页基础信息展示,这一节主要实现底部立即购买和加入购物车的功能。首先我们需要在底部创建两个按钮,这两个按钮固定字底部,不随页面滚动。点击添加购物车按钮,会出现一个对话框,显示商…...

C语言 ——— 学习、使用 strcat函数 并模拟实现

目录 学习strcat函数​编辑 使用strcat函数​编辑 模拟实现strcat函数 学习strcat函数 strcat函数所需要的头文件&#xff1a; #include<string.h> strcat函数的参数解析&#xff1a; 将 source 字符串追加到 destination 字符串。destination 中的字符串结束标志…...

视频超压缩保持质量 ffmpeg

参考&#xff1a; https://x.com/mortenjust/status/1817991110544744764 基于 FFMpeg 的 H264 压缩标准&#xff0c;实现压缩 90% 的视频大小 在线体验地址&#xff1a; https://tools.rotato.app/compress ffmpeg命令执行 ffmpeg -i "C:\Users\loong\Downloads\屏幕录…...

大型语言模型入门

大型语言模型ChatGPT 快速、全面了解大型语言模型。学习李宏毅课程笔记。 ChatGPT 目前由OpenAI公司发明的非常火的人工智能AI应用ChatGPT&#xff0c;到底是什么原理呢&#xff1f; G&#xff1a;Generative(生成) P&#xff1a;Pre-trained(预训练) T&#xff1a;Transform…...

canvas-视频绘制

通过Canvas元素来实时绘制一个视频帧&#xff0c;并在视频帧上叠加一个图片的功能可以当作水印。 获取Canvas元素&#xff1a; let canvas document.getElementById(canvas) 通过getElementById函数获取页面中ID为canvas的Canvas元素&#xff0c;并将其存储在变量canvas中。 …...

红酒与美食搭配:味觉的新探索

在美食的世界里&#xff0c;红酒如同一位优雅的舞者&#xff0c;与各种佳肴共舞&#xff0c;创造出无尽的味觉惊喜。当定制红酒洒派红酒&#xff08;Bold & Generous&#xff09;与各式美食相遇&#xff0c;便开启了一场味觉的新探索之旅。 一、红酒与美食的邂逅&#xff…...

大模型日报 2024-08-02

大模型日报 2024-08-02 大模型资讯 博思艾伦在国际空间站部署先进语言模型 摘要: 博思艾伦在国际空间站上的超级计算机上运行了一种生成式人工智能大型语言模型。这一举措标志着语言模型在太空应用方面的重大进展。 人工智能助力研发安全有效的新型抗生素对抗耐药细菌 摘要: 德…...

【Pytorch】一文向您详细介绍 torch.sign()

&#x1f389;&#x1f9e0;**【Pytorch】一文向您详细介绍 torch.sign()** 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff…...

超级详细,如何手动安装python第三方库?

文章目录 1&#xff0c;python第三方库安装包有3种类型2&#xff0c;python第三方库安装包whl文件如何安装&#xff1f;3&#xff0c;python第三方库安装包zip和tar.gz文件如何安装&#xff1f;4&#xff0c; python第三方库安装包exe文件如何安装&#xff1f; 手动安装第三方库…...

WebSocket协议测试

WebSocket和HTTP接口有什么不一样 websocket和http都是网络接口数据交换的协议。都是基于TCP 协议区别 http&#xff1a;每次数据交互都是一个全新的请求&#xff1b;主动发起http请求调用(非实时) websocket:建立长久网络连接&#xff0c;服务器/客户端可以相互主动发数据…...

浅谈【C#】代码注册COM组件

在C#中注册COM组件通常涉及到使用regasm工具或者在代码中使用System.Runtime.InteropServices命名空间下的RegisterTypeForComClients方法。 下面是两种方法的简要说明和示例&#xff1a; 1、使用 regasm 工具 regasm 是一个命令行工具&#xff0c;用于将.NET程序集注册为CO…...

C++数据结构学习(顺序表)

文章目录 顺序表杭州电子科技大学在线评测2008 数值统计使用顺序表实现 2014 青年歌手大奖赛_评委会打分 Leetcode题目[LCP 01. 猜数字](https://leetcode.cn/problems/guess-numbers/description/)[LCP 06. 拿硬币](https://leetcode.cn/problems/na-ying-bi/description/)[20…...

springboot宠物用品商城系统-前端-计算机毕业设计源码74346

摘要 基于微信小程序的宠物用品商城系统是一个集商品展示、在线购物、支付结算、用户管理等功能于一体的综合性电商平台。该系统充分利用微信小程序的便捷性和用户基础&#xff0c;为宠物爱好者提供了一个方便、快捷的购物体验。 同时&#xff0c;该系统还具备完善的用户管理功…...

【vue预览PDF文件的几种方法】

vue展示PDF文件的几种方法 使用Vue插件 你需要安装vue-pdf-embed: npm install vue-pdf-embed<template><div class"pdf-container"><VuePdfEmbed :src"pdfUrl" /></div> </template><script setup lang"ts"…...

学习安卓开发遇到的问题(未解决版,有没有人帮我看看,大哭,感谢)

问题1&#xff1a;学习禁用与恢复按钮中&#xff1a; java代码报错&#xff1a;报错代码是 R.id.btn_enable;case R.id.btn_disable;case R.id.btn_test: 代码如下&#xff1a;&#xff08;实现功能在代码后面&#xff09; package com.example.apptest;import static java.…...

C++必修:STL之vector的模拟实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 为了让我们更加深入理解vector&#xff0c;接下来我们将模拟实现一个简易版的vect…...

Unity Camera

课程目标 1. 了解摄像机&#xff08;camera&#xff09;不同视角的设计与实现&#xff1b;2. 感受在不同摄像机视角下观察虚拟场景。 喜欢玩游戏或者看3D动漫的朋友可以回忆在虚拟场景中摄像头的运动变化带来的视觉感受&#xff0c;例如&#xff1a;摄像头给场景中的主角来个…...

CSS雷达光波效果(前端雷达光波效果)

前言 CSS雷达光波效果是一种视觉动画效果&#xff0c;常用于模仿雷达扫描或检测的视觉反馈。这种效果通常涉及到动态的圆形或弧形图案&#xff0c;它们从一个中心点向外扩散&#xff0c;类似于水面上的涟漪或雷达扫描线。以下是创建CSS雷达光波效果的一些关键技术和步骤&#…...

【C语言】【数据结构】冒泡排序及优化

一、算法思想 冒泡排序是一种简单的排序算法。一次从前往后地走访待排序的元素序列被称为一趟&#xff0c;每一趟都会把相邻的两个元素的错误顺序交换&#xff0c;将当前趟次中最大或者最小的元素像“冒泡泡”一样冒到最后面&#xff0c;反复地走访元素序列&#xff0c;直到所有…...

3种 Ajax 方式:原生、jQuery、axios

毋庸多言&#xff0c;Ajax 技术在网页中是划时代的进步。学会它&#xff0c;可以说掌握了一招半式&#xff0c;不再是门外汉了。 这里将 3 种 Ajax 方式一并呈上。 感谢 https://run.uv.cc/ 平台&#xff0c;以及 /api 接口 https://andi.cn/page/621639.html https://andi…...

Node.js 根据表结构动态生成目标代码

文章目录 前言项目背景使用的技术栈步骤一&#xff1a;设置 Node.js 项目步骤二&#xff1a;连接 SQL Server 数据库步骤三&#xff1a;查询数据库表结构步骤四&#xff1a;生成模板代码步骤五&#xff1a;整合所有功能总结 前言 在现代的前端开发中&#xff0c;使用 Vue3 搭配…...

渗透测试实战—云渗透(AK/SK泄露)

免责声明&#xff1a;文章来源于真实渗透测试&#xff0c;已获得授权&#xff0c;且关键信息已经打码处理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本…...

【机器学习】机器学习与医疗健康在疾病预测中的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在医疗健康中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 特征工程 1.2 模型选择1.2.1 逻辑回归1.2.2 决策树1.2.3 随机森林1.2.4 支持向量机1.2.5 神经网络 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化…...

MySQL(8.0)数据库安装和初始化以及管理

1.MySQL下载安装和初始化 1.下载安装包 下载地址&#xff1a;https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 2.解压…...

C# Web控件与数据感应之 TreeView 类

目录 关于 TreeView 一些区别 准备数据源 范例运行环境 一些实用方法 获取数据进行呈现 ​根据ID设置节点 获取所有结点的索引 小结 关于 TreeView 数据感应也即数据捆绑&#xff0c;是一种动态的&#xff0c;Web控件与数据源之间的交互&#xff0c;本文将继续介绍与…...

java使用责任链模式进行优化代码

1.什么是责任链 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为设计模式&#xff0c;它允许多个对象有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。每个收到请求的对象要么处理该请求&#xff0c;要么将它传递给链中…...

【人工智能】边缘计算与 AI:实时智能的未来

&#x1f48e; 我的主页&#xff1a;2的n次方_ &#x1f48e;1. 引言 随着物联网设备数量的爆炸性增长和对实时处理需求的增加&#xff0c;边缘计算与人工智能&#xff08;Edge AI&#xff09;成为一个热门话题。Edge AI 通过在本地设备上运行 AI 算法&#xff0c;减少对云计…...

wordpress4.9教学/江苏免费关键词排名外包

iOS-navigation中左滑pop的三种方法 系统自带pop方法 假设我们没有对navigation中的backbutton进行自己定义&#xff0c;我们能够直接使用系统自带的左滑pop方法。可是假设我们对backbutton&#xff0c;进行了自己定义。我们就要对self.navigationController.interactivePopGes…...

wordpress上传录音/所有关键词

CAD审图标记最新版是一款功能强大的cad审图软件。CAD审图标记免费版将图片中的细节进行重点标注,轻松帮助CAD制图人员进行修改。使用CAD审图标记最新版大大提高工作效率,SmartMark是一款免费cad审图软件,软件能够帮助用户在审图的过程中,标注下自己的审图意见,方便用户在下次修…...

罗湖外贸网站建设/百度打广告怎么收费

最近做了一系列的单元测试相关的工作&#xff0c;除了各种规范及测试框架以外&#xff0c;讨论比较多的就是关于代码覆盖率的产生&#xff0c;c/c与其他的一些高级语言或者脚本语言相比较而言&#xff0c;例如 Java、.Net和php/python/perl/shell等&#xff0c;由于没有这些高级…...

汕头网站安全开发系统/网站怎么优化关键词

有时候需要判断文件或者文件夹是否存在&#xff0c;VB下使用dir函数 或者 使用FSO对象的object.FileExists(filespec) 方法 。 Public Function CheckName(ByVal tempName As String, Optional IsFolder As Boolean False) As Boolean#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#…...

会做网站的公司/2345网址导航智能主板

工具 window10 django2.2.2 mysql5.6 django默认使用mysqlclient连接mysql&#xff0c;但是在window下直接安装mysqlclient不容易成功&#xff0c;可以使用pymysql 代替。 但使用如下方式报错&#xff1a; #settings.py import pymysql pymysql.intall_as_MySQLdb()django 3.…...

网站开发所得税/爱战网官网

题目链接 链接&#xff1a;https://leetcode.com/problems/max-sum-of-rectangle-no-larger-than-k/description/ 题解&代码 1、暴力枚举所有的情况&#xff0c;时间复杂度O(n^2*m^2)&#xff0c;实际耗时759 ms class Solution { public:int maxSumSubmatrix(vector<ve…...