08 2018 档案
摘要:题意 题解 翻到了一个金句 就跟这句话说得一样,就是个裸题。 所以看模板呗。
阅读全文
摘要:题意 题解 如果n是6的倍数,先手必败,否则先手必胜。 因为6*x一定不是pk 所以取得话会变成6*y+a的形式a=1,2,3,4,5; 然后a一定为质数。我们把a取完就又成为了6*x的形式。 又因为总数不断减少,所以6*x的局面是必败局面。 做完这题让我想起了初中时就被这种问题被人坑过。 然后博弈
阅读全文
摘要:题意 题解 可以发现当a=10001时, 和1是等价的。 所以这题就水了。
阅读全文
摘要:题意 求sigma(C(n,i))其中C是组合数(即C(n,i)表示n个物品无顺序选取i个的方案数),i取从0到n所有偶数。 由于答案可能很大,请输出答案对6662333的余数。 (n<=1018) 题解 其实就是一个快速幂。2n-1 为什么呢。 因为可以考虑假设当前要求n的答案。 对于每一个n-1
阅读全文
摘要:题意 n<=105 题解 一个数是不是偶数就是看有没有二这个质因子。 所以我们先预处理每个数的阶乘的二这个质因子的数量 然后按公式判断就行了。
阅读全文
摘要:题意 题解 首先吐槽一下体面的第一句话。反正我不知道(可能是因为我太菜了) 可能没有睡醒,没看出来是个背包。 但告诉是个背包了应该就好做了。
阅读全文
摘要:题意 n<=107 20MB 题解 也就是给n个点,把他们一个分为一组,或两个分为一组,有多少种方法。 空间大点随便做。 我们靠递推。 一个新点,要不自己一组,要不和前面的一个点构成一组。 所以f[0]=f[1]=1 f[i]=f[i-1]*f[i-2]*(i-1)就行了
阅读全文
摘要:题意 题解 枚举每一个可能的二进制数。扔到一个map里 再枚举每一个可能的三进制数看map有没有就行了 反正就是很水
阅读全文
摘要:题意 已知x,y为整数,且满足以下两个条件: 1.x,y∈[1…k],且x,y,k∈Z 2.(x^2-xy-y^2)^2=1 给你一个整数k,求一组满足上述条件的x,y并且使得x^2+y^2的值最大。 k<=1018 题解 这题需要推式子 (x2-xy-y2)2=1 (y2+xy-x2)2=1 [(
阅读全文
摘要:题意 求a1^a2^a3^...^an(mod10007)n<=1000000,a[i]<=10000 题解 明眼人一眼就可以看出是欧拉定理的推论。 首先这个题是错的,没说保证互质。 然而我背错了定理,然后就一直减一。 之后发现要求phi,求完之后一直RE,交了题解还RE、、、
阅读全文
摘要:题意 题解 这题有点水。 我们发现对答案有贡献的实际上只有左上到右下的对角线上的数。 因为不在这条对角线上的乘积都要计算两遍,然后%2就都没了。。。 然后就做完了。
阅读全文
摘要:题意 (n<=50000) 题解
阅读全文
摘要:4668: 冷战 Description 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁 幕演说”,正式拉开了冷战序幕。 美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其 盟国展开了数十年的斗争。在这段时期,虽然分歧和冲突严重,但双方都 尽力避免世界范围的大
阅读全文
摘要:题解
阅读全文
摘要:1594: [Usaco2008 Jan]猜数游戏 Description 为了提高自己低得可怜的智商,奶牛们设计了一个新的猜数游戏,来锻炼她们的逻辑推理能力。 游戏开始前,一 头指定的奶牛会在牛棚后面摆N(1 <= N<= 1,000,000)堆干草,每堆有若干捆,并且没有哪两堆中的草一样多。所
阅读全文
摘要:题意 第一行包含两个正整数,N和M。下来的M行每行包含三个正整数:x,y和v。表示景点x到景点y之间有一条双向公路 ,车辆必须以速度v在该公路上行驶。最后一行包含两个正整数s,t,表示想知道从景点s到景点t最大最小速度比 最小的路径。s和t不可能相同。 1<N<=500,1<=x,y<=N,0<v<
阅读全文
摘要:题意 Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 你要把其中一些road变成单向边使得:每个town都有且只有一个入度 (输出Yes或No)数据范围:2 ≤ n ≤ 100 000, 1 ≤ m ≤ 200 00
阅读全文
摘要:题意 给你一棵树,n个节点,n-1条边每条边i都有一个权值wi。定义任意两点间的权值为:这两点间的路径上的所有边的值的异或。比如a点和b点间有i,j,k三条边,那么ab两点间的权值为:wi^wj^wk。求这个最大的权值(最长异或路径)。 (n<=105) 题解 首先 边权可以放到点权上 然后我们可以
阅读全文
摘要:题意 N<=4*105 题解 看起来一副不可做的样子是吧,,,如果只看前半部分的式子呢?再看看后半部分...发现 前缀异或一下 trie树上查一查 后缀异或一下 trie树上查一查F[i]表示r1<=i的最大值 G[i]为l2>=i的最大值 两部分相加 搞定~
阅读全文
摘要:题意 N<=500000 题解 维护一个set可以用堆来解决。
阅读全文
摘要:题意 给你一个由小写拉丁字母组成的字符串 s。我们定义 s 的一个子串的存在值为这个子串在 s 中出现的次数乘以这个子串的长度。 对于给你的这个字符串 s,求所有回文子串中的最大存在值。 |S|<=300000 题解 裸的回文树,我们在每一个节点结束的最长回文后缀上记录一个cnt代表出现次数。 这个
阅读全文
摘要:题意 给一个长度为N的字符串S。对于一个字符串AB,如果A和B都是回文串,那么称AB是一个双回文串。求问S最长双回文子串的长度?N <= 100000 题解 正反双向构造回文自动机,得到某一个点为结尾和开始的最长回文串长度,记为f[i],g[i]; 答案就是f[i]+g[i+1]的最大值。
阅读全文
摘要:题意 给出一个长度为N的字符串S,问S中有多少个回文子串对(i,j)使得i,j在S中的位置相交?(N<=2*106) 题解
阅读全文
摘要:565: 最长双回文串 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3343 Solved: 1692[Submit][Status][Discuss] Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc
阅读全文
摘要:3790: 神奇项链 Description 母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有
阅读全文
摘要:题意 问边长为n的两个正方形中最大的相等子正方形。(n<=50) 题解 用到了二维hash,感觉和一维的不太一样。 对于列行有两个不同的进制数然后也是通过类似前缀和的方法差分出一个矩形的hash值 这样可以0(1)的算出一个正方形的hash值。 然后我们二分长度x,每一次遍历整个长度为x的子正方形n
阅读全文
摘要:题意 题解 考虑枚举每个位置,计算出在该位置上不同,其他位置上相同的字符串对数。考虑用字符串hash加密后,排序,看有多少个数字相同即可。这题难在卡常!不用自然溢出会T
阅读全文
摘要:题意 给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. (n<=1000000) 题解 这种求最小循环节的题一般是KMP。 因为有一个很强的结论if(len%(len-nxt[len])==0)那这个字符串的最小环节为len-nxt[l
阅读全文
摘要:题意 题解 因为,一直用j=nxt[j]来遍历,可以遍历前i个字符所有相等的前后缀长度,所以有一个暴力的想法,就是对于每一个长度,开始遍历,记录长度小于i/2的相等的前后缀数量,最后累加即可。 但显然超时了。 换一种思路,其实我们要的只是长度小于i/2的相等的前后缀数量。 然后我们可以利用KMP的方
阅读全文
摘要:题意 最初,农夫约翰的每头奶牛每天生产G加仑的牛奶 (1≤G≤109)(1≤G≤10^9)(1≤G≤109) 。由于随着时间的推移,奶牛的产奶量可能会发生变化,农夫约翰决定定期对奶牛的产奶量进行测量,并将其记录在日志中。 他的日志中的记录如下: 35 1234 -2 14 2345 +3 第一个条目
阅读全文
摘要:题意 给你n个串。问有多少长度为m的串使得这n个串至少在其中出现过一次。输出答案膜10007意义下的结果。 (n<=100,每个串的长度<=100) 题解 在AC自动机上跑DP。 用到一个容斥的思想,求至少出现过一次的次数就是,全部可能-一次都没出现的次数。 所以考虑dp,对于一个长度为i的串从i-
阅读全文
摘要:题意 给出一个字符串问有多少长度,使这个长度的前缀等于这个长度的后缀。 n<=400000 题解 考虑nxt数组的意义。我们发现构建nxt数组时,一直跳nxt数组就是在枚举,所有前缀和后最相等的长度。 所以我们求出nxt数组,然后一直跳nxt[len]就好了。
阅读全文
摘要:题意 求最小循环节出现次数。 题解 循环节可以用KMP求。 有一个结论是如果(len%(len-nxt[len])==0)那么最小循环节长度为len-nxt[len] 那么最小的循环节出现次数就是len/(len-nxt[len]) 那我们怎么证明呢 (黑色的方框代表nxt数组最长相等的前缀和后缀的
阅读全文
摘要:题意 题意:t个case(1<=t<=40),给你n个电话号码(电话号码长度<10)(1 ≤ n ≤ 10000),如果有电话号码是另一个电话号码的前缀,则称这个通讯录是不相容的,判断通讯录是否相容。 题解 把电话的结尾做标记,check的过程中,如果是电话号码的结尾并且trie树后面还有枝子,输出
阅读全文
摘要:题意 给出n个数,要求支持单点修改和区间逆序对,强制在线。 n,m<=50000 题解 和不带修改差不多,预处理出smaller[i][j]代表前i块小于j的数的数量,但不能用f[i][j]代表第i块到第j块逆序对的数量,这样不好维护。 我们用f[i][j]代表从第i块选出一个元素与从第j块选出一个
阅读全文
摘要:题意 询问区间内逆序对数 强制在线 1<=n<=50000 1<=m<=50000 题解 两个预处理f[i][j]为块i到j的逆序对数,s[i][j]前i块≤j的有多少个边角余料用个树状数组就行了
阅读全文
摘要:题意 第一行为一个正整数n,表示小朋友的数量;第二行包含n个由空格分隔的正整数h1,h2,…,hn,依次表示初始队列中小朋友的身高;第三行为一个正整数m,表示交换操作的次数;以下m行每行包含两个正整数ai和bi,表示交换位置ai与位置bi的小朋友。输出文件共m行,第i行一个正整数表示交换操作i结束后
阅读全文
摘要:题意 给定一棵n个节点的带权树,节点编号为1到n,以root为根,设sum[p]表示以点p为根的这棵子树中所有节点的权值和。计算姬支持下列两种操作: 1 给定两个整数u,v,修改点u的权值为v。 2 给定两个整数l,r,计算sum[l]+sum[l+1]+….+sum[r-1]+sum[r] N<=
阅读全文
摘要:题意: 给定一个数列,您需要支持以下两种操作:给[l,r]同加一个数询问[l,r]中有多少数字大于或等于v (n<=1000000,m<=3000) 题解 块内排序二分查询修改就用个数组存整块的修改值不完整的部分都暴力修改和查询 时间复杂度大概O(Qsqrt(n)logn)
阅读全文
摘要:题意 在线区间众数 思路 预处理出 f[i][j] 即从第 i 块到第 j 块的答案。对于每个询问,中间的整块直接用预处理出的,两端的 sqrtn 级别的数暴力做,用二分查找它们出现的次数。每次询问的复杂度是 sqrtn * logn 。
阅读全文
摘要:题意 N个数,M组询问,每次问[l,r]中有多少个数出现正偶数次对于100%的数据,1≤n,c,m≤105 题解 (传说lyd省选的时候看错题 把题看成这个了 从此又多了一道分块神题)把N个数分成sqrt(n)块,预处理d[i][j]表示第i块起点到第j块末尾的答案 枚举起点i,并维护一个数组记录每
阅读全文
摘要:2002: [Hnoi2010]Bounce 弹飞绵羊 Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时
阅读全文
摘要:3110: [Zjoi2013]K大数查询 Description 有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。 有N个位置,M个操作。操作有两种
阅读全文
摘要:题意 动态区间第k大 (n<=100000,m<=100000) 题解 整体二分的应用。 与静态相比差别不是很大。(和CDQ还有点像)所以直接上代码。
阅读全文
摘要:题解 又一次做这个题上一次用的是线段树上二分。这次用的是整体二分。结果: (第一个是整体二分) 整体二分就是对于所有查询都二分一个值。然后根据能不能成立把询问修改分成两部分,然后第二部分继承第一部分的信息,然后这两部分继续递归。直到答案的值域为一个数,将这些询问的答案设成这个数就行了。 实现的时候,
阅读全文
摘要:题目描述 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 输入输出格式 输入格式: 输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包
阅读全文
摘要:题解 三维偏序裸题。。。 一般三维偏序是第一维排序,第二维CDQ分治,第三维树状数组。 模板题还是看代码吧。。。
阅读全文
摘要:1176: [Balkan2007]Mokia Description 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000000. 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的
阅读全文
摘要:显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是上面有几个已标记了的点(包括自身)。所以,我们不妨把 z 到根的路径上的点全部 +1,对于 l 到 r 之间的点
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const long long N=100010; 8 long long cnt,head[N]; 9 long long size[N],fa[N],ff[N][30],son[N],dep[N...
阅读全文
摘要:题意 给棵n个点的树。边有边权然后有三种操作 1、CHANGE i v 将编号为i的边权变为v 2、NEGATE a b 将a到b的所有边权变为相反数。 3、QUERY a b 查询a b路径的最大边权。 (n,q<=10000) 题解 树剖裸题。 边权下放。线段树记录最大值最小值即可。
阅读全文
摘要:题意 给一个只有1和2的序列,每次询问有没有一个子串的和为x ( 1≤n,m≤1 000 000 )kkk ( 1≤k≤2 000 000 ) 题解 我觉得是道好题。 主要是证明一个性质:假如有一个字串的和为偶(奇)数,那么小于这个偶(奇)数的所有偶(奇)数一定等于这个串的某个字串的和。 我们考虑这
阅读全文
摘要:题意 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0。请找到最长的一段连续区间,使得该区间内所有数字之和不超过p。 (1<=d<=n<=2000000,0<=p<=10^16) 题解 一看以为是DP结果想了半天想不出来。(其实有点像) 然后又以为是单
阅读全文
摘要:题意 给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1。经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数都不小于k。M组询问 n<=1000000
阅读全文
摘要:题意 给定k,n,和n*n的矩阵,求一个子矩形满足权值和在[k,2k]之间 , 题解 这里用到了极大化矩阵的思想。推荐论文《浅谈用极大化思想解决最大子矩阵问题》Orz 如果有一个元素在[k,2k]之间。直接输出就好。 否则。把所有大于2k的元素作为障碍点。 求每一个最大化矩阵。(用单调队列) 如果这
阅读全文
摘要:题意 给一棵树,你可以匹配有边相连的两个点,问你这棵树的最大匹配时多少,并且计算出有多少种最大匹配。 N≤1000,其中40%的数据答案不超过 108 题解 显然的树形DP+高精。 这题是作为考试题考的,因为记得有一次考试,状态用两个数组存。 所以看到这题瞬间想到状态dp[i][0/1]代表以i为根
阅读全文
摘要:题意 给定一个n个点的无向图,要求将点集分成大小相等的两个子集,使两个子集之间的边数最少 (n<=26) 题解 一开始想了半天DP发现不会,去看题解全是搜索。 所以发现C(1326)可以过我就写搜索了。 这个搜索重点在于如何快速求出两个集合的交集有多少元素。 可以预处理规模为n/2的集合的元素数记为
阅读全文
摘要:题意 n天。第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他。 如果要满足顾客的需求,就必须要有足够的库存。问最多能够满足多少个顾客的需求。 (n<=250000) 题解 一看就知道是贪心。 我们把选择的每一天扔到一个堆里,按Bi从大到小排序。
阅读全文
摘要:题意 2n 个数站成两排(每个数在 2n个数中最多出现两遍),一次操作可以交换任意一列中两个数,求使每行数不重复的最少操作数。 (n<=50000) 题解 说实话,我真没想到图论。(我太菜了) 一开始以为是DP,写了一遍然后被自己的数据秒卡。 其实我已经发现选择的方案有依赖性,可是就是没想到图论。
阅读全文
摘要:题意 N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. (n<=250000,wi,di<=109) 题解 这种一堆矩形,又不像数据结构的题,一般都是单调栈。 考虑一个贪心:对于一个高度,一定要取得尽量宽。 像这样: 然后我们用单调栈求出左边最后一个高度大于等于它的和右边最后一个高
阅读全文
摘要:题意 有n个车站,现在有一辆火车从1到n驶过,给出aij代表从i站上车j站下车的人的个数。列车行驶过程中你有K次检票机会,所有当前在车上的人会被检票,问最多能检多少个不同的人的票 (n<=600,k<=50) 题解 一开始没啥思路,然后瞄了一眼题解。看到了前缀和然后就想前缀和的意义。 结果又没什么收
阅读全文
摘要:题意:给你一个长度为n的序列,有m个操作,写一个程序支持以下两个操作: 1. 修改一个值 2. 给出三个数l,r,k, 询问:如果把区间[l,r]的数从小到大排序,能否形成公差为k的等差数列。 n,m≤300000 0≤k,a[i]≤109 题解 这题坑我很久。 一眼望去这题不可作。(倒是想到维护最
阅读全文
摘要:题目 2行c列个点,开始时互不联通,支持给同一列或着同一行相邻的两个点连边,和询问两个点能否在一个联通块里。 1≤C≤100000 1<=操作数<=100000; 题解 线段树的又一个骚操作。 我们把2*2的4个点看作线段树上的叶子结点。其他节点就是其儿子的合并(叶子结点的父亲表示2*4八个点,然后
阅读全文
摘要:题意 给一张无向图,要求你用黑白灰给点染色,且满足对于任意一个黑点,至少有一个白点和他相邻;对于任意一个白点,至少有一个黑点与他相邻,对于任意一个灰点,至少同时有一个黑点和白点和灰点与他相邻,问能否成功n(<=200000) and m(<=500000) 题解 我一开始以为是一定成功。 结果忘了一
阅读全文
摘要:今天上午正在打题,听同学说晚上黄渤老师要来一阶为高三学长加油,想到终于可以见到一位真人明星了,心中突然激动。 中午跟我妈说了黄渤要来的事。我妈赶紧给我手机说,一定要拍几张照片回来。 我:“。。。” 晚上刚吃完饭,想打题打到8点然后凑热闹看看黄渤。然后去一阶踩点。 然后碰到机房几个。拉我去周边的一个大
阅读全文
摘要:题意 n个点完全图,每个边有两个权值,求分数规划要求的东西的最小值。 (n<=1000) 题解 心态炸了。 堆优化primT了。 普通的就过了。 我再也不写prim了!!!! 咳咳 最优比率生成树板子题。 公式不是很难推吧。 1 #include<iostream> 2 #include<cmath
阅读全文
摘要:题意 给你n次测试的得分情况b[i]代表第i次测试的总分,a[i]代表实际得分。 你可以取消k次测试,得剩下的测试中的分数为 问分数的最大值为多少。 题解 裸的01规划。 然后ans没有清0坑我半天。 1 #include<iostream> 2 #include<cstring> 3 #inclu
阅读全文
摘要:题意 给定一个环,每个节点有一个所属国家,k次事件,每次对[l,r]区间上的每个点点权加上一个值,求每个国家最早多少次操作之后所有点的点权和能达到一个值 题解 一个一个国家算会T。这题要用整体二分。我们二分mid给所有国家判断。把可以满足条件的国家放在左边,把所有不满足的国家放在右边。然后继续递归。
阅读全文
摘要:题意 给出n个点m条边的无向图。 每条边有两个权值a,b; 问在保证从1到n的路径a权值和小于x时,路径上b权值最大值最小为多少。 (n≤10000,m≤50000,x≤1000000000) 题解 二分x,然后跑最短路判断。 1 #include<iostream> 2 #include<cstr
阅读全文
摘要:题解 二分时间 然后一个显然的事是一个军队向上爬的越高它控制的点越多 所以首先军队尽量往上爬。 当一个军队可以爬到根节点我们记录下它的剩余时间T和它到达根结点时经过的根节点的子节点son。 当一个军队爬不到根节点时我们就让它控制它可以爬到的最高点。 然后我们把爬到根节点的军队按T从小到大排序。 然后
阅读全文
摘要:题解 单调性是当s-y大于0时w越小答案越优,反过来也成立。 所以二分答案。 然后问题是Yi怎么求,最接用前缀和预处理就行了。 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #inclu
阅读全文
摘要:题意 N(2<=n<=200)个城市,M(1<=m<=40000)条无向边,你要找T(1<=T<=200)条从城市1到城市N的路,使得最长的边的长度最小,边不能重复用。 题解 简单的网络流判定。 一看问法想到二分答案。然后边不能重复直接上网络流。 (用边长小于mid的边建图然后跑最大流,最后比较流量
阅读全文
摘要:题意 给定一个长度为n的序列a1~an,从中选取一段长度在s到t之间的连续一段使其平均值最大。(n<=100000) 题解 二分答案平均值。 judge时把每一个a[i]-mid得到b[i] 在b[i]中找到一段合法的串使其权值和最大。 当最大权值和大于等于0时则mid上移。 求最大权值和用单调队列
阅读全文
摘要:Description 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸时,如果另一个炸弹所在位置 Xj 满足: Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被引爆。 现在,请你帮忙计算一下,先把第 i 个炸弹引爆,将引爆多少个炸弹呢? 在一条直线上有 N 个炸
阅读全文
摘要:题解 (不会矩阵加速的先去学矩阵加速) 反正我想不到线段树维护矩阵。我太菜了。 我们在线段树上维护一个区间的斐波那契的列矩阵的和。 然后询问时提取每个符合题意列矩阵的答案项(不是列矩阵存了两项吗,一个是当前项,一个是用来递推的) 因为矩阵乘有结合律所以区间加这个操作就直接区间乘变换矩阵的x次方就行。
阅读全文
摘要:题解 弱智题,二进制表示位数。合并时用| 就是被1<<x卡了好久。 要写成1ll<<x才行 1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 #include<cstdio> 5 #include<algorithm> 6 us
阅读全文
摘要:题意 给你一个1~n排列,问有没有一个等差数列(长度至少为3) 题解 我居然自己想到了正解。 但我最后写挂了,所以我又看了题解。 我们维护了一个以权值为下标的01序列。 我们扫描整个序列。对于每一个正在扫描的数,我们判断以这个数的权值作为对称点,01序列是否对称。 这个序列用权值树状数组维护就行。
阅读全文