随笔分类 - 题解。蒟蒻
摘要:越狱的状态数 = 状态总数 - 无法越狱的状态数So,Answer = M^N - (M-1)^(N-1)*M用快速幂解就行哦还有取模,那就用 A mod D = (B mod D - C mod D) mod D 解决【Code】
阅读全文
摘要:搜索题。。。剪枝一大堆。。。水题。。。【Code】
阅读全文
摘要:先找到B的位置x,然后依次统计A[i..x-1](0<i<x)中小于B的个数,和A[x+1..i](x<i<n)中大于B的个数最后Answer等于(左边有i个小于B的情况总数 * 右边有i个大于B的情况总数)的总和。【Code】
阅读全文
摘要:依旧是数据结构题。用Splay来维护。支持操作:Insert Delete Pre Suf【Code】
阅读全文
摘要:Splay。。。。只有Insert Pre Suf三个操作。。。。【Code】
阅读全文
摘要:搜索。。。用一下Hash判重就行。。。简单。。。【Code】
阅读全文
摘要:博弈论题。。。可以发现,假如都依照最优策略来看的话,棋盘最后必然会被全部走过。。。于是就变成判断n*n的奇偶性的问题了。。。然后小学时不是学过“奇数*奇数=奇数,偶数*偶数=偶数”。。。。那样的话判断n的奇偶性就行了。。。【Code】
阅读全文
摘要:不过一道普通的DP,但貌似数据太弱还是。。。我弄个O(n^2)的DP都能AC。。。。初始DP转移方程:f[i]=max{f[j]+1},条件:abs(x[i]-x[j])+abs(y[i]-y[j])<=time[i]-time[j](j<i)然后还可以用一个单调队列优化成O(n)貌似。。。然后我懒...
阅读全文
摘要:这是BZOJ最水的省选题了。。。。反正每次切成两半,直到出现1为止。那么答案也就是log2咯。【Code】
阅读全文
摘要:一道极其相似的题。。。http://hi.baidu.com/8361101/item/5b149103cbf4007cbee97e5f就多了个区间查找,少了个翻转。。。少了翻转的话貌似可以不用Splay?反正我懒得去想。。。每次操作复杂度均为O(lg n)诶我貌似没讲如何区间查找。。。。。。假设我...
阅读全文
摘要:。。。。这道题就是Noi原题嘛。。。虽然更容易写。。。题意:建立一个数据结构,并支持以下操作:Insert 区间插入有序序列;Delete 区间删除;Rotate 区间翻转;Get 单点查询那就用Splay来做吧。。。每个操作O(lg n)还有块状链表,O(n^0.5),但难写【我会说块状链表已经成...
阅读全文
摘要:这道题啊。。。。。。我不会推导,于是直接查找题解。。。。设F[i]为外围有i个原子时的方案数。推导公式:F[i] = 3*F[i-1] - F[i-2] + 2然后就高精度计算。。。。就可以了。。。。Code:http://ideone.com/wKibdj
阅读全文
摘要:题意:已知N的值,求X^2 + Y^2 = N^2的解的个数(XYN均为正整数)方程一看就知道和勾股数有关。。。没错,这题就是一道数论题~我记得有个公式挺好用的,最简勾股数的XYZ总能符合以下公式:(m,n为正整数且m>n)X = 2 * m * nY = m^2 - n^2Z = m^2 + n^...
阅读全文
摘要:先求出无法越狱的概率[(m-1)/m]^(n-1),可以越狱的概率也就理所应当等于1-[(m-1)/m]^(n-1),然后再求出总的方案数m^n,最后两者相乘即为Answer。难点主要在于如何快速求(a^b) mod p。计算a^b可以拆成计算a^(b/2)*a^(b/2)(当b为奇数时拆成a^(b...
阅读全文
摘要:题意:给一串数C[1..n],对于每次询问[i,j],给出C[i..j]中有多少个数出现过两次。与上一题BZOJ 1878做法相似,只需将Pre[i]+1..i改为Pre[Pre[i]]+1..Pre[i]。BZOJ 1878题解:http://hi.baidu.com/8361101/item/0...
阅读全文
摘要:题意:给一串数C[1..n],对于每次询问[i,j],给出C[i..j]中有多少个不同的数。此题可用离线做法。先对每个询问排序,并求出Pre[1..n](Pre[i]表示C[1..i-1]中与C[i]相同且离C[i]最近的数的下标,如没有则为0)然后建一个树状数组Tree,i依次取值为1..n。先把...
阅读全文
摘要:线段树。支持区间加、区间乘、区间查询和。标记下移还有取模要注意。varn,p,q,i,s,t:longint;a:int64;num,n1,n2,n3:array[0..500000] of int64;procedure build(o,l,r:longint);var m,i:longint;b...
阅读全文
摘要:DP+斜率优化就不再多说了。。。还是基础的斜率优化。。。varn,i,s,t,a,b,c,xa,xb,xc:longint;num,dp,xl,sum,s2:array[0..1000005] of int64;beginread(n,xa,xb,xc);for i:=1 to n do read(...
阅读全文
摘要:DP+斜率优化DP方程为dp[i]:=max(dp[j]+sum[i]-sum[j]+i-j-1)(j ((dp[b]-dp[a]+sum[b]*sum[b]-sum[a]*sum[a])/(sum[b]-sum[a])) then begin xl[s]:=0;inc(s); end ...
阅读全文
摘要:DP+斜率优化。DP方程为dp[i]:=max(dp[j]+(p[k]*(x[i]-x[k]))+c[i]) (js do if (y[i]-y[dd[t]])/(x[i]-x[dd[t]])<(y[dd[t]]-y[dd[t-1]])/(x[dd[t]]-x[dd[t-1]]) then b...
阅读全文

浙公网安备 33010602011771号