UR #13 Ernd】的更多相关文章

考试的时候没有注意到可以将(a,b)放在二维平面上之后旋转坐标系,使得转移变成树状数组二维偏序 这样就算我想出来了第二个转移的斜率优化也没有什么卵用啊(摔西瓜 设g(i)表示当前站在第i个水果下面且第i个水果此时并没有记分的最大得分 设f(i)表示当前站在第i个水果下面且第i个水果此时已经记分的最大得分 g(i)=max(f(j)) (满足j能到达i) f(i)=max(g(j)+(i-j+1)^2)(满足从i出发可以一路接水果走到j) 首先考虑g(i)的转移,我们注意到j能到达i当且仅当 ab…
http://uoj.ac/problem/187 每个点只能从时间,b+a,b-a三维都不大于它的点转移过来,将点按时间分成尽量少的一些段,每段内三维同时非严格单调,每段内的点可能因为连续选一段而产生平方的贡献,可以每段开一个单调栈维护斜率优化dp处理. 注意到b-a和b+a同时小于可以推出时间小于,因此可以按b-a升序处理,b+a一维用树状数组维护前缀最值,处理选的点在时间上不连续的情况. #include<bits/stdc++.h> typedef long long i64; ; i…
第一次打UR,打了一个半小时就弃疗了QAQ 这是我唯一一道考试的时候做出来的题目,其他两道连暴力都懒得写了 很容易发现对于每个要删除的点 我们找到左边第一个比他小的不用删除的点,右边第一个比他小的不用删除的点 中间这段区间就是对于这个点被删除时的极大区间 对于所有的区间我们取min就可以了 对于找到某个点左边第一个比他小的不用删除的点 我是这样考虑的:将数从大到小的进行添加,并用并查集维护不用删除的点 那么之后这个点存在的极大区间显然是这段区间里的1的个数+1 这个算法是O(na)的 #incl…
总感觉这位大仙讲的很清楚:bztminamoto 题意 题目讲的是求 l~r 内所有数的次大质因子,这里设 f(x) 为 x 的次大质因子 我们差分一下就变成求两个前缀和信息了 按照套路,我们考虑 S(i,j) 表示小于等于 i 的数内,所有最小质因子小于等于 p[j] 的次大质因子的前缀和 然后我们考虑将所有数分为合数与质数,那么质数的次大质因子为 0 ,无贡献 至于合数就是枚举它的最小质因子,那么枚举到 pk (k>=j)时,我们有两种情况: 当前的 pk 是次大质因子,那么最大质因子可能为…
题面 传送门 题解 这是一道语文题 不难看出,题目所求即为\(l\)到\(r\)中每个数的次大质因子 我们考虑\(Min\_25\)筛的过程,设 \[S(n,j)=\sum_{i=1}^nsec_p(i)[min_p(i)\geq P_j]\] 用人话来说的话,就是\(S(n,j)\)表示\(1\)到\(n\)之间所有满足最小值因子大于等于\(P_j\)的\(i\)的次大质因子之和 我们照例把质数和合数的贡献分开考虑.所有质数贡献为\(0\),而对于合数,我们枚举最小质因子\(P_k\).此时分…
题目:http://uoj.ac/problem/188 令 \( s(n,j)=\sum\limits_{i=1}^{n}[min_i>=p_j]f(j) \) ,其中 \( min_i \) 表示 i 的最小质因子. 令 \( g(n,j)=\sum\limits_{i=1}^{n}[i \in P or min_i>p_j]1 \) ,其中 P 表示质数集合. \( s(n,j)=s(n,j+1)+s(\frac{n}{p_j},j)+p_j(g(\frac{n}{p_j},cnt)-(…
Description 给定 \(\sum_{i=l}^r f[i]\) \(f[i]=\) 把 \(i\) 的每一个质因子都从小到大排列成一个序列(\(p_i^{c_i}\)要出现 \(c_i\) 次)后 , 第二大的质因子. 题面 Solution 符合 \(Min25\) 筛的处理顺序. 递归处理每个质因子作为次大值时的贡献,和不作为次大值时贡献的方案数 , 预处理一下区间质数个数就行了. #include<bits/stdc++.h> using namespace std; type…
传送门 Sol 设 \(f_i\) 表示 \(i\) 的次大质因子 题目就是要求 \[\sum_{i=l}^{r}f_i\] 考虑求 \(\sum_{i=1}^{n}f_i\) 所求的东西和质因子有关,考虑 \(min25\) 筛的那一套理论 设 \(s(n,j)=\sum_{i=1}^{n}[low_i\ge p_j]f_i\),其中 \(low_i\) 表示 \(i\) 的最小质因子,\(p_j\) 为第 \(j\) 个质数 那么考虑枚举最小质因子转移 首先如果 \(p_k\) 不是次大质因…
题目 不是很能看懂题意,其实就是求\([l,r]\)区间内所有数的次大质因子的和 这可真是看起来有点鬼畜啊 这显然不是一个积性函数啊,不要考虑什么特殊的函数了 我们考虑Min_25筛的过程 设\(S(x,y)\)表示\([1,x]\)内的数满足\(minp(i)>=y\)的数的次大质因子的和 还是分成质数合数以及\(1\)来考虑\(S(x,y)\) 质数和\(1\)都没什么贡献,直接考虑合数 还是枚举最小质因子\(P_k\)以及其出现次数\(e\) 考虑从\(S(\frac{x}{P_k^e},…
传送门 思路 也可以算是一个板题了吧qwq 考虑min_25筛最后递归(也就是DP)的过程,要枚举当前最小的质因子是多少. 那么可以分类讨论,考虑现在这个质因子是否就是次大质因子. 如果不是,那么就是\(S(n/p,k+1)\):如果是,那么剩下的必定是一个更大的质数,那么就需要知道一段区间内有多少个质数. 质数个数显然可以min_25筛给搞出来. 于是就做完了. 代码 #include<bits/stdc++.h> clock_t t=clock(); namespace my_std{ u…