AtCoder Beginner Contest 291 D-G

本文介绍了几道编程竞赛中的题目,包括D-FlipCards的动态规划解法,E-FindPermutation的拓扑排序应用,F-TeleporterandClosedoff的最短路径问题,以及G-ORSum的循环卷积求解最大值。每道题都提供了思路和解决方案,涉及的技术包括动态规划、图论和傅里叶变换。
摘要由CSDN通过智能技术生成

下午陪女朋友去台东了,这场rated但是没打掉大分了,赛后补题了感觉这场很好。
前三题就暂且在这里不细讲了。
D - Flip Cards
简要题意 给你 n n n张牌,有正反两面,我们选择一种放置方式(若干张是正面,剩下的是反面,共 2 n 2^n 2n种),问你有多少种放置方式使得放置后的牌相邻的两个数两两不同, n < = 2 e 5 n <= 2e5 n<=2e5
思路 简单 d p dp dp,可以套路地从左到右维护 d p dp dp,增加一个状态表示是否是正反面,然后从左到右都保证相邻互不相同即可。
提交

E - Find Permutation
简要题意 给你一个排列 p p p,以及m次关系,每次关系的格式如下给你两个数 a a a, b b b,表示 p p p数组的第 a a a个数小于第 b b b个数,问你能否唯一确定一个排列, n < = 2 e 5 n <= 2e5 n<=2e5
思路 这是一道拓扑排序的题目,考虑把关系看成一个有向边,然后做一遍拓扑排序,然后有环表示无解,无环要考虑唯一性,我们把拓扑完的数组,相邻两个看看是否直接连边即可。
提交

F - Teleporter and Closed off
简要题意 给你 n n n个长度为 m m m的字符串表示 i i i点到 j + i j + i j+i点是否可达,如果 s j s_j sj为1表示可达,否则为不可达,问你不经过 i i i的最短路 , n < = 2 e 5 , m < = 10 n <= 2e5 , m <= 10 n<=2e5,m<=10
思路 考虑分块,维护根号n的(1 + …+ ai)总和,然后暴力根号去遍历加上即可。
提交

G - OR Sum
简要题意 给你两个数组 A A A, B B B,数组 A A A可以循环左移,求 ∑ a i ⊕ b i ∑a_i⊕b_i aibi的最大值, n < = 2 e 5 n <= 2e5 n<=2e5
思路 想了很久,才发现偏移量不变,貌似很多巨佬都是一眼循环卷积,我想了半小时才感觉可以 f f t fft fft,貌似就是 i c p c icpc icpc澳门站类似的题目,感觉看到偏移量也能够快速想到循环卷积,感觉也是经验吧,多积累这种敏锐性,用了偷来的 n t t ntt ntt板子快速切了这道题嘿嘿,思路就是拆位考虑,考虑每一位在某个偏移量的最大和,然后模拟一遍即可。
提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值