首页 > 其他分享 >*ABC 236 D - Dance(dfs)

*ABC 236 D - Dance(dfs)

时间:2022-09-07 23:55:08浏览次数:109  
标签:ABC idx Dance LL dfs Sample Input 236 sum

https://atcoder.jp/contests/abc236/tasks/abc236_d

题意:两个两个组队,开心值异或,求最大开心值。

注意这句话:
If Person i and Person j pair up, where i is smaller than j。
Sample Input 1  
2
4 0 1
5 3
2
Sample Output 1  
6
 
Sample Input 2  
1
5
Sample Output 2  
5 

Sample Input 3  
5
900606388 317329110 665451442 1045743214 260775845 726039763 57365372 741277060 944347467
369646735 642395945 599952146 86221147 523579390 591944369 911198494 695097136
138172503 571268336 111747377 595746631 934427285 840101927 757856472
655483844 580613112 445614713 607825444 252585196 725229185
827291247 105489451 58628521 1032791417 152042357
919691140 703307785 100772330 370415195
666350287 691977663 987658020
1039679956 218233643
70938785
Sample Output 3  
1073289207
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=200200,M=2002;
LL n,maxn=0,sum=0;
LL a[M][M];
LL vis[N];
void dfs(LL idx,LL sum)
{
    if(idx>(2*n-1))//总共有(2*n-1)*(2*n-1)个数字,对数即为(2*n-1)
    {
        maxn=max(maxn,sum);
        return ;
    }
    if(vis[idx])
    {
        dfs(idx+1,sum);
        return ;
    }
    for(LL i=idx+1;i<=2*n;i++)
    {
        if(!vis[i])
        {
            vis[i]=1;
            dfs(idx+1,sum^a[idx][i]);
            vis[i]=0;
        }
    }
}
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    //cin>>T;
    while(T--)
    {
        cin>>n;
        for(LL i=1;i<=2*n-1;i++)
            for(LL j=i+1;j<=2*n;j++)
            cin>>a[i][j];
        dfs(1,0);//0跟任何数字异或都是那个数字
        cout<<maxn<<endl;
    }
    return 0;
}

标签:ABC,idx,Dance,LL,dfs,Sample,Input,236,sum
From: https://www.cnblogs.com/Vivian-0918/p/16667769.html

相关文章

  • ABC267 - C,D Solutions
    目录ABC267-C,DSolutionsC-Index×A(Continuousver.)ProblemStatementSolutionImplementationD-Index×A(NotContinuousver.)ProblemStatementSolutionImp......
  • ARC147F Again ABC String 解题记录
    题意:给定整数\(X,Y,Z\),称一个字符串\(S\)合法,当且仅当:\(|S|=n\)仅由字符\(\texttt{A,B,C}\)构成。对每个\(i\)满足:记\(A_i,B_i,C_i\)表示\(S\)前\(i\)......
  • ABC264 G - String Fair
    DP+最短路+哈希G-StringFair(atcoder.jp)题意给若干个只包含小写字母的长度<=3的字符串\(T_i\),每个字符串有权值构造一个非空字符串S,若S中包含上述子串,则......
  • ABC264 F - Monochromatic Path
    DPF-MonochromaticPath(atcoder.jp)题意在n*m(1<=n,m<=2000)的网格图中,每个格子有0,1两种,有两种操作将第i行元素反转,花费r[i]代价将第j行元素反转,花......
  • ABC #267 C、D、E、F
    C-Index×A(Continuousver.)(atcoder.jp)考虑维护一个长度为m的滑动窗口,滑动窗口从左往右移动的过程中,维护\(\sum_{i=1}^Mi*B_i\)。右端点往后移动一格到位置i,对......
  • 字节跳动 DanceCC 工具链系列之Xcode LLDB耗时监控统计方案
    作者:李卓立仲凯宁背景介绍在《字节跳动DanceCC工具链系列之Swift调试性能的优化方案》[1]一文中,我们介绍了如何使用自定义的工具链,来针对性优化调试器的性能,解决大......
  • 三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为mn,np,pq,且m<n<p<q,以下计算顺序
    题目在深度学习中,涉及到大量矩阵相乘,现在需要计算三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为mn,np,p*q,且m<n<p<q,以下计算顺序效率最高的是:()a.A(BC)b.(AB)C......
  • ABC261
    IntersectionTournamentResultNewFolder(1)FlippingandBonusManyOperationsSortingColorBallsReplaceGameonGraph......
  • ABC265 F - Manhattan Cafe
    前缀和优化DPF-ManhattanCafe(atcoder.jp)题意给定n,d(n<=100,d<=1000)在n维空间中,给定两个点p,q,求点r的数量,满足r与p,q的曼哈顿距离均<=d思路首......
  • ABC267总结
    比赛链接比赛情况AC:6/8题目分析A(语法入门)打表周一到周五即可B(基础算法)按照题意计算即可假如1号球没倒,则非法否则分别找最左和最右分别没倒的列,判断中间是否有一......