Leetcode---363周赛
题目列表
2859. 计算 K 置位下标对应元素的和
2860. 让所有学生保持开心的分组方法数
2861. 最大合金数
2862. 完全子集的最大元素和
一、计算k置为下标对应元素的和
简单题,直接暴力模拟,代码如下
class Solution {
public:int sumIndicesWithKSetBits(vector<int>& nums, int k) {int ans=0;for(int i=0;i<nums.size();i++){if(__builtin_popcount(i)==k)//库函数,计算二进制表示中1的个数ans+=nums[i];}return ans;}
};//如果不知道上面的库函数,也可以自己写个函数计算一下,如下
bool GetCount(int i)
{int cnt=0;while(i){cnt++;i&=(i-1);}return cnt==k;
}
二、让所有学生保持开心的分组方法数
这题首先要把题意理解清楚,题目要看对,首先我们明确一共有nums.size()+1种可能的方案,即选中的学生人数为0~nums.size()之间的某个数,我们再来看一眼需要满足的条件,严格大于,严格小于 ,有点二分的意思在里面(需要排序),然后我们再来具体研究一下这两个条件,本质就是让被选中的学生的nums尽可能小,没被选中的学生的nums尽可能大,如果我们将数组排序,那么这两个条件的判断不就简简单单了吗?在看一眼答案的数据范围,直接暴搜,注意边界条件,代码如下
class Solution {
public:int countWays(vector<int>& nums) {sort(nums.begin(),nums.end());// 1是所有人都被选上的情况(数据范围保证判定条件一定成立)// nums[0]>0判断的是一个都不选的情况int ans=1+(nums[0]>0);for(int i=1;i<nums.size();i++){//枚举选中的人数ans+=(nums[i-1]<i&&nums[i]>i);}return ans;}
};
三、最大合金数
很多人看这道题的数据这么多,就不想做了,但是我们先不要急,先耐着性子看看题目,说必定有反转呢?结果看到了倒数最第二句话,直接思路就清晰了,那这还有啥好说的,直接暴力枚举每种机器能制造的最大合金数,然后取最大值,当然还是不能太暴力,这里要用二分,否则会超时,那么为什么能用二分呢?
能不能用二分主要还是看是否具备二段性,如果合金数>该机器所能制造的最大和金属,那么剩余的budget<0,如果如果合金数<该机器所能制造的最大和金属,那么剩余的budget>=0,很显然满足二段性。然后我们在考虑一下二分的上下界,相信找上下界大家都会,这里就不多讲了
代码如下
class Solution {
public:int maxNumberOfAlloys(int n, int k, int budget, vector<vector<int>>& composition, vector<int>& stock, vector<int>& cost) {int ans=0;int mx=*min_element(stock.begin(),stock.end())+budget;for(int i=0;i<k;i++){int left=1,right=mx;while(left<=right){int mid=left+(right-left)/2;long long s=budget;//这里用long long 防止溢出for(int j=0;j<n;j++){long long x=1LL*composition[i][j]*mid;s-=(x>stock[j]?x-stock[j]:0)*cost[j];if(s<0){right=mid-1;break;}}if(s>=0) left=mid+1;}ans=max(ans,right);}return ans;}
};
四、完全子集的最大元素和
这题主要考验数学,和你发现规律的能力,是个思维题,代码不是很难。这题的关键就在于这个完全集,本质也就是两个数的乘积为完全平方数,那么两个数满足什么条件,才能让它们的乘积为完全平方数呢?
代码如下
class Solution {
public:long long maximumSum(vector<int>& nums) {function<int(int)>f=[&](int x)->int{//用来计算每个数字的iint res=1;for(int i=2;i<=sqrt(x);i++){int cnt=0;while(x%i==0){cnt++;x/=i;}if(cnt%2) res*=i;}if(x>1) res*=x;return res;};int n=nums.size();long long s[n+1];memset(s,0,sizeof(s));for(int i=1;i<=n;i++){s[f(i)]+=(long long)nums[i-1];}return *max_element(s,s+n+1);}
};//或者直接算出每组的和
class Solution {
public:long long maximumSum(vector<int>& nums) {long long ans=0;int n=nums.size();for(int i=1;i<=n;i++){long long s=0;for(int j=1;j<=sqrt(n/i);j++){s+=nums[i*j*j-1];}ans=max(ans,s);}return ans;}
};
相关文章:

Leetcode---363周赛
题目列表 2859. 计算 K 置位下标对应元素的和 2860. 让所有学生保持开心的分组方法数 2861. 最大合金数 2862. 完全子集的最大元素和 一、计算k置为下标对应元素的和 简单题,直接暴力模拟,代码如下 class Solution { public:int sumIndicesWithKS…...
Netty粘包与拆包问题
先看一下下面的例子: 服务端代码为: public class TimeServer {public static void main(String[] args) throws InterruptedException {EventLoopGroup bossGroupnew NioEventLoopGroup();EventLoopGroup workerGroupnew NioEventLoopGroup();try{Serv…...
JS下载链接的两种方式
1、window.open() 弹出新窗口下载,需要用户进行交互之后触发,否则会被拦截,Safari始终会拦截弹窗 2、a标签下载 不会触发弹窗,更安全 let a document.createElement(a) a.href 下载链接; a.download 文件名称; document.bod…...

手把手教你实现:将后端SpringBoot项目部署到华为云服务器上
前言 前提:有一个后端项目,项目能够运行在本地,可以通过本地访问(localhost) 如果没有可以看这篇:一个基于SpringBoot的后端项目 注册华为云账号 华为云官网 购买云服务器 产品 -> 华为云耀云服务器…...

【红队攻防】从零开始的木马免杀到上线
0、环境配置说明 应该全部使用云服务器完整演示比较好,奈何太穷了买不起服务器,只能用本地环境演示。所需环境如下: 系统环境: CentOS 7 ,Windows 10 软件环境 Cobalt Strike 4.7 , ShellQMaker, 360杀…...
Linux命令行操作:使用“more“命令进行分页显示
文章目录 1. 引言1.1 介绍Linux操作系统和命令行界面什么是Linux操作系统?为什么命令行界面在Linux中如此重要? 1.2 介绍Linux中的分页显示命令分页显示命令的作用与意义不同分页显示命令的比较 2. "more"命令的基本用法2.1 安装和启动"m…...

CentOS下安装MySQL 8.1及备份配置
1 卸载原来的MySQL版本 移除之前部署的mysql软链接 # unlink /etc/init.d/mysql # unlink /usr/bin/mysql2 下载最新的MySQL版本 https://dev.mysql.com/downloads/mysql/8.0.html 我这里直接把地址放在这里:https://cdn.mysql.com//Downloads/MySQL-8.1/mysql…...

【RabbitMQ实战】06 3分钟部署一个RabbitMQ集群
一、集群的安装部署 我们还是利用docker来安装RabbitMQ集群。3分钟安装一个集群,开始。 前提条件,docker安装了docker-compose。如果没安装的话,参考这里 docker-compose文件参考bitnami官网:https://github.com/bitnami/contai…...
(c语言)整形提升
#include<stdio.h> //整形提升 int main() { char a 5; //字符型的内存大小为8个比特位,故在进行加法之类的线性运算时需要整形提升 //00000000000000000000000000000101->5 因为字符型的内存大小不足,故在存放整形时需要裁切 …...
上传文件报错:The temporary upload location [/tmp/tomcat/xxx] is not valid
1.上传附加时报错找不到临时目录 Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat/work/Tomcat/localhost/ROOT] is not valid 发生改报错原因为 (1)、SpringBoot项目启动后,系…...

直线模组的品牌有哪些?
中国工业制造业快速发展,工业自动化领域也进入了飞速发展的阶段,直线模组作为工业自动化领域不可缺少的机器人之一,有着重要的不可或缺的作用,在行业内做得好的直线模组品牌有哪些呢? 1、NSK:日本精工株式会…...

零基础学习ESP8266
文章目录 零基础学习ESP8266前言选择硬件如何学习专栏大纲基础部分提高部分 总结 零基础学习ESP8266 前言 最近在空余的时候有用乐鑫的模组,感觉很不错,也决定简单写写。 相信看这篇文章的同学,希望可以熟悉ESP8266这个硬件平台。当然我们…...

基于PYQT5的GUI开发系列教程【二】框架安装和基础环境配置
本文概述 PYQT5是一个基于python的可视化GUI开发框架,具有容易上手,界面美观,多平台部署等优点,作者将通过一系列教程,带领大家从零基础到入门~能够自主实现GUI开发。 作者介绍 作者本人是一名人工智能炼丹师ÿ…...
pg数据库操作,insert(sql)插入一条数据后获返回当前插入数据的id --chatGPT
gpt: 在 PostgreSQL 数据库中,可以使用 INSERT 语句插入一条数据,并通过 RETURNING 子句来返回插入数据的 ID。以下是一个示例 Go 代码来执行这个操作: go package main import ( "database/sql" "fmt" &…...

【数据结构-树】哈夫曼树
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒
本文转载自支付宝体验科技,作者是蚂蚁集团客户端工程师博欢,介绍了支付宝如何基于 HarmonyOS 4.0 实况窗实现医疗场景履约智能提醒。 1.话题背景 8 月 4 日,华为在 HDC(华为 2023 开发者大会)上推出了新版本操作系统…...

【响应式布局】
响应式布局 1 什么是响应式布局2 响应式布局的5种实现方案2.1 百分比布局2.2 媒体查询布局2.3 rem响应式布局2.4 vw / vh响应式布局2.5 flex弹性布局 1 什么是响应式布局 响应式布局就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互…...

Spring面试题23:Spring支持哪些事务管理类型?Spring框架的事务管理有哪些优点?你更倾向用哪种事务管理类型?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring支持哪些事务管理类型? Spring 支持以下几种事务管理类型: 编程式事务管理:通过在代码中显式地使用事务管理 API(如 TransactionTempla…...
Leetcode—— LCR 122. 路径加密
LCR 122. 路径加密 假定一段路径记作字符串 path,其中以 "." 作为分隔符。现需将路径加密,加密方法为将 path 中的分隔符替换为空格 " ",请返回加密后的字符串。 示例 1: 输入:path "a.ae…...

缓冲区溢出漏洞分析
一、实验目的 熟悉软件安全需求分析方法,掌握软件安全分析技术。 二、实验软硬件要求 1、操作系统:windows 7/8/10等 2、开发环境:VS 6.0(C)、OllyDbg 三、实验预习 《软件安全技术》教材第3章 四、实验内容&#…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...