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

codeforces

Codeforces Global Round 30

A

\(n\) 的数组 \(a\),每可以选一个 \(x\) 满足 \(\operatorname{min}(a_i,a_{i+1})\le x \le \operatorname{max}(a_i,a_{i+1})\),然后去掉 \(a_i,a_{i+1}\) 并将其替换为 \(x\)。给定数 \(k\),问能否若干次操作让 \(a\) 数组只剩数字 \(k\)

我们发现这个 \(=\) 是很好的性质。为了让 \(k\) 的空间尽可能大,又想到保留最大最小值。于是可以这样构造:找到最大值,把它周围的全部和他操作,\(x\) 就钦定为这个最大值。最小值也同理,把附近所有都换掉。最后只剩最大最小值,当 \(k\) 在此范围内时就输出 YES,否则 NO。

点击查看代码
#include<bits/stdc++.h> 
using namespace std; 
#define ll long long 
#define For(i,l,r) for(int i=l;i<=r;i++) 
int n;
const int N=110;
ll a[N],x,mn,mx;
void solve(){ mn=1e18;mx=-1e18;cin>>n;For(i,1,n){cin>>a[i];mn=min(mn,a[i]);mx=max(mx,a[i]);}cin>>x;if(mn<=x&&x<=mx){cout<<"YES\n";}else cout<<"NO\n";} 
int main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); int T; cin>>T; while(T--)solve(); return 0; 
} 

B

给定 \(a_1<a_2<\cdots<a_{n-1}<a_n\),选一对 \(a_i<a_j\) 满足 \(a_j \ mod \ a_i\) 为偶数。\(n\le 10^5\)

分讨,条件转化为 \(a_j-k\times a_i\) 为偶数,\(k\) 为商。如果存在两个偶数的话,显然成立。如果只有一个偶数,可以拿这个偶数试所有的奇数,可以就输出。最后只留下奇数匹配奇数的问题。

排序,现在有奇数序列 \(b_1,b_2,\cdots,b_m\)。注意到:如果 \(b_2<2\times b_1\)\(b_2\ mod\ b_1=b_2-b_1=偶数\)。也就是假如存在一段 \(b\) 序列满足相邻两数都不会凑出正确答案,那么是指数级增长的,项数最多 \(\log V\)

因此暴力枚举一对数,实际复杂度是 \(O(n\log V)\) 的。

点击查看代码
#include<bits/stdc++.h> 
using namespace std; 
#define ll long long 
#define For(i,l,r) for(int i=l;i<=r;i++) 
int n;
const int N=1e5+10;
ll a[N];
ll even[N],c0;
ll odd[N],c1;
void solve(){ cin>>n;c0=c1=0;For(i,1,n){cin>>a[i];if(a[i]%2==0)even[++c0]=a[i];else odd[++c1]=a[i];}if(c0>=2){cout<<min(even[1],even[2])<<" "<<max(even[1],even[2])<<"\n";return;}if(c0==1){For(i,1,c1){ll mx=max(odd[i],even[1]);ll mn=min(odd[i],even[1]);if((mx%mn)%2==0){cout<<mn<<" "<<mx<<"\n";return;}}}sort(odd+1,odd+c1+1);For(i,1,c1){For(j,i+1,c1){if((odd[j]%odd[i])%2==0){cout<<odd[i]<<" "<<odd[j]<<"\n";return;}}}cout<<"-1\n";
} 
int main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); int T; cin>>T; while(T--)solve(); return 0; 
} 

C

你现在身处地牢,面对着 \(m\) 个怪物和 \(n\) 把剑。

\(i\) 把剑的伤害是 \(a_i\)\(i\) 只怪物的生命值是 \(b_i\) 。用伤害为 \(x\) 的剑杀死 \(i\) 的怪物后,这把剑就会消失。然后,如果 \(c_i>0\) ,你将获得一把伤害为 \(\operatorname{max}(x,c_i)\) 的新剑。否则,你将一无所获。

现在你想知道最多可以杀死多少只怪物。注意,每只怪物你最多只能杀死一次。\(n,m\le 2\times 10^5,a,b,c\le 10^9\)

http://www.jsqmd.com/news/34602/

相关文章:

  • P9785 [ROIR 2020] 对常规的斗争 (Day1) 题解
  • 实用指南:超越CNN和Transformer!Mamba结合多模态统领图像任务!
  • Docker镜像建立【MSSQL2022】
  • 闪回咒 | NOIP 2025 游记
  • 灰度发布
  • 【刷题笔记】AT 经典 90 题
  • CF1758E Tick, Tock
  • 深入解析:SciPy傅里叶变换与信号处理教程:数学原理与Python实现
  • CentOS Stream 9编译安装Nginx 1.28 - Leone
  • SQL核心语言详解:DQL、DML、DDL、DCL从入门到实践! - 实践
  • Ubuntu安装JDK与Maven和IntelliJ IDEA - 详解
  • Ubuntu安装JDK与Maven和IntelliJ IDEA - 详解
  • JavaWeb03-Vue
  • 【完结】Weblogic中间件应用服务器
  • 调整包含特定文本的单元格所在的行高
  • javabean和pojo的区别
  • 一次十分折腾的系统迁移:BCD损坏(0xc000000f), 0xc0000255, 0xc000000e以及解决办法
  • 2025微信小店代运营/电商优质服务商推荐榜:健安道领衔,三大实力机构助力商家全域增长
  • 知识树
  • 2025昆山/太仓/苏州/常熟/上海/农村自建房推荐榜 巨德翔建筑领衔 三家实力公司赋能乡村宜居生活
  • 深入解析:ST-Raptor:无需微调,准确率超越 GPT-4o 的半结构化表格问答新范式
  • 2025苏州自建房/阳光房/封阳台/瑞纳斯/海达胶条/高端/推拉/无缝焊接/瑞纳斯五金/隔热/系统门窗品质推荐榜:昆山巨德翔门窗领衔,3 家靠谱厂家守护舒适居住空间
  • 树上拓扑序个数小记
  • 2025修护/去屑/香氛/控油蓬松/洗发水推荐榜:玛丝兰领衔,三款品牌解锁高效洗护,温和适配多发质
  • 2023最新Win10/Win11运行罪恶都市解决方案
  • Typecho Joe 使用第三方插件开启文章侧边导肮目录 - AutocJS
  • 2025废气处理/废气治理/环保/污水/分子筛/除臭设备推荐榜:深城环保五星领跑,3 家企业以技术适配解锁多元异味治理场景
  • 使用 Docker 搭建 Typecho 个人博客
  • P6954 [NEERC 2017] Connections 题解
  • 高级程序语言设计个人作业第四次