裴蜀定理

  对于整系数方程ax+by=m,设d =(a,b)

  方程有整数解当且仅当d|m

  这个定理实际上在之前学习拓展欧几里得解不定方程的时候就已经运用到

  拓展到多元的方程一样适用


BZOJ1441 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小

  该方程有解当且仅当gcd(A1...AN)|s

  要求s的值最小,那么答案就是gcd(A1..AN)


BZOJ2257   jyy就一直想着尽快回地球,可惜他飞船的燃料不够了。
有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换。jyy
的飞船上共有 N个瓶子(1<=N<=1000) ,经过协商,火星人只要其中的K 个 。 jyy
将 K个瓶子交给火星人之后,火星人用它们装一些燃料给 jyy。所有的瓶子都没有刻度,只
在瓶口标注了容量,第i个瓶子的容量为Vi(Vi 为整数,并且满足1<=Vi<=1000000000 ) 。
火星人比较吝啬,他们并不会把所有的瓶子都装满燃料。他们拿到瓶子后,会跑到燃料
库里鼓捣一通,弄出一小点燃料来交差。jyy当然知道他们会来这一手,于是事先了解了火
星人鼓捣的具体内容。火星人在燃料库里只会做如下的3种操作:1、将某个瓶子装满燃料;
2、将某个瓶子中的燃料全部倒回燃料库;3、将燃料从瓶子a倒向瓶子b,直到瓶子b满
或者瓶子a空。燃料倾倒过程中的损耗可以忽略。火星人拿出的燃料,当然是这些操作能
得到的最小正体积。
jyy知道,对于不同的瓶子组合,火星人可能会被迫给出不同体积的燃料。jyy希望找
到最优的瓶子组合,使得火星人给出尽量多的燃料。

  我们思考两个瓶子,设它们的容量为x,y,d=(x,y)

  很容易看出不管怎么倒它们中的容量都是d的倍数

  再思考两个容量互质的瓶子,设它们的容量为a,b

  由于玩过某个CHL推荐的“高智商倒水游戏”...然后可以发现不论如何都可以倒到1

  容量gcd为d的状态可以看做每滴水的重量为d,然后看做两个容量互质的瓶子,这样最后剩下d的水

  猜想可以拓展到n的情况,也就是火星人倒的水应该是k个瓶子容量的最小公约数

  然后就在n个数里挑k个数使得它们的最小公约数最大

  把所有数的因子挑出来,从大到小一旦出现的次数超过k次就可以直接输出


BZOJ2299 给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问你能不能拼出另一个向量(x,y)。

说明:这里的拼就是使得你选出的向量之和为(x,y)

  看做可以做无限次的加减2a,2b(x和y中都可以),和不超过1次的(x+a,y+b)(x+b,y+a)操作

  为什么不是减?其实加减一样因为都可以通过前面的2a,2b操作得到

  然后就可以直接裴蜀定理判定啦


END.

15 Apr.

[BZOJ1441&BZOJ2257&BZOJ2299]裴蜀定理的更多相关文章

  1. 【BZOJ-1441】Min 裴蜀定理 + 最大公约数

    1441: Min Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 471  Solved: 314[Submit][Status][Discuss] De ...

  2. 【BZOJ1441】Min 拓展裴蜀定理

    [BZOJ1441]Min Description 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 Input 第一行给出数 ...

  3. BZOJ2257 [Jsoi2009]瓶子和燃料 【裴蜀定理】

    题目链接 BZOJ2257 题解 由裴蜀定理我们知道,若干的瓶子如此倾倒最小能凑出的是其\(gcd\) 现在我们需要求出\(n\)个瓶子中选出\(K\)个使\(gcd\)最大 每个数求出因数排序即可 ...

  4. BZOJ2299 [HAOI2011]向量 【裴蜀定理】

    题目链接 BZOJ2299 题解 题意就是给我们四个方向的向量\((a,b),(b,a),(-a,b),(b,-a)\),求能否凑出\((x,y)\) 显然我们就可以得到一对四元方程组,用裴蜀定理判断 ...

  5. 【BZOJ-2299】向量 裴蜀定理 + 最大公约数

    2299: [HAOI2011]向量 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1118  Solved: 488[Submit][Status] ...

  6. BZOJ-2257 瓶子和燃料 分解因数+数论方面乱搞(裴蜀定理)

    一开始真没想出解法...后来发现那么水.... 2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 970 So ...

  7. 【bzoj2257】[Jsoi2009]瓶子和燃料 扩展裴蜀定理+STL-map

    题目描述 给出 $n$ 个瓶子和无限的水,每个瓶子有一定的容量.每次你可以将一个瓶子装满水,或将A瓶子内的水倒入B瓶子中直到A倒空或B倒满.从中选出 $k$ 个瓶子,使得能够通过这 $k$ 个瓶子凑出 ...

  8. 【bzoj1441】Min 扩展裴蜀定理

    题目描述 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 输入 第一行给出数字N,代表有N个数 下面一行给出N个数 输出 S ...

  9. BZOJ-2257:瓶子和燃料(裴蜀定理)

    jyy就一直想着尽快回地球,可惜他飞船的燃料不够了. 有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy的飞船上共有 N个瓶子(1<=N<=1000) ,经过 ...

随机推荐

  1. Page Object 设计模式介绍

    Page Object 是 Selenium 自动化测试项目开发实践的最佳设计模式之一,Page Object 的主要体现于对界面交互细节的封装,这样可以使测试案例更关注与业务而非界面细节,提高测试案 ...

  2. DOM操作相关案例 模态对话框,简易留言板,js模拟选择器hover,tab选项卡,购物车案例

    1.模态框案例 需求: 打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框 代码如下: <!DOCTYPE html> <h ...

  3. LINQ学习笔记——(2)Lambda表达式

    最基本的 Lambda 表达式语法: (参数列表)=>{方法体} 说明:   参数列表中的参数类型可以是明确类型或者是推断类型   如果是推断类型,则参数的数据类型将由编译器根据上下文自动推断出 ...

  4. Cassandra 在CQL中使用函数

    CQL 3.1 最后更新 2015年10月10日 maxTimeuuid() now() dateOf() minTimeuuid() --假设表结构如下 create table user ( us ...

  5. POJ 3565 Ants(最佳完美匹配)

    Description Young naturalist Bill studies ants in school. His ants feed on plant-louses that live on ...

  6. JavaSE复习(五)网络编程

    客户端:java.net.Socket 类表示.创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信 服务端:java.net.ServerSocket 类表示.创建Ser ...

  7. postgres(pl/pgsql)

    复制后期看 https://www.cnblogs.com/stephen-liu74/archive/2012/06/06/2312759.html https://www.cnblogs.com/ ...

  8. kkpager的改进,Ajax数据变化但是页码不变的问题,kkpagerajax

    最近做项目用到了kkpager来做分页,在一个页面只是调用一次的时候不会出现问题,但是在一个页面多次调用就出现问题了. 在网上搜集了好久,终于找到了解决方法,记录下来方便以后使用.希望也可以方便需要的 ...

  9. System and Device power management.

    Advanced Configuration and Power Management Interface(ACPI)是由Intel,Microsoft等厂家订的一套Spec,规范了OS,APP对于电 ...

  10. 通过数据库评估存储设备IO性能-Oracle11gIO校准功能介绍

    通过数据库评估存储设备IO性能 ---------Oracle11g IO校准功能介绍 前言 I/O子系统是ORACLE数据库的一个重要组成部分,因为I/O操作是贯穿数据库管理全过程,它操作的对象包括 ...