首页 > 其他分享 >HT-018 Div3 构造 题解 [ 黄 ] [ 数学 ] [ 结论 ]

HT-018 Div3 构造 题解 [ 黄 ] [ 数学 ] [ 结论 ]

时间:2024-08-01 23:28:32浏览次数:16  
标签:begin frac 题解 bmod end HT 018 2m cases

构造:结论题,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;
}

标签:begin,frac,题解,bmod,end,HT,018,2m,cases
From: https://www.cnblogs.com/zhr0102/p/18337791

相关文章

  • Educational Codeforces Round 168 (Rated for Div. 2)A——D题解
    EducationalCodeforcesRound168(RatedforDiv.2)A——D题解A.StrongPassword题意:给一个小写字符串密码,添加一个小写字母,使得密码更加复杂。题解:有相同的相邻的字母,再其中间添加不同的字母;如果没有相同的相邻的字母,则最后添加一个字母。#include<bits/stdc++.h>......
  • HT-018 Div3 能量消耗 题解 [ 绿 ] [ 线性 dp ] [ 前缀和优化 ]
    能量消耗:一个前缀和优化dp的大典题,要是数据水一点\(O(n^3)\)都能硬草过去。思路显然,定义\(dp[i]\)为考虑前\(i\)个塔,并且将前面的精灵全部收集的最小代价。于是转移:\[dp[i]=min(dp[i],dp[j]+w(j,i)+c[i])\]其中\(0\lej<i\lem\),\(w(j,i)\)表示收集从塔\(j\)到......
  • JavaWeb(10) HTTP协议
    一、HTTP协议1.定义        HTTP超文本传输协议(HTTP-HyperTexttransferprotocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器......
  • CF1987C Basil's Garden 题解
    CF1987CBasil'sGarden题解壹·题目描述有$n$个数字排成一排,接下来每隔一秒进行一次操作:如果$i=n$或$h_i>h_{i+1}$,则第$i$盆花的高度$h_i$将变为$\max(0,h_i-1)$。请问至少经过多少秒后,所有的数字都为$0$。贰·思路分析可以知道,$h_i\leq1$时$h_i←0$。显然可......
  • tpmtool 描述:     此实用程序可用于获取有关受信任的平台模块(TPM)的信息。    
     tpmtool|MicrosoftLearntpmtool描述:  此实用程序可用于获取有关受信任的平台模块(TPM)的信息。  有关最新文档,请转到https://aka.ms/tpmtool语法:  tpmtool[parameter][<参数>]参数:  GETDEVICEINFORMATION          显示......
  • [题解]P6927 [ICPC2016 WF] Swap Space
    思路显然要按\(a_i,b_i\)的大小关系分类:\(a_i<b_i\):假令有两对数\((a_1,b_1),(a_2,b_2)\),且\(a_1\leqa_2\)。如果\(b_1\geqa_2\)。则按照12的顺序,将带来\(a_1\)的花费,以及\(b_1+b_2\)的额外空间;而按照21的顺序,将带来\(a_2\)的花费,以及\(b_1+b_2......
  • CF553E Kyoya and Train 题解
    Description给定一张\(n\)个点\(m\)条边的无重边无自环的有向图,你要从\(1\)号点到\(n\)号点去。如果你在\(t\)时刻之后到达\(n\)号点,你要交\(x\)元的罚款。每条边从\(a_i\)到\(b_i\),走过它需要花费\(c_i\)元,多次走过同一条边需要多次花费。走过每条边所需......
  • 【问题解决方案】npm install报错问题:npm ERR! - 多种解决方案,总有一种可以解决
    @[toc]1.问题重述安装package.json里面的包,使用npminstall但是报错2.解决方案方案1.确认根目录正确确认自己的目录是根目录(也就是处于./package.json可以找到的位置)例如--根目录----package.json----其他文件----其他文件方案2.确认文件名正确确认自己的pack......
  • P9308 「DTOI-5」#1f1e33 题解
    声明:截止\(2024.8.1\),拿下洛谷最优解最短解,代码长度不到1k。复杂度\(O(n\log\logn)\)。先骂:官方题解菜!这种纯洁的数论题居然敢引入NTT作为标算,说明出题人不会推式子。还有题解区一车\(\log\)的题解凭啥顶那么上面,推的一坨狗屎推出来的复杂度还不优秀。说明:下面除法默......
  • 2024牛客暑期多校训练营6 A.cake(题解)
    A.Cake题意两个人玩游戏,游戏分两阶段第一阶段在一棵有根树上轮流走,走到叶子停止,有根树边上有01标记,记录下走过的01串第二阶段分蛋糕,Oscar按自己的意愿切蛋糕,然后按照第一阶段获得的01串顺序依次拿蛋糕(1代表Grammy拿,0代表Oscar拿)两人都想让自己获得尽量多的蛋糕,......