当前位置: 首页 > news >正文

bzoj 3105: [cqoi2013]新Nim游戏【线性基+贪心】

nim游戏的先手必胜条件是所有堆的火柴个数异或和为0,也就是找一个剩下火柴堆数没有异或和为0的子集的方案,且这个方案保证剩下的火柴个数总和最大
然后我就不会了,其实我到现在也不知道拟阵是个什么玩意……
详见:https://blog.csdn.net/wyfcyx_forever/article/details/39477673
其实想2460一样用贪心证明也行
总之用按大小从大到小假如线性基然后剩下的就是答案

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=105;
int n,top,a[N],b[N],q[N];
long long sm,ans;
bool cmp(const int &a,const int &b)
{
    return a>b;
} 
int main()
{
    scanf("%d\n",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]),sm+=a[i];
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        int t=a[i];
        for(int j=30;j>=0;j--)
            if(a[i]&(1<<j))
            {
                if(!b[j])
                {
                    b[j]=i;
                    break;
                }
                else 
                    a[i]^=a[b[j]];
            }
        if(a[i])
            ans+=t;
    }
    if(ans)
        printf("%lld\n",sm-ans);
    else 
        puts("-1"); 
    return 0;
}

转载于:https://www.cnblogs.com/lokiii/p/9599204.html

相关文章:

  • 第一次作业-准备
  • 计算机中丢失ucore46.dll,IT之家学院:如何修复Win10丢失的DLL文件错误?
  • TCP-HTTP ___UDP 应用场景
  • 计算机组老师颁奖词,优秀教研团队颁奖词
  • 腾讯云git基本使用
  • 南邮的计算机通信工程课程是什么,通信工程考研详解之南京邮电大学
  • 小朋友学数据结构(6):折半查找法
  • 服务器终端给op,服务器里op的指令
  • dellt130服务器做系统,戴尔Dell R330;T130安装系统后键盘鼠标不能使用
  • 解决 ImportError: No module named _internal
  • 网络与验证服务器失联怎样修复,GCP用一键服务器失联了,如何重装系统?
  • BZOJ 3223: Tyvj 1729 文艺平衡树-Splay树(区间翻转)模板题
  • bookstrap能编辑css吗,bootstrap的定制和修改
  • sql server服务器 性能,初涉SQL Server性能问题(1/4):服务器概况
  • 3D图形学理论入门指南
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 03Go 类型总结
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • JavaScript 奇技淫巧
  • javascript数组去重/查找/插入/删除
  • Java面向对象及其三大特征
  • JS 面试题总结
  • Js基础知识(一) - 变量
  • laravel5.5 视图共享数据
  • Linux快速复制或删除大量小文件
  • MySQL主从复制读写分离及奇怪的问题
  • Vue全家桶实现一个Web App
  • 分布式任务队列Celery
  • 前端之React实战:创建跨平台的项目架构
  • 一道闭包题引发的思考
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # include “ “ 和 # include < >两者的区别
  • $.ajax,axios,fetch三种ajax请求的区别
  • (16)Reactor的测试——响应式Spring的道法术器
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (篇九)MySQL常用内置函数
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net 无限分类
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET企业级应用架构设计系列之结尾篇
  • .NET序列化 serializable,反序列化