首页 > 其他分享 >[csp-s 模拟2] 线段树

[csp-s 模拟2] 线段树

时间:2024-09-07 16:27:02浏览次数:3  
标签:return 线段 dfs csp n1 query ll 模拟 mod

记搜是真叽霸快啊
#include<bits/stdc++.h>
#define lcs (rt<<1)
#define rcs (rt<<1|1)
#define axe r-l+1
using namespace std;
using ll=long long;
const int mod=1e9+7;
ll T,n,x,y;map<ll,ll> k,b;
void dfs(ll n){
	if(k[n]) return;
	ll n1=ceil(1.0*n/2);dfs(n1);
	ll n2=floor(1.0*n/2);dfs(n2);
	k[n]=((k[n1]+k[n2])<<1|1)%mod;
	b[n]=(b[n1]+b[n2]+k[n2])%mod;
}
int query(int rt,ll l,ll r,ll L,ll R){
	if(L>r||R<l) return 0;
	if(L<=l&&r<=R) return dfs(axe),(k[axe]*rt+b[axe])%mod;
	ll mid=(l+r)>>1;
	return (query(lcs%mod,l,mid,L,R)+query(rcs%mod,mid+1,r,L,R))%mod;
}
int main(){
	scanf("%lld",&T);k[1]=1;
	while(T--){
		scanf("%lld%lld%lld",&n,&x,&y);
		printf("%d\n",query(1,1,n,x,y));
	}
	return 0;
}

标签:return,线段,dfs,csp,n1,query,ll,模拟,mod
From: https://www.cnblogs.com/hypixel/p/18401828

相关文章

  • CSP模拟2
    A.不相邻集合考虑值域上连续的段,可以发现连续的长度为\(x\)的段的贡献必定为\(\lceil{\frac{x}{2}}\rceil\)考虑并查集维护值域连续的段的大小,每次询问求出全部连续段的\(\lceil{\frac{size}{2}}\rceil\)之和即为答案合并操作:在值域上加入\(x\),尝试合并\(x-1\)与\(x+1......
  • 【程序分享 2】分子动力学模拟 + 数据处理程序
    ​【2】分子动力学模拟+数据处理程序viewSq程序:可视化分子动力学(VMD)模块+ 分析X射线和中子结构因子freud程序:用于原子模拟数据的高通量分析HBCalculator程序:通过VMD可计算分子动力学模拟中氢键密度和强度的一维和二维分布DensityCalculator程序(1D&2D......
  • 【CSP】 202209-2 何以包邮?
    试题编号:202209-2试题名称:何以包邮?时间限制:1.0s内存限制:512.0MB70分DFS解法:#include<bits/stdc++.h>//包含所有标准库#defineN1000//定义常量N为1000#definelllonglong//定义ll为longlong类型的别名usingnamespacestd;llans=0x3f3f......
  • 20240906 模拟赛总结
    期望:100+70+4=174实际:100+70+4=174T1梦熊13连测的原题,刚好前几天订正过。。也就给我狗运到了,,观察性质发现,如果两个点所在直线与坐标轴的夹角越接近\(45^{\circ}\)就越优,转化为找到横坐标差的绝对值和纵坐标差的绝对值的差的最小值的两个点,可以坐标轴旋转,不过可以用更方便......
  • CSP 模拟 28
    T1喜剧的迷人之处在于将\(a\)分解质因数,容易找到满足\(ab\)为平方数的最小\(b\),然后需要让\(b\)乘上一个平方数后在\([L,R]\)中,二分找即可。T2镜中的野兽\[\begin{aligned}&f(x)=\sum\cdots\sum[\gcd=1,\text{lcm}=x]\\&g(x)=\sum\cdots\sum[\gcd\midx,\text{lcm......
  • CF1307(模拟赛记录)
    比赛页面偶然发现一道做过的G;C的罚时:没开longlong,谨记。然后一个小时没想出E……E题面:在一年成功的牛奶生产后,FarmerJohn奖励他的奶牛们它们最喜欢的美味的草。在田里有\(n\)个单位的排成一行的草,每个单位的草有甜味\(s_i\)。FarmerJohn有\(m\)头奶牛,每只都......
  • CSP-2024 第一次
    A分解\(a\)之后可以轻松找到最小的\(b\)满足\((a,b)\)是好的,而其他的\(b\)一定是最小的\(b\)的完全平方数倍。B暴力大战(为啥\(d^3(m)\)甚至\(d^4(m)\)能轻松过1e9啊,赛时以为\(d(m)=\Theta(\sqrtm)\),\(d^3(m)=\Theta(m\sqrtm)\)就没敢写,只写了\(O(m\log......
  • 洛谷 P5658 [CSP-S2019] 括号树
    洛谷P5658[CSP-S2019]括号树题意给定一棵树,每个点有一个括号(或)。定义\(s_i\)表示根节点到\(i\)每个点的括号组成的序列。求每个\(s_i\)中合法括号子串的个数\(f_i\)。思路定义\(g_i\)表示\(s_i\)中以\(i\)结尾的合法括号子串的个数。有\(f_i=f_{fa_......
  • 2024.9.6 模拟赛
    A对于一个子矩阵\((x_1,y_1),(x_2,y_2)\),其元素和为\(\sum_{i=x_1}^{x_2}\sum_{j=y_1}^{y_2}S_i\cdotS_j=(\sum_{i=x_1}^{x_2}S_i)(\sum_{j=y_1}^{y_2}S_j)\),\(O(n^2)\)枚举一下\(S\)的所有子区间的和放进一个桶里再检验一下即可。即对于一个子区间和为\(S_1\),需要累加和......
  • CF1534(模拟赛记录)
    比赛页面ABCD都打的可以,然而E的+10直接葬送了大概率过的F1……先猜了个\(n-k+1\)的结论,但是没有写搜索查正确性(事实上确实不正确),于是两次罚时,第一次是交互格式错了。然后又猜了个\(\min(n-k+1,(n-1)/(k-1))\)的结论,过了几个小的搜索数据(\(n\le6\))的,大一点的没跑,于......