HT-018 Div3 构造 题解 [ 黄 ] [ 数学 ] [ 结论 ]
构造:结论题,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\) 的情况。
尝试构造 :
\]
解得:
\]
因为 \(x\) 为奇数,所以 \(x,y\) 皆为整数,成立。
当 \(x \bmod 4=0\) 时
把 \(4\) 提出来:
\]
所以设 \(x+y=2m,x-y=2k\) ,\(m,k\) 皆为整数 。
则解得
\]
显然 \(x,y\) 为整数,成立。
当 \(x \bmod 4=2\) 时
把 \(2\) 提出来:
\]
所以设 \(x+y=2m,x-y=k\) ,\(m,k\) 皆为奇数 。因为 \(2m\) 已经是偶数了,如果 \(k\) 还是偶数,那么就 \(x \bmod 4=0\),与题设矛盾,不成立 。
则解得
\]
显然 \(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 构造 题解 [ 黄 ] [ 数学 ] [ 结论 ]的更多相关文章
- USACO4.1 Beef McNuggets【数学/结论】
吐槽/心路历程 打开这道题的时候:*&@#%*#?!这不是小凯的疑惑吗?好像还是个加强版的?我疑惑了.原来$USACO$才是真的强,不知道什么时候随随便便就押中了题目. 对于我这种蒟蒻来说,这 ...
- Codeforces 577B Modulo Sum:数学 结论【选数之和为m的倍数】
题目链接:http://codeforces.com/problemset/problem/448/C 题意: 给你n个数字,给定m. 问你是否能从中选出若干个数字,使得这些数字之和为m的倍数. 题解 ...
- BZOJ 1192: [HNOI2006]鬼谷子的钱袋 数学结论
1192: [HNOI2006]鬼谷子的钱袋 Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的 ...
- 【bzoj2005】 [Noi2010]能量采集 数学结论(gcd)
[bzoj2005] [Noi2010]能量采集 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnli ...
- NOI1999 JZYZOJ1289 棋盘分割 dp 方差的数学结论
http://172.20.6.3/Problem_Show.asp?id=1289 除了下标一坨一坨屎一样挺恶心其他都还挺容易的dp,这道题才发现scanf保留小数位是四舍五入的,惊了. f[k][ ...
- 数学结论【p1463】[POI2002][HAOI2007]反素数
Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数 ...
- BZOJ1053(数学结论进行剪枝搜索)
Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1 ...
- 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 ...
- Not Adding - 题解【数学,枚举】
题面 原题链接(CF1627D) You have an array \(a_1,a_2,-,a_n\) consisting of \(n\) distinct integers. You are ...
- Primitive Primes - 题解【数学】
题面 It is Professor R's last class of his teaching career. Every time Professor R taught a class, he ...
随机推荐
- 2024-11-27:字符串的分数。用go语言,给定一个字符串 s,我们可以定义其“分数”为相邻字符的 ASCII 码差值绝对值的总和。 请计算并返回字符串 s 的分数。 输入:s = “hello“
2024-11-27:字符串的分数.用go语言,给定一个字符串 s,我们可以定义其"分数"为相邻字符的 ASCII 码差值绝对值的总和. 请计算并返回字符串 s 的分数. 输入:s ...
- 【返回值】定义泛型JSON
/** * 定义统一的Json结构 * 由于封装的Json数据的类型不确定,所以在定义统一的json结构时,我们需要用到泛型. * 统一的json结构中属性包括:数据.状态码.提示信息即可. * 构造 ...
- 【二分+前缀和+后缀和】codeforces 2026 D. Sums of Segments
题目 https://codeforces.com/problemset/problem/2026/D 题意 第一行输入一个正整数 \(n(1 \leq n \leq 3e5)\),第二行输入 \(n ...
- Kettle设置定时跑任务
1.Kettle设置作业 保存,test.kjb 2. 创建批处理 zxjb.bat C: cd C:\kettle\pdi-ce-9.4.0.0-343\data-integration kitch ...
- WinDbg: Failed to find runtime module (coreclr.dll or clr.dll or libcoreclr.so)
当我们通过 WinDbg 启动一个 .NET 的程序时,WinDbg 将会在运行可执行之前执行一个中断,此时还没有加载 .NET 的运行时. 但是,SOS 扩展需要 clr.dll 或者 corecl ...
- NoSQL 述评
作为主库的 nosql 只有 CockroachDB.TiKV 以及 MongoDB(从4.0后事务似乎可用了),CockrouchDB 已经收费,另外 YugabyteDB 也可选,但大家的反馈都不 ...
- shell 读取文件内容到数组
在 shell 脚本中,可以使用下面的语法来读取文件内容并将其存储到数组中: bash 复制代码 array=() while read line; do array+=("$line& ...
- How to Disable SELinux in Ubuntu Server/Desktop
https://www.configserverfirewall.com/ubuntu-linux/disable-selinux-ubuntu/ In this tutorial I will ex ...
- shell 判断是否已安装了某个软件
判断是否安装了node 复制if ! type node >/dev/null 2>&1; then echo 'node 未安装'; else echo 'node 已安装'; ...
- 【Linux】ps -ef|grep -v grep|awk '{print $2}' 命令详解
前言 在Linux服务器中使用脚本时,经常见到ps -ef|grep xxx|grep -v grep|awk '{print $2}'这一句命令 前半部分的ps -ef|grep命令,相信经常接触L ...