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

【题解】倒水

点击查看目录

目录
    • 题面
    • 算法思路
    • Code
  • 我喜欢你

题面

点击查看题面

image

Samples
输入数据 1

3
3 7
2 5 8
3 2020
20 24 2024
2 5
4 2

输出数据 1

YES
YES
NO

没找到原题。

算法思路

\(gcd(w_1,w_2,w_3,……,w_n)=g\)

容易发现,对于倒满水和清空操作,每个水杯中的数都是 \(g\) 的倍数,并且他们的总和 \(\sum w\) 也是 \(g\) 的倍数。

考虑到对于 \(x\)\(y\) 倒水的操作,对于 \(\sum w\) 贡献为 \(0\),那么以下两种情况:

  • \(x\) 全部倒出,\(a_x=0\)\(g\) 的倍数,除 \(y\) 杯以外,其他杯依然 \(g\) 倍数,总和为 \(g\) 倍数,那么 \(a_y\)\(g\) 倍数显然。
  • \(y\) 杯倒满,同理 \(a_x\) 杯是 \(g\) 倍数显然。

因此可以证明,无论多少次操作,杯中的水为 \(g\) 倍数显然。

那么我们设合法的 \(k=t\times gcd(w_x,w_y)\)

而扩展欧几里得可以得到:

\[\exist x_1,x_2,……,x_n,\sum x_i w_i=g \]

上式两边同时乘 \(t\),得到:

\[\exist x_1,x_2,……,x_n,\sum (t x_i) w_i=k \]

那么 \(t x_i\) 是可以通过加满倒出两杯互相倒的方式实现,不难证明。

最终,存在合法的 \(k\) 的充要条件如下:

  • \(k<\max{w_i}\)
  • \(k\)\(g\) 的倍数

Code

点击查看代码

我喜欢你

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<set>
#include<cstring>
using namespace std;
#define rg register int
#define il inline
typedef long long ll;
namespace io{il ll read(){char c=getchar();int x=0,f=1;while(c<48){if(c=='-')f=-1;c=getchar();}while(c>47)x=(x*10)+(c^48),c=getchar();return x*f;}//快读
}using namespace io;
const int maxn=1e5+50;int T,n,k,w[maxn],maxw,g;int gcd(int x,int y){if(y==0)    return x;return gcd(y,x%y);
}int main(){
// #ifndef ONLINE_JUDGE
// freopen("water.in","r",stdin);
// #endifT=read();while(T--){n=read(),k=read();maxw=0;for(rg i=1;i<=n;++i)    w[i]=read(),maxw=max(maxw,w[i]);g=w[1];for(rg i=2;i<=n;++i)    g=gcd(g,w[i]);if(k<=maxw && k%g==0)   printf("YES\n");else printf("NO\n");}return 0;
}
http://www.zskr.cn/news/67257.html

相关文章:

  • 跨境大件类目卖家必看,跨境大件类目ERP选型指南!
  • 2025 年能源管理领域核心引领者解析:四大解决方案的差异化竞争与价值重构
  • 2025年北京能印不干胶的印刷厂、质量好的印刷厂推荐
  • win10 安装 mysql8
  • 2025年电动活动隔断/移动隔断厂家权威推荐榜:智能玻璃隔断、会议酒店隔音折叠隔板,高端空间灵动解决方案精选
  • 完整教程:Spring Framework源码解析——BeanDefinition
  • 2025 年 12 月电液伺服阀/比例阀维修厂家权威推荐榜:MOOG、力士乐、派克等进口品牌精密修复与快速响应服务深度解析
  • 2025年沈阳酒店推荐:哪处位置最优?详细评测与选址指南
  • 详细介绍:乐鑫ESP32-C2小尺寸高性价比,物联网应用的理想无线连接方案
  • 2025年沈阳酒店推荐:哪个服务更贴心?实际体验与口碑调查
  • 2025 年 12 月角接触球轴承厂家权威推荐榜:精密/不锈钢/超高速/密封/机床/机器人专用等全系列轴承深度解析与选购指南
  • 2025年12月1日
  • Nginx性能优化策略:参数调优与部署优化
  • CTP技术革命与十大品牌深度解析:国产化替代浪潮下的优先选择
  • 2025年12月衣柜/橱柜全屋定制厂家十大推荐榜,市场主流工厂实力横向对比,实木/原木/整木楼梯/衣柜/橱柜/木门/护墙板,行业数据+市场口碑榜及选择指南
  • flask: migrate报pymysql.err.OperationalError: (1138, Invalid use of NULL value)
  • flask: migrate报 Target database is not up to date.
  • Java + Spring Boot + Redis技术栈,在实际使用缓存时遇到 缓存击穿、缓存穿透、缓存雪崩 - 详解
  • 洛谷题单指南-组合数学与计数-P3214 [HNOI2011] 卡农
  • 2025烤蓝铁皮打包带源头厂家TOP5权威推荐:优质生产商甄
  • 钢结构楼梯厂家TOP5权威推荐:知名厂家深度测评,甄选不错工
  • Win11 + Ubuntu 双系统安装流程(暗夜精灵) - Daniel
  • 炼油设备厂家TOP5权威推荐:甄选靠谱大型厂家,赋能工业固废
  • VW/Audi MQB All Keys Lost: Hassle-Free SYNC Data Calculations with Xhorse VVDI Autel
  • 2025年度全屋定制品牌生产厂哪家更值得选?5大实力厂商排行
  • 列表弹窗实现方案整理
  • 02.Class对象的理解
  • 添加断言
  • 2025哈尔滨净化改造工程TOP5权威推荐:甄选企业守护洁净
  • 全屋定制制造厂TOP5权威推荐:售后与品质双优之选,破解行业