2024.08.25拼多多

news/2025/1/15 13:06:15/文章来源:https://www.cnblogs.com/929code/p/18410787

1. 树中删边

多多有一颗 n 个节点的树,树中每一条边都有一个权值。
多多还有一个长度为 n 的正整数序列:删除树中若干条边之后(或者不删),就会变成一个有 x 个连通块的图,
此时的得分为:剩余边权和 + ((两个可以互相到达的节点属于同一个连通块,注意一个孤点也是一个连通块)
多多可以删除图中若干条边(可以不删)。现在多多想知道,最多能够得到多少分。现在请你告诉多多答案

贪心
int main() {int n;cin>>n;int s = 0;vector<int> v(n);vector<int> a(n);for(int i=0;i<n;i++)cin>>v[i];for(int i=1;i<n;i++){int from,to;cin>>from>>to>>a[i];s+=a[i];}int res = 0;sort(a.begin()+1,a.end());for(int i=0;i<n;i++){s-=a[i];res = max(res,s+v[i]);}cout<<res<<endl;return 0;
}

2. 数列操作

多多有一列正整数组成的数列,支持两种操作:选取一个偶数,使其值减半选取两个数字,
移除并替换为两个数字的和多多希望最终能够得到一个全为奇数的数列,请计算最少需要操作几次

思维题
int main() {int n;cin>>n;vector<int> nums(n);for(int i=0;i<n;i++)cin>>nums[i];int res = INT_MAX;int odd = 0;//记录奇数个数//偶数通过n次减半最终可以变为奇数,也就是其第一个1在二进制第几位,表示要操作几次,奇数可以将偶数变成奇数for(auto num:nums){int cnt = 0;int cur = num;while(cur%2==0){cnt++;cur/=2;}if(cnt==0) odd++;res = min(res,cnt);}if(odd==0) cout<<n-1+res<<endl;else cout<<n-odd<<endl;
}

3. 交换礼物

多多携带一件价值为的礼物参加了一个节日派对。除多多外在场的有个人,第i个人的当前持有的礼物价值为。
多多可以和任意当前持有礼物价值比多多低的人交换礼物。请问最少经过多少次交换,可以使得个人持有的礼物价值形成单调不减的数列

思维题
int main() {int n,v;cin>>n>>v;vector<int> nums(n);for(int i=0;i<n;i++)cin>>nums[i];int idx = 1;while(idx<n){if(nums[idx]<nums[idx-1]) break;idx++;}if(idx==n){cout<<0<<endl;return 0;}nums[idx] = v;vector<int> temp = nums;sort(temp.begin(),temp.end());int res = 0;for(int i=n-1;i>=0;i--){if(nums[i]==temp[i]) continue;if(v==temp[i]){res++;v = nums[i];//替换}else{cout<<-1<<endl;return 0;}}cout<<res<<endl;return 0;
}

4. 字符串操作

给定长度为n的01串,定义一次操作为, 将整个字符串按顺序分为两部分, 将两部分各自翻转后再按原顺序拼接。
提问,进行任意次的操作后,可以得到的最长的连续的01交替的子串有多长。
例:原01串为 01001,可以先将原串分为 010 和 01 两部分, 分别翻转得到 010 和 10 ,
按原顺序拼接后得到 01010.  此时最长的连续交替子串为 01010,长度为5.

思维题
int main() {int n;cin>>n;string str;cin>>str;int res = 1; int cnt = 1;for(int i=1;i<2*n;i++)if(str[i%n]!=str[(i-1)%n]){cnt ++;res = max(res,cnt);}else cnt = 1;cout<<min(res,n)<<endl;return 0;
}

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

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

相关文章

PbootCMS网站nginx伪静态规则

nginx #请复制下面伪静态配置到nginx配置文件中: #规则适合PbootCMS V2.0+版本location / {if (!-e $request_filename){rewrite ^/(.*)$ /index.php?p=$1 last;} }扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、J…

记一次SSH无法远程

故障现象 主机无法使用ssh远程 输入密码之后报错如下# Permission denied (password,keyboard-interactive).原因 看起来好像是远端设置了不允许用户名和密码登录 其实是客户端设置问题 修复或者注释# ChallengeResponseAuthentication no

bluecms搭建和代码审计(SQL)

bluecms搭建 将bluecms的源码文件bluecms放在www目录下,进入bluecms/install/index.php目录安装bluecms填写数据库配置信息和管理员账号信息填写完上述信息后,会自动在bluecms数据库下创建这些文件返回主界面 http://127.0.0.1/bluecms后发现管理员不能从前台登录, 需要从ht…

KubeSphere 社区双周报| 2024.08.30-09.12

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2024.08.30-09.12。 贡献者名单近期重要更新 KubeS…

Appium+python框架搭建

一、Appium-Python-Client ①安装依赖库也就大家说的客户端,这里的客户端指的是我编辑代码的界面,因为代码界面我要引入webdriver所以叫客户端,其实本质是一个依赖库跟selenium差不多 ②安装的命令:pip install Appium-Python-Client(python环境所以安装python包) ③Appi…

2576. 求出最多标记下标

给你一个下标从 0 开始的整数数组 nums 。 一开始,所有下标都没有被标记。你可以执行以下操作任意次: 选择两个 互不相同且未标记 的下标 i 和 j ,满足 2 * nums[i] <= nums[j] ,标记下标 i 和 j 。 请你执行上述操作任意次,返回 nums 中最多可以标记的下标数目。 示例…

**** oracle 数据库-监听故障处理-故障单

**** 数据库-监听故障处理-故障单**** 数据库-监听故障处理故障反馈人张**工单接收时间2024年9月11日 9:10审核/复核人张**/张***处理完毕时间2024年9月11日 9:22报告人柏*报告时间2024年9月11日11:22故障环境IP: 180.5.115.** 数据库版本: 10.2.0.4.0故障现象告警时间: 起…

Spring声明式事务不生效?

背景 本篇博文将会讲一讲Spring中使用@Transactional注解会出现的不生效问题。事务的生效与否,一般不是我们冒烟自测的范围,测试也不会去测,但是一旦上线后,事务出现不生效的情况,就可能引发较大的问题,甚至会带来损失。所以,使用好事务注解是非常重要的,尤其是注意哪些…

UE4(5)逆向学习笔记(二)——寻找GWorld,GName和GUObjectArray

目录0.前言1.准备1.1 下载游戏《死寂(DeathlyStillness)》1.2 下载UE源码2.寻找GWorld3.寻找GName4.寻找GUObjectArray5.开始Dump5.结尾 0.前言 笔记(一)中我们了解了GWorld,GName和GUObjectArray是什么,也知道了想要使用UEDumper要获取到它们的偏移。 这次我们就以游戏《…

一个用于管理多个 Node.js 版本的安装和切换开源工具

大家好,今天给大家分享一个用于管理多个Node.js版本的工具 NVM(Node Version Manager),它允许开发者在同一台机器上安装和使用不同版本的Node.js,解决了版本兼容性问题,为开发者提供了极大的便利。在开发环境中,特别是在处理多个项目时,每个项目可能依赖于不同版本的 N…

2552.统计上升四元组

题目描述: 给你一个长度为 n 下标从 0 开始的整数数组 nums ,它包含 1 到 n 的所有数字,请你返回上升四元组的数目。 如果一个四元组 (i, j, k, l) 满足以下条件,我们称它是上升的: 0 <= i < j < k < l < n 且 nums[i] < nums[k] < nums[j] < num…

屏幕画笔、截图工具

水豚鼠标助手 用于做屏幕指导比较方便,鼠标换肤,屏幕画笔 https://shuitunapp.com/?from=txc //官网下载pixpin下载地址 这是一款好用的屏幕截图,贴图,gif制作 小工具 https://pixpinapp.com/