Codeforces Round 888 (Div. 3)

Codeforces Round 888 (Div. 3)

A. Escalator Conversations

思路:暴力枚举
我们可以发现要让他们能相同高度首先你们之间的差值必须是k的倍数并且这个倍数必须小于m并且不能存在相同高度

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(v) ((int)v.size())
#define fs first
#define sc second
const int N=2e6+10,M=2e5;
typedef double db;
typedef pair<int,int>pii;
int n,m,k,Q,cnt,t,H;
vector<int>del;
int a[200010],b[200010];
int prime[N];
bool st[N];
map<int,int>mp;
void solve(){std::cin>>n>>m>>k>>H;int res=0;rep(i,1,n){int x;std::cin>>x;int y=abs(x-H);if(y%k==0&&y/k<=m-1&&y)res++;}std::cout<<res<<endl;}
signed main(){std::cin>>t;while(t--)solve();
}

B. Parity Sort

思路:贪心排序
我们可以发现直接对奇数数值和偶数数值进行排序,然后判断是不是非递减序列即可

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(v) ((int)v.size())
#define fs first
#define sc second
const int N=2e6+10,M=2e5;
typedef double db;
typedef pair<int,int>pii;
int n,m,k,Q,cnt,t,H;
vector<int>del;
int a[200010],b[200010],c[N];
int prime[N];
bool st[N];
map<int,int>mp;
void solve(){std::cin>>n;rep(i,1,n)std::cin>>a[i];int l=0,r=0;rep(i,1,n){if(a[i]&1)b[l++]=a[i];else c[r++]=a[i];}std::sort(b,b+l);std::sort(c,c+r);//rep(i,1,l)cout<<b[i]<<endl;int l1=0,r1=0;rep(i,1,n){if(a[i]&1)a[i]=b[l1++];else a[i]=c[r1++];}int f=1;rep(i,1,n-1){if(a[i]>a[i+1]){f=0;break;}}if(f)std::cout<<"YES"<<endl;else std::cout<<"NO"<<endl;
}
signed main(){std::cin>>t;while(t--)solve();
}

C. Tiles Comeback

思路:贪心
只要有k个元素和第一个元素颜色相同,并且有k个元素和最后一个元素颜色相同 ,并且选择这两种颜色的区间不相交,答案即为YES。特别的是,第一个元素和最后一个元素颜色相同,此时只需要k个颜色即可

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(v) ((int)v.size())
#define fs first
#define sc second
const int N=2e6+10,M=2e5;
typedef double db;
typedef pair<int,int>pii;
int n,m,k,Q,cnt,t,H;
vector<int>del;
int a[200010],b[200010],c[N];
int prime[N];
bool st[N];void solve() {pii l,r;int n,k;cin>>n>>k;for(int i=1; i<=n; i++) {cin>>a[i];if(a[i]==a[1]&&l.second!=k)l.first=i,l.second++;}for(int i=n; i>=1; i--) {if(a[i]==a[n]&&r.second!=k)r.first=i,r.second++;}if(l.second!=k||r.second!=k) {std::cout<<"NO\n";return;}if(a[1]==a[n]) std::cout<<"YES\n";else {if(l.first<r.first)std::cout<<"YES\n";else std::cout<<"NO\n";}
}
signed main(){std::cin>>t;while(t--)solve();
}

D. Prefix Permutation Sums

