首页 > 其他分享 >[Note]CF 题乱做

[Note]CF 题乱做

时间:2022-09-21 07:33:49浏览次数:79  
标签:r1 r2 max CF len Note l2 ans 题乱

CF161C Abracadabra

*2400.

分治,每次有 \(4\) 种情况:左左,左右,右右,右左(相对于当前对称轴)。

复杂度看似是 \(O(n^2)\) 的,但是我们可以用以个剪枝将其优化到 \(O(\log n)\):如果两个区间完全无交,直接返回 \(0\)。

#include <bits/stdc++.h>
#define GC c=getchar()
#define IG isdigit(c)
template<class T=int>T frd(T x=0,char GC,bool f=1)
{
	for(;!IG;GC)f=c!='-';for(;IG;GC)x=x*10+(c^48);return f?x:-x;
}
using namespace std;
int solve(int l1,int r1,int l2,int r2,int len=1<<29)
{
	if(l1>r1||l2>r2) return 0;
	int ans(min(r1,r2)-max(l1,l2)+1);
	if(l1<=l2&&r1>=r2||l2<=l1&&r2>=r1) return ans;
	ans=max(ans,solve(min(l1,len),min(r1,len-1),max(l2,len+1)-len,max(r2,len)-len,len>>1));
	ans=max(ans,solve(min(l1,len),min(r1,len-1),min(l2,len),min(r2,len-1),len>>1));
	ans=max(ans,solve(max(l1,len+1)-len,max(r1,len)-len,max(l2,len+1)-len,max(r2,len)-len,len>>1));
	ans=max(ans,solve(max(l1,len+1)-len,max(r1,len)-len,min(l2,len),min(r2,len-1),len>>1));
	return ans;
}
signed main()
{
	int l1(frd()),r1(frd()),l2(frd()),r2(frd());
	printf("%lld\n",max(0ll,solve(l1,r1,l2,r2)));
	return 0;
}

CF1082E Increasing Frequency

标签:r1,r2,max,CF,len,Note,l2,ans,题乱
From: https://www.cnblogs.com/1l2u3o/p/16714300.html

相关文章

  • Linux FrameBuffer note
    https://learnopengl.com/Advanced-OpenGL/FramebuffersLinuxFrameBuffer如何直接操作FrameBuffer一般情况下,我们不会直接操作FrameBuffer,这是非常基础的操作,通常......
  • 【做题记录】CF878E
    让正数带的系数尽量大。如果要使系数最小的话,全部从左往右合并,可以让除了左端点之外全部系数为\(2\)。如果增大系数可以考虑先右再左。那么实际上就是分成若干组,组内......
  • CF1720E Misha and Paintings 题解
    神仙2700。首先统计出原数组中不同元素个数记作\(cnt\),如果\(cnt\lek\)说明元素个数不够,由于一次只能加一个颜色因此答案就是\(k-cnt\)。然后接下来要证明一个结论......
  • CF1363F题解
    好妙的dp-1的情况就是字母构成的可重集不同我们将一次操作抽象成将一个字符向前移动若干格我们设f[i][j]表示s串到了第i个字母,t串到了第j个字母的最小操作次数1.将第i......
  • 安装Jupyter notebook及其启动目录
    如果没有安装Python直接安装Jupyternotebook是不可以的,前提是要安装好Python如果安装好了Python3(注意必须是Python),保证pip升级到最新版本。pip3install--upgradepip......
  • EndNote X9 for Mac(最好用的文献管理工具)
    EndNoteX9forMac是一款非常值得推荐的文献管理软件,不仅可以让您免于手动收集和整理您的研究资料和格式化书目的繁琐工作,还可以让您在与同事协调时更加轻松自如。让你的......
  • 【题解】CF1733E - Conveyor
    因为每秒只放一个球,所以对于每一个\(x+y=a\)的对角线最多只有一个球且任意两个球不会相遇,所以我们只用知道第\(t-x-y\)秒放的球的移动路径即可。等价于需要求出前\(......
  • CF round 812 div2 A-D 题解
    首先第一题TravelingSalesManProblem,给出一些坐标,就是问从原点出发,然后收集所有的点,问最少需要多少次移动这个就是求收集完那曼哈顿距离,这个距离稍加观察可以发现,就是......
  • CF1694E Keshi in Search of AmShZ#800(div.2)
    题目链接https://codeforces.com/contest/1694/problem/E题意简述\(Keshi\)准备从城市\(1\)出发,前往\(AmShZ\)所在的城市\(n\).这里一共有\(n\)个城市,编号......
  • cf1722C
    example:cf1722C原始思路是用5e5的布尔数组对字符串哈希是否出现进行记录,但每次处理时初始化增加时间复杂度,大型数组增加空间复杂度,且编程时处理细节及判断较为繁琐考虑使......