2.22考试

题目不难

T1做得太慢了,而且T2,T3也显得思维不够灵活

注意复习

 

T1:

n<=2000

f[n],剩n张牌期望次数

f[n]=.....从1~n-1算上方案递推过来

C(n-1,i-1)值域分成i段,

g[i]表示i的全排列中,不存在j<j+1且a[j]+1=a[j]的方案数(不能再合并)

g[n]=n!-∑C(n-1,i-1)*g[i]减去不合法的(不合法的一定相邻,考虑相邻几个)

O(n^2)

用多项式科技可以做到O(nlogn)(g多项式求逆)

 

 

T2:

 

折半爆搜

正解:折半
开一个map,先计算C(11,5)*P(6,6)放进C(11,5)个map,map<%k,ll>
再计算P(11,6)到map里查询

直接dfs+常数优化?

1.压二进制,lowbit快速找最后1

2.sz查找剩余1个数,减少dfs传参

3.剩下最后一个1的时候,直接判掉就不用再递归到0了,省下叶子9e7次

 

 

T3:

 

 

矩阵求和二维前缀差分,推两次等比数列求和

维护修改增加值

离线离散化坐标

cdq或者树状数组套线段树

 

转载于:https://www.cnblogs.com/Miracevin/p/10420428.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值