AtCoder Beginner Contest 238(efg)

E题题意:给若干区间的和,问最后能不能求出a1~an的和

思路:转化为图,已知若干sum(r) - sum(l-1),我们要求sum(n) -sum(0),把l-1和r连边,用并查集或者搜一下,看看能不能从0到达n,即sum(n) - sum(0)

F题题意:n=300,给二维偏序,选k对数,求不存在pi>pj且qi>pj的方案数

思路:(cc说是普及组水平,菜狗落泪

对第一关键字排序后,我们就看第二关键字

因为dp的转移有判存在性的问题,所以需要一维判qi>qj

dp[i][j][k]表示前i个选了j个,没有选的最小第二关键字排名是k的方案数

若ai<k,且选ai,则dp[i][j][k] -> dp[i+1][j+1][k]

不选ai,dp[i][j][k] -> dp[i+1][j][a[i]]

若ai>k,不能选ai,因为选了ai必须选k

若不选,dp[i][j][k] -> dp[i+1][j][k]
综上,不选部分对k取min就可

G,

题目大意,n个数,若干询问,每次询问[l,r]乘积是否为立方数,ai<=1e6

思路:目前会一个莫队的方法,差点被卡掉

1e6,本质不同的质因子数最多7个,每次莫队修改最多7次(预处理不同质因数,比如1024 = 2^10,其实修改一次就行),7n根号n可以过

卡常技巧,莫队用奇偶排序先优化一下

素数分解用log的方法

无需longlong

(7.27更新

还有个牛逼科技是异或哈希,去构造三个随机数,之间的关系形如1,2,3,1^2=3,1^3=2,2^3=1这样,就可以快速check区间每个数的出现次数是否是3的倍数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值