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

Solution

等价于以下操作集合

  • \(x \pm 2a\)

  • \(y \pm 2a\)

  • \(x \pm 2b\)

  • \(y \pm 2b\)

  • \(x +a, y+b\)

  • \(x+b,y+a\)

设 \(A=2a,B=2b,d=(A,B)\)

则方程

\(iA+jB=x\)



\(iA+jB=y\) 一定都有解

根据裴蜀定理

\((a,b)=d \rightarrow d|ax+by \ \forall x,y\)

不妨先将坐标对 \(d\) 取模,那么 \(i,j\) 取值只能为 \(0,1\),都检验一遍即可

#include <bits/stdc++.h>
using namespace std; int a,b,x,y; int main() {
int t;
cin>>t;
while(t--) {
cin>>a>>b>>x>>y;
int d=__gcd(a,b)*2;
a%=d;b%=d;x%=d;y%=d;
if((x%d==0 && y%d==0) ||
((x+a)%d==0 && (y+b)%d==0) ||
((x+b)%d==0 && (y+a)%d==0) ||
((x+a+b)%d==0 && (y+b+a)%d==0))
puts("Y");
else puts("N");
}
}

[HAOI2011] 向量 - 裴蜀定理的更多相关文章

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

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

  2. BZOJ 2299 向量(裴蜀定理)

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

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

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

  4. [BZOJ 2299][HAOI 2011]向量 题解(裴蜀定理)

    [BZOJ 2299][HAOI 2011]向量 Description 给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), ...

  5. [BZOJ1441&BZOJ2257&BZOJ2299]裴蜀定理

    裴蜀定理 对于整系数方程ax+by=m,设d =(a,b) 方程有整数解当且仅当d|m 这个定理实际上在之前学习拓展欧几里得解不定方程的时候就已经运用到 拓展到多元的方程一样适用 BZOJ1441 给 ...

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

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

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

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

  8. 【BZOJ】1441: Min(裴蜀定理)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1441 这东西竟然还有个名词叫裴蜀定理................ 裸题不说....<初等数 ...

  9. BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理

    2257: [Jsoi2009]瓶子和燃料 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

随机推荐

  1. 详细讲解Codeforces Round #624 (Div. 3) E. Construct the Binary Tree(构造二叉树)

    题意:给定节点数n和所有节点的深度总和d,问能否构造出这样的二叉树.能,则输出“YES”,并且输出n-1个节点的父节点(节点1为根节点). 题解:n个节点构成的二叉树中,完全(满)二叉树的深度总和最小 ...

  2. C# 二进制 十进制 十六进制 之间的转换

    ; Console.WriteLine(a.ToString("X")); //10进制转16进制 Console.WriteLine(Convert.ToString(a, )) ...

  3. IDEA 代码量统计(Statistic)

    IDEA 代码量统计(Statistic) 1.1 前言 项目到了一定阶段,都会想要看看项目的代码量情况,这里主要使用插件Statistic进行代码统计查看. 1.2 安装插件步骤 找到插件市场入口并 ...

  4. linux操作系统搭建测试环境

    环境:linux操作系统.tomcat服务器.mysql数据库.火狐浏览器 工具:secureCRT.FileZalla 一.安装vmware虚拟机 二.在虚拟机上安装linux操作系统,参考http ...

  5. 常用 SQL Server 脚本

    运行维护 备份还原 # server_name # user_name # password # database_name # backup_path,备份路径,X:PathToBackupLoca ...

  6. 编译U-Boot时command not found的解决方法

    我使用的U-Boot版本是u-boot-2012.10,编译的步骤为 cd u-boot-2012.10 make s5p_goni_config sudo make 然后,就会看到错误提示 /bin ...

  7. 搁置:vue-element-admin

    初衷 了解桌面应用类前端搭建的解决方案 -------------------------------------------------------------------------------- ...

  8. memcached的安装、常用命令以及在实际开发中的案例

    Memcached注意缺乏安全认证以及安全管制需要将Memcached服务器放置在防火墙(iptables)之后 Linux平台 (CentOS)安装Memcached 安装依赖yum -y inst ...

  9. ESXI | ESXI6.7如何在网页端添加用户并且赋予不同的权限

    一.首先添加一个用户 管理---用户---安全和用户 添加的新用户会显示在下面 二.给添加上的用户赋予对应权限(我这里演示赋予的是只读权限) 主机---操作---权限 三.测试登录 当用只赋予了只读权 ...

  10. vue 项目

    项目搭建 1. npm install -g @vue/cli 2.vue -h 3.vue create list-demo 4.yarn serve 运行项目 路由 1.yarn add vue- ...