Codeforces Round 894 (Div. 3)

news/2025/2/12 5:22:38/

E.

如果我们枚举的天数天数是

i,j,k三天

我们要减去的是 (i)*d+(j-i)*d+(k-j)*d=k*d

所以我们直接枚举每一天为最后一天,用优先队列存储前i天中最大的m个数

#include<bits/stdc++.h>
using namespace std;
const int N =1e6,mod=1e9+7;
#define int long long
int n,m,k;int a[N],b[N];
void solve(){cin>>n>>m>>k;for(int i=1;i<=n;i++) cin>>a[i];priority_queue<int,vector<int>,greater<int>> q;int res=0;int sum=0;for(int i=1;i<=n;i++){if(a[i]<0) continue;q.push(a[i]);sum+=a[i];while(q.size()>m){sum-=q.top();q.pop();}res=max(res,sum-k*i);}cout<<res<<"\n";
}
signed main(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;cin>>t;while(t--) solve();return 0;
}

F.思路大概就是枚举第一个魔法处理掉哪些怪物,第二个魔法处理剩下怪物,

可以注意到其实只关心那些怪物血量的总和,所以我们用01背包处理出不同怪物的血量组合的总血量,然后枚举用第一个魔法处理当前怪物,第二个魔法处理剩下怪物

#include<bits/stdc++.h>
using namespace std;
const int N =1100,mod=1e9+7;
int n,w,f;int a[N],b[N];
void solve(){cin>>w>>f;cin>>n;int sum=0;for(int i=1;i<=n;i++){cin>>a[i];sum+=a[i];}vector<int> dp(sum+1);dp[0]=1;for(int i=1;i<=n;i++){for(int j=sum;j>=a[i];j--){dp[j]|=dp[j-a[i]];}}int ans=sum;for(int i=0;i<=sum;i++){if(dp[i]){ans=min(ans,max((i+w-1)/w,(sum-i+f-1)/f));}}cout<<ans<<"\n";
}
signed main(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;cin>>t;while(t--) solve();return 0;
}

G.

首先手玩一下只有两个数

[6,9]->>>[8,10]->>[10,11]->>[12,12]

其实挺明显,就是让相邻的两个数差值拉平成一样,因为每次相邻的数差距只会减少1

且重复就删去,所以一定可以追上

换句话就是最后的数是最大的数+相邻数的差值的最大值

#include<bits/stdc++.h>
using namespace std;
const int N =1e6,mod=1e9+7;
#define int long long
int n,m,k;int a[N],b[N];void solve() {int n;std::cin >> n;std::vector<int> a(n + 1), b;std::multiset<int> s, d;for (int i = 1; i <= n; i ++) std::cin >> a[i], s.insert(a[i]);b = a;std::sort(b.begin() + 1, b.end());for (int i = 2; i <= n; i ++) d.insert(b[i] - b[i - 1]);int q;std::cin >> q;while (q --) {int pos, x;std::cin >> pos >> x;if (n == 1) {std::cout << x << " ";continue;}int last = a[pos];a[pos] = x;auto it = s.lower_bound(last);if (it != s.end() && next(it) != s.end())d.erase(d.lower_bound(*(next(it)) - *it));if (it != s.begin())d.erase(d.lower_bound(*it - *(prev(it))));if (it != s.end() && it != s.begin() && next(it) != s.end())d.insert(*(next(it)) - *(prev(it)));s.erase(it);s.insert(x);it = s.lower_bound(x);if (it != s.end() && next(it) != s.end())d.insert(*(next(it)) - *it);if (it != s.begin())d.insert(*it - *(prev(it)));if (it != s.end() && it != s.begin() && next(it) != s.end())d.erase(d.lower_bound(*(next(it)) - *(prev(it))));std::cout << (*s.rbegin() + *d.rbegin()) << " ";}std::cout << "\n";
}
signed main(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;cin>>t;while(t--) solve();return 0;
}


http://www.ppmy.cn/news/1061449.html

相关文章

jemter连接数据json断言

文章目录 一、jmeter连接数据库1、加载JDBC驱动2、连接数据3、SQL Query的Query Type使用方法&#xff1a;4、Variable Name使用方法&#xff1a;5、Result variable name使用方法&#xff1a; 二、Json响应断言1、添加 》 断言 》 JSON断言2、JSON断言界面参数说明&#xff1a…

React 18 用 State 响应输入

参考文章 用 State 响应输入 React 控制 UI 的方式是声明式的。不必直接控制 UI 的各个部分&#xff0c;只需要声明组件可以处于的不同状态&#xff0c;并根据用户的输入在它们之间切换。这与设计师对 UI 的思考方式很相似。 声明式 UI 与命令式 UI 的比较 当设计 UI 交互时…

【WSN无线传感器网络恶意节点】使用 MATLAB 进行无线传感器网络部署研究

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Discuz!论坛发帖标题字数限制80字符可以修改吗?修改发帖标题字数的方法

Discuz!论坛发帖标题字数限制80字符修改方法 1.数据库修改2.修改JS验证字符数文件3.修改模板中写死的字符限制数4.修改函数验证文件5.修改语言包文件6.更新缓存 Discuz X3.4论坛网站帖子标题字数限制80字符&#xff0c;当我们想使用长标题的时候就得一删再删&#xff0c;实在是…

Vue的map()方法和filter()方法的使用

map() map()&#xff1a;方法返回一个新数组&#xff0c;数组中的元素为原始数组元素调用函数处理后的值 案例&#xff1a; const data res.map(item > item.id); const data res.map(item > return item.id); const data res.map(item > { name: item.name, id…

【业务功能篇81】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-入门实战

ElasticSearch 一、ElasticSearch概述 1.ElasticSearch介绍 ES 是一个开源的高扩展的分布式全文搜索引擎&#xff0c;是整个Elastic Stack技术栈的核心。它可以近乎实时的存储&#xff0c;检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;…

切换Debian的crontab的nano编辑器

Debian的crontab默认的编辑器是nano&#xff0c;用起来很不习惯,怎么才能转回vim呢? 用以下命令便可&#xff1a; #update-alternatives --config editor 出现以下所示的界面&#xff1a; 而后选择8使用/usr/bin/vim就能够了。 PS&#xff1a;若是你发现你的定时没有生效&…

使用vlc在线播放rtsp视频url

1. 2. 3. 工具链接&#xff1a; https://download.csdn.net/download/qq_43560721/88249440