题目大意:有$n$个数,每个数为$s_i$,两个操作: $1\;l\;r\;x:$表示将区间$[l,r]$内的数加上$x$ $2\;l\;r\;p:$表示求$s_l^{s_{l+1}^{^{s_{l+2}\dots}}}\bmod p$直到$s_r$ 题解:区间加可以通过树状数组维护,考虑操作二,由扩展欧拉定理可得:$$a^b\equiv\begin{cases}a^{b\bmod{\varphi(p)}} &(a,b)=1\\a^b &(a,b)\not=1,b<\varphi(p…
https://www.luogu.org/problemnew/show/P3934 题面自己读吧(滑稽. 看到这道题就能够想到BZOJ4869:[SHOI2017]相逢是问候我们曾经用过的哲学扩展欧拉定理. (咦什么时候这个东西都普及到noip了好方啊) 也就是说,不论询问的区间[l,r]长度有多大,实际上我们暴力算只需要logp次模数就变成了1之后的询问就不需要担心了. 区间修改可以线段树/树状数组来干. 敲完发现是70pts,很难受. 有没有发现这个公式前面有一个前提?其实,当a^b<p…
先放个奈芙莲 解法 看到这种题目就知道是欧拉降幂,然后根据某玄学证明,递归欧拉降幂从l到r不会超过\(\Theta(log_n)\),所以直接递归解决,然后区间修改直接树状数组维护一下 然后就A了 代码 #include <cstdio> namespace FenTree{ #define lowbit(x) (x&(-x)) #define MAXN 500005 #define ll long long ll BIT[MAXN]; int n; void add(int pos,…
和Ynoi2016 炸脖龙重题了. BZOJ 5394. 首先是扩展欧拉定理: 一开始傻掉了……递归的层数和区间长度无关……也就是说我们每一次直接暴力递归求解子问题一定不会超过$logP$层,因为当模数变成$1$了的时候,不管怎么乘方都不会再变化了. 然后要注意$b < \phi (P)$的情况,在快速幂的时候判断一下,如果超过了$\phi (P)$,那么就再加上一个$P$. 对于区间修改,树状数组或者线段树均可,每一层直接查询. 一共有不超过$logP$层,每一层有$logn$的开销查询元素,…
洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和仓库总是被敌方派人偷袭.于是,WLP动用了他那丰满且充实的大脑(或许更偏向前者),想出了一个好主意,他把海滩分成垂直于海岸线的若干列,在其中的几列上放置几个信号塔,试图来监视整个海滩.然而,WLP是一个非常心急的人,他把信号塔建好后才发现还需给信号塔供能,它们才能投入使用(这不是废话么),它们都有一…
洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的. 不过好消息是,聪聪得到了一份荒岛的地图.地图上标注了N个野人居住的地点(可以看作是平面上的坐标).我们知道,同一个部落的野人总是生活在附近.我们把两个部落的距离,定义为部落中距离最近的那两个居住点的距离.聪聪还获…
洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 那么讲题了 很好的一道图论模型转化的题目 考虑什么情况下两个元素一定要放在不同的栈内 经过一番仔细思考+草稿模拟你会得出 当且仅当存在三元组\((i,j,k)\),其中\(i<j<k\)且\(v[k]<v[i]<v[j]\)时,\(i\)和\(j\)一定要放在两个不同的栈内 抽象理解…
[咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能惨惨的迎接剩下的16天(吧) 下面是题解的代码(填坑),神奇的是这四道题都需要DP.参加SXOI的大佬真是tql,此处手动@ljt12138@__stdcall T1找性质,popcnt为1的加上popcnt为0的就是答案(然而当时没想到只打了暴力) #include<bits/stdc++.h>…
[洛谷P1823]音乐会的等待 Description N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的. 写一个程序计算出有多少对人可以互相看见. 输入格式: 输入的第一行包含一个整数N (1 ≤ N ≤ 500 000), 表示队伍中共有N个人. 接下来的N行中,每行包含一个整数,表示人的高度,以毫微米(等于10的-9次方米)为单位,每个人的调度都小于2^…
+++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233. + +欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+ +++++++++++++++++++++++++++++++++++++++++++ https://www.luogu.org/problemnew/show/3527 http://www.lydsy.com/JudgeOnline/problem.php?id=2527…