思路:模拟
我们可以发现,如果一个前缀和去掉一个数会存在三种情况:
① 删除第一个数
② 删除中间的数
③ 删除结尾的数
我们可以找到前缀和的差值,特别的把第一位加入进去并标记,然后记录在1~n中不存在的数的和s以及个数x,这里如果满足一下三种情况即为yes:
① 如果s>n并且在差值里面只出现一次并且x ==2
② 如果s<=n并且在差值里面只出现两次并且x ==2
③ 如果x ==1

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(v) ((int)v.size())
#define fs first
#define sc second
const int N=2e6+10,M=2e5;
typedef double db;
typedef pair<int,int>pii;
int n,m,k,Q,cnt,t,H;
vector<int>del;
int a[200010],b[200010],c[N];
int prime[N];
bool st[N];void solve(){std::cin>>n;rep(i,1,n-1)cin>>a[i];map<int,int>mp;mp[a[1]]++;rep(i,2,n-1){mp[a[i]-a[i-1]]++;}int x=0,y=0,s=0;rep(i,1,n){//cout<<mp[i]<<endl;if(mp[i]==0){s+=i;x++;}}//cout<<x<<" "<<y<<endl;if((mp[s]==1&&x==2&&s>n)||(mp[s]==2&&x==2&&s<=n)||x==1)std::cout<<"YES\n";else std::cout<<"NO\n";
}
signed main(){std::cin>>t;while(t--)solve();
}

E. Nastya and Potions

思路:dfs+记忆化
典型的有向无环图的记忆化搜索,有人说dp其实都一样,我们通过记忆化搜索(dfs) 的方法来确定他每一种原料的最小花销,这样就能得到通过合成路线相加获得该药剂的最小花销。之后我们将这个价格和市场价格做比对,保留最小值即可,并记得标记已经得到的答案,已便用它来更新答案

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define SZ(v) ((int)v.size())
#define fs first
#define sc second
#define DFX ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
const int N=2e6+10;
typedef double db;
typedef pair<int,int>pii;
int n,m,k,Q,cnt,t,H;
vector<int>g[N];
int w[N];
bool st[N];
void dfs(int u){int res=0;if(g[u].size()==0){st[u]=1;return ;}for(auto ed:g[u]){if(!st[ed]){dfs(ed);res+=w[ed];}else{res+=w[ed];}}st[u]=1;w[u]=min(w[u],res);
}void solve()
{memset(st, false, sizeof st); // 一定要初始化cin >> n >> k;for (int i = 1; i <= n; i++) // 一定要初始化,把图清空g[i].clear();for (int i = 1; i <= n; i++)cin >> w[i];for (int i = 1; i <= k; i++){int x;cin >> x;w[x] = 0;     // 如果拥有无限的这种药水,那就价值为零st[x] = true; // 并且标记这种药水,不用再dfs了}for (int i = 1; i <= n; i++){int x;cin >> x; // 读入每种药水的制作要求for (int j = 1; j <= x; j++){int v;cin >> v;g[i].push_back(v);}}for (int i = 1; i <= n; i++){if (!st[i]) // 如果没有计算过就dfs,在输出dfs(i);cout << w[i] << ' '; // 否则直接输出}cout << endl;
}signed main(){DFX;std::cin>>t;while(t--)solve();
}

F. Lisa and the Martians

思路:
copy下别人的思路
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
#define pi acos(-1)
#define xx first
#define yy second
#define endl "\n"
#define int long long
#define pb push_back
typedef pair<int, int> PII;
#define max(a, b) (((a) > (b)) ? (a) : (b))
#define min(a, b) (((a) < (b)) ? (a) : (b))
#define Ysanqian ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
const int N = 1e6 + 10, M = 1010, inf = 0x3f3f3f3f, mod = 998244353;
int n, k;
PII a[N];
bool cmp(PII a, PII b)
{return a.xx < b.xx;
}
void solve()
{int minn = 2e9;cin >> n >> k;for (int i = 1; i <= n; i++){cin >> a[i].xx;a[i].yy = i;}sort(a + 1, a + 1 + n, cmp);int idx = 2;for (int i = 2; i <= n; i++){if (minn > (a[i].xx ^ a[i - 1].xx)){minn = (a[i].xx ^ a[i - 1].xx);idx = i;}}int m = ((1 << k) - 1) ^ a[idx].xx;cout << a[idx].yy << ' ' << a[idx - 1].yy << ' ' << m << endl;
}
signed main()
{Ysanqian;int T;// T = 1;cin >> T;while (T--)solve();
}

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

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

相关文章

unity 物体至视图中心以及新对象创建位置

如果游戏对象不在视野中心或在视野之外&#xff0c; 一种方法是双击Hierarchy中的对象名称 另一种是选中后按F 新建物体时对象的位置不是在坐标原点&#xff0c;而是在当前屏幕的中心

将 Llama2 中文模型接入 FastGPT,再将 FastGPT 接入任意 GPT 套壳应用,真刺激!

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统&#xff0c;提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排&#xff0c;从而实现复杂的问答场景&#xff01; Llama2 是Facebook 母公司 Meta 发布的开源可商用大模型&#xff0c;国内的…

深度学习(前馈神经网络)知识点总结

用于个人知识点回顾&#xff0c;非详细教程 1.梯度下降 前向传播 特征输入—>线性函数—>激活函数—>输出 反向传播 根据损失函数反向传播&#xff0c;计算梯度更新参数 2.激活函数(activate function) 什么是激活函数&#xff1f; 在神经网络前向传播中&#x…

3D风速仪 Gill Instruments Limited_R3-50 R3-100 and R3A -100 Manual

R3测量超声波脉冲从上部换能器到相反的下部换能器所花费的时间&#xff0c;并将其与脉冲从下部换能器到上部换能器的时间进行比较。 同样&#xff0c;在其他上下换能器之间比较时间。 如图1所示&#xff0c;每对换能器之间沿轴的空气速度可以从每条轴上的飞行次数计算出来。 …

django的简易的图书管理系统jsp书店进销存源代码MySQL

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 django的简易的图书管理系统 系统有1权限&#xff1a…

【LeetCode-中等题】148. 排序链表

文章目录 题目方法一&#xff1a;集合排序&#xff08;核心是内部的排序&#xff09;方法二&#xff1a; 优先队列&#xff08;核心也是内部的排序&#xff09;方法三&#xff1a;归并排序&#xff08;带递归&#xff09; 从上往下方法四&#xff1a;归并排序&#xff08;省去递…

桌面网络存储迎来新浪潮!龙蜥社区联合龙芯首发优龙桌面网络存储一体机方案

2023 年 8 月 19 日&#xff0c;龙蜥社区合作伙伴单位南京龙众创芯电子科技有限公司(以下简称“龙众创芯“)与龙蜥社区理事单位龙芯中科(武汉)技术有限公司&#xff08;以下简称“龙芯”&#xff09;&#xff0c;联合可道云、上海七朵信息等多家生态伙伴&#xff0c;以及龙芯开…

报错:Cannot read properties of undefined (reading ‘$message‘)

报错 一、问题二、分析三、解决 一、问题 Cannot read properties of undefined (reading ‘$message’) 二、分析 是因为在 main.js 文件中&#xff0c;此时还未有 this&#xff0c;我们可以打印一下&#xff0c;是 null 三、解决 如果想要使用 this.$message(这是一条消息…

Jmeter性能压测 —— 高并发思路

测试场景&#xff1a;模拟双11&#xff0c;百万级的订单量一个物流信息的查询接口。 条件&#xff1a;接口响应时间<150ms以内。10万并发量每秒。 设计性能测试方案 1、生产环境 ①10W/S--并发量&#xff08;架构师/技术负责人提供&#xff09; ②20台机器&#xff08;…

rabbitmq的优先级队列

在我们系统中有一个 订单催付 的场景&#xff0c;我们的客户在天猫下的订单 , 淘宝会及时将订单推送给我们&#xff0c;如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒&#xff0c;很简单的一个功能对吧&#xff0c;但是&#xff0c;tianmao商家对我们来说&#…

【力扣 第 360 场周赛】题解(一题待补)

目录 2833. 距离原点最远的点2834. 找出美丽数组的最小和2835. 使子序列的和等于目标的最少操作次数TODO 2836. 在传球游戏中最大化函数值 这场比赛排名第 1 - 1000 名的参赛者 可获「NIO 蔚来」简历内推机会&#xff0c;比有的场次前十才给容易多了。 2833. 距离原点最远的点…

Acwing792. 高精度减法

Acwing792. 高精度减法 题目描述代码展示 题目描述 代码展示 #include <iostream> #include <vector>using namespace std;bool cmp(vector<int> &A, vector<int> &B) {if (A.size() ! B.size()) return A.size() > B.size();for (int i …

利用条件竞争突破优惠券仅能使用一次逻辑限制

Portswigger练兵场之条件竞争 目录 Portswigger练兵场之条件竞争&#x1f984;条件竞争-突破一次逻辑限制&#x1f680;实验前置必要知识点&#x1f3c6;实验要求⚡️渗透开始1. 站点分析2. 登录3.日志探查4.功能点探究5.完成实验 修复方案 &#x1f984;条件竞争-突破一次逻辑…

基于Vue前端框架构建BI应用程序

一、什么是Vue&#xff1f; Vue&#xff08;Vue.js&#xff09;是一个轻量级、高性能、可组件化的MVVM库。简而言之&#xff0c;是一个构建数据驱动的web界面的渐进式框架。它采用MVVM思想&#xff0c;通过数据双向绑定实现数据的动态渲染&#xff0c;同时也支持组件化的开发方…

深度学习论文分享(八)Learning Event-Driven Video Deblurring and Interpolation

深度学习论文分享&#xff08;八&#xff09;Learning Event-Driven Video Deblurring and Interpolation 前言Abstract1 Introduction2 Motivation2.1 Physical Model of Event-based Video Reconstruction2.2 Spatially Variant Triggering Threshold 3 Proposed Methods3.1 …

无涯教程-Android - List fragments函数

框架的ListFragment的静态库支持版本&#xff0c;用于编写在Android 3.0之前的平台上运行的应用程序&#xff0c;在Android 3.0或更高版本上运行时,仍使用此实现。 List fragment 的基本实现是用于创建fragment中的项目列表 List in Fragments 示例 本示例将向您说明如何基于…

如何在windows下使用masm和link对汇编文件进行编译

前言 32位系统带有debug程序&#xff0c;可以进行汇编语言和exe的调试。但真正的汇编编程是“编辑汇编程序文件(.asm)->编译生成obj文件->链接生成exe文件”。下面&#xff0c;我就来说一下如何在windows下使用masm调试&#xff0c;使用link链接。 1、下载相应软件 下载…

gif怎么转换成mp4格式视频

gif怎么转换成mp4格式视频&#xff1f;GIF格式是一种广泛应用的公用图像文件格式标准&#xff0c;具有许多优势。它占用的内存较小&#xff0c;可以实现自动循环播放&#xff0c;并且兼容多个平台。然而&#xff0c;GIF格式也存在一些缺点。例如&#xff0c;它无法处理复杂的图…

如何提高工业网关的数据传输速度?

工业网关是工业物联网系统中不可或缺的设备&#xff0c;提高工业网关的数据采集、传输速度&#xff0c;是保障和优化物联网系统运营效率的基础。如何提高工业物联网关的数据传输速度&#xff1f;本篇就为大家简单介绍一下。 1、选用高品质网络设备 选用具有足够带宽容量的高质…

hive问题总结

往往用了很久的函数却只知道其单一的应用场景&#xff0c;本文将不断完善所遇到的好用的hive内置函数。 1.聚合函数或者求最大最小值函数搭配开窗函数使用可以实现滑动窗口 例&#xff1a; collect_list函数&#xff0c;搭配开窗函数&#xff0c;实现了在滑动窗口内对事件路径…