构造:结论题,gcy数竞大佬tql%%%orz。

结论

先放结论:如果 \(x \bmod 4=2\) ,那么 \(x\) 无法被表示为 \(a^2-b^2\) 的形式;除此之外的其他数都可以。

证明

对 \(a^2-b^2\) 因式分解,得 \(x=(a+b)(a-b)\) 。

当 \(x \bmod 2=1\) 时

包含 \(x \bmod 4=1\) 和 \(x \bmod 4=3\) 的情况。

尝试构造 :

\[\begin{cases} x+y=n \\x-y=1\end{cases}
\]

解得:

\[\begin{cases} x=\frac{n+1}{2} \\y=\frac{n-1}{2}\end{cases}
\]

因为 \(x\) 为奇数,所以 \(x,y\) 皆为整数,成立。

当 \(x \bmod 4=0\) 时

把 \(4\) 提出来:

\[x=4t=(x+y)(x-y)
\]

所以设 \(x+y=2m,x-y=2k\) ,\(m,k\) 皆为整数 。

则解得

\[\begin{cases} x=m+k \\y=m-k\end{cases}
\]

显然 \(x,y\) 为整数,成立。

当 \(x \bmod 4=2\) 时

把 \(2\) 提出来:

\[x=2t=(x+y)(x-y)
\]

所以设 \(x+y=2m,x-y=k\) ,\(m,k\) 皆为奇数 。因为 \(2m\) 已经是偶数了,如果 \(k\) 还是偶数,那么就 \(x \bmod 4=0\),与题设矛盾,不成立 。

则解得

\[\begin{cases} x=\frac{2m+k}{2}=m+\frac{k}{2} \\y=\frac{2m-k}{2}=m-\frac{k}{2}\end{cases}
\]

显然 \(x,y\) 为不是整数,不成立。

因此得证。

代码细节

注意 \(l,r\) 都是负数时加特判,把他变成正数的情况。

因为 c++ 在对负数取模时,会先把负数去掉,把他当成正数后取模,最后再加上负号。和我们先模在加再模的方式不同。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pi;
ll t,l,r;
int main()
{
freopen("construct.in","r",stdin);
freopen("construct.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t;
while(t--)
{
cin>>l>>r;
ll rg=r-l+1;
if(r<0)
{
l*=-1;
r*=-1;
swap(l,r);
}
if(r%4==0)r-=2;
else if(r%4==1)r-=3;
else if(r%4==3)r-=1;
cout<<rg-ll(ceil((r-l+1)/4.0))<<endl;
}
return 0;
}

HT-018 Div3 构造 题解 [ 黄 ] [ 数学 ] [ 结论 ]的更多相关文章

  1. USACO4.1 Beef McNuggets【数学/结论】

    吐槽/心路历程 打开这道题的时候:*&@#%*#?!这不是小凯的疑惑吗?好像还是个加强版的?我疑惑了.原来$USACO$才是真的强,不知道什么时候随随便便就押中了题目. 对于我这种蒟蒻来说,这 ...

  2. Codeforces 577B Modulo Sum:数学 结论【选数之和为m的倍数】

    题目链接:http://codeforces.com/problemset/problem/448/C 题意: 给你n个数字,给定m. 问你是否能从中选出若干个数字,使得这些数字之和为m的倍数. 题解 ...

  3. BZOJ 1192: [HNOI2006]鬼谷子的钱袋 数学结论

    1192: [HNOI2006]鬼谷子的钱袋 Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的 ...

  4. 【bzoj2005】 [Noi2010]能量采集 数学结论(gcd)

    [bzoj2005] [Noi2010]能量采集 Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnli ...

  5. NOI1999 JZYZOJ1289 棋盘分割 dp 方差的数学结论

    http://172.20.6.3/Problem_Show.asp?id=1289 除了下标一坨一坨屎一样挺恶心其他都还挺容易的dp,这道题才发现scanf保留小数位是四舍五入的,惊了. f[k][ ...

  6. 数学结论【p1463】[POI2002][HAOI2007]反素数

    Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数 ...

  7. BZOJ1053(数学结论进行剪枝搜索)

    Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1 ...

  8. CF1256(div3 java题解)

    A: 题意:给定A个N元,B个一元,问是否可以凑成S元. 思路:A*i+j=S 即 A*I<=S<=A*I+B 即min(S/N,A)+B>=S: /* @author nimphy ...

  9. Not Adding - 题解【数学,枚举】

    题面 原题链接(CF1627D) You have an array \(a_1,a_2,-,a_n\) consisting of \(n\) distinct integers. You are ...

  10. Primitive Primes - 题解【数学】

    题面 It is Professor R's last class of his teaching career. Every time Professor R taught a class, he ...

随机推荐

  1. 鸿蒙ArkUI-X已更新适配API13啦

    ArkUI-X 5.0.1 Release版配套OpenHarmony 5.0.1 Rlease,API 13,新增适配部分API 13接口支持跨平台:框架能力进一步完善,支持Android应用非压缩 ...

  2. 在window 使用 docker 安装redis 踩坑记

    1. 安装REDIS 在安装的时候,使用 docker pull redis 就可以了. 但是 实际上 发现镜像居然拉不下来. 修改了一下 docker 镜像. 配置如下: "registr ...

  3. 调用xlst执行转换

    try { //Create a new XslTransform object. XslCompiledTransform xslt = new XslCompiledTransform(); // ...

  4. nodejs版本控制器nvm安装及简单使用

    介绍:nvm是node.js的版本管理器,可以安装和切换不同版本node.js 下载:https://github.com/coreybutler/nvm-windows/releases 官网下载: ...

  5. RabbitMQ 快速入门

    RabbitMQ 快速入门 官网:https://www.rabbitmq.com/ 入门教程:https://www.rabbitmq.com/tutorials 最新版本:4.0.2 版本参考:J ...

  6. Navicat连接Oracle数据库报错:oracle library is not loaded解决方法

    连接Oracle时提示"oracle library is not loaded". 去Oracle官网下载Oracle Instant Client Downloads. htt ...

  7. 为什么 Llama 3.3 70B 比 GPT-4o 和 Claude 3.5 Sonnet 更优秀

    过去七天的 AI 新闻如狂风暴雨般涌来,AI 世界发生了许多重大变化.在这篇文章中,我们将深入探讨来自 Llama 3.3 70B.GPT-4o 和 Claude 3.5 Sonnet 等主要参与者的 ...

  8. Qt/C++音视频开发60-坐标拾取/按下鼠标获取矩形区域/转换到视频源真实坐标

    一.前言 通过在通道画面上拾取鼠标按下的坐标,然后鼠标移动,直到松开,根据松开的坐标和按下的坐标,绘制一个矩形区域,作为热点或者需要电子放大的区域,拿到这个坐标区域,用途非常多,可以直接将区域中的画面 ...

  9. Qt开发经验小技巧146-150

    Qt中自带的很多控件,其实都是由一堆基础控件(QLabel.QPushButton等)组成的,比如日历面板 QCalendarWidget 就是 QToolButton+QSpinBox+QTable ...

  10. 性能测试工具_nGrinder

    1. ngrinder-controller-3.4.3.war 放置到tomcat的webapps目录下:2. 启动tomcat;3. 访问地址: http://localhost:8080/ngr ...