首页 > 其他分享 >AtCoder Regular Contest 137 D

AtCoder Regular Contest 137 D

时间:2022-10-04 16:22:05浏览次数:52  
标签:AtCoder Contest 异或 Regular 137 答案 mod dp equiv

一道很好的题目,运用了很多不同的技巧。

结论1:枚举变换次数\(k\),若\(A_{i}\)对答案有贡献,当且仅当\(C_{n-i+k-1}^{k-1}\equiv 1 \mod 2\)。

首先我们可以统计\(A_{p}\)对答案进行了多少次异或,这个可以使用DP计算:\(dp(i,j)\)为进行\(k\)次变换,第\(j\)个数中包含多少个\(A_{p}\)。转移就是\(dp(i,j)=\sum_{k<j} dp(i-1,k)\)。其中\(dp(0,p)=1\)。

发现\(dp(i,j)=\sum_{k<j} dp(i-1,k)\)可以写成一个等价的转移:\(dp(i,j)=dp(i-1,j)+dp(i,j-1)\)。而这个是非常出名的网格图路径个数问题(\(n\)行\(m\)列网格图,从左上到右下最短路共有\(C_{n-1+m-1}^{m-1}\)条),带入式子中就是\(C_{n-i+k-1}^{k-1}\)。

异或具有自反性,故异或偶数次就没有对答案有贡献,所以若想对答案有贡献,则\(C_{n-i+k-1}^{k-1}\equiv 1 \mod 2\)。

结论2:在杨辉三角上,\(C_{x}^{y}\equiv 1\mod 2\),当且仅当\(x\&y=y\)(这里&是二进制下按位与)。

标签:AtCoder,Contest,异或,Regular,137,答案,mod,dp,equiv
From: https://www.cnblogs.com/Nastia/p/16753956.html

相关文章

  • Atcoder 题目选做
    ABC257G直接考虑\(\rmKMP\)的过程。\(\rmKMP\)可以帮助我们求出\(S\)的\(border\),并找到\(T\)中每一个位置能匹配上的\(S\)的最长前缀。那么我们就可以很......
  • 【合集】AtCoder 比赛题解
    PartAABCABC266(A-Ex)ABC267(A-G)ABC268(A-D)ABC269(A-F)ABC270(D-E)ABC271(C-F)PartBARCARC148(C)......
  • codeforces/AtCoder补题整理
    目录cf1738CEvenNumberAddicts(博弈/记忆化搜索)题意题解cf1739EResetKEdges(树,二分+贪心)题意题解cf1730DPrefixesandSuffixes(字符串,思维)题意题解cf1734DS......
  • AtCoder Beginner Contest 271
    AtCoderBeginnerContest271A-484558题意:把一个数转化为16进制map<int,char>mp;intmain(){ mp[10]='A'; mp[11]='B'; mp[12]='C'; mp[13]='D'; mp[......
  • AtCoder Beginner Contest 271(E,F,G,H)
    一个悲伤的故事。。。ABC271ESubsequencePath考虑设\(f_i\)为以第\(E_i\)条边结束的最优路径,设这条边是\(u_i\tov_i\)边权为\(w_i\)的边,那么转移可以枚举上......
  • AtCoder Beginner Contest 271
    尽量写的高质量一点,只写有意义的题目。C可以像题解一样通过二分来解决本题,这里提供一个桶+双指针的解法。先将书的序号排序,将相同的放在最后(unique函数),用桶维护共有......
  • AtCoder Beginner Contest 271赛后总结
    3.C-Manga题目大意:给出一本书的部分章节(数量n),当我们读取章节时,我们从1开始读并且按照顺序读取,如果某一个章节读取不了,那么就停止。现在我们有一种操作,可以将两个已有......
  • .NET教程 - 字符串 & 编码 & 正则表达式(String & Encoding & Regular Express)
    更新记录转载请注明出处:2022年9月28日发布。2022年9月28日从笔记迁移到博客。System.char说明singleUnicodecharacteraliasestheSystem.Charstructcharc......
  • AtCoder Beginner Contest 266
    AtCoder五十连练第三练AtCoderBeginnerContest266D-SnukePanic(1D)高桥正试图抓住许多Snuke。有五个坑在坐标\(0,1,2,3,4\)号线,连接到Snuke的巢。现在,\(......
  • AtCoder ABC 270 题解(D-F)
    AtCoderABC270题解(D-F)D-Stones(博弈DP)题目:​ 现在有一堆石子,一个序列a表示每次可以从石头里拿走多少个石子。当无法再拿出石头的时候,游戏结束。两边都以最佳策略......