p2460:

  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4. #define N 1001
  5. typedef long long ll;
  6. struct Point{ll p;int v;}a[N];
  7. bool operator < (const Point &a,const Point &b){return a.v>b.v;}
  8. int n,ans;
  9. ll base[64];
  10. int main()
  11. {
  12. scanf("%d",&n);
  13. for(int i=1;i<=n;++i) scanf("%lld%d",&a[i].p,&a[i].v);
  14. sort(a+1,a+n+1);
  15. for(int i=1;i<=n;++i)
  16. {
  17. for(int j=63;j>=0;--j)
  18. if((a[i].p>>j)&1)
  19. {
  20. if(!base[j])
  21. {
  22. base[j]=a[i].p;
  23. break;
  24. }
  25. a[i].p^=base[j];
  26. }
  27. if(a[i].p) ans+=a[i].v;
  28. }
  29. printf("%d\n",ans);
  30. return 0;
  31. }

p3105:

  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4. #define N 101
  5. typedef long long ll;
  6. int n,a[N],base[32];
  7. ll ans,sum;
  8. bool cmp(const int &a,const int &b){return a>b;}
  9. int main()
  10. {
  11. scanf("%d",&n);
  12. for(int i=1;i<=n;++i)
  13. {
  14. scanf("%d",&a[i]);
  15. sum+=(ll)a[i];
  16. }
  17. sort(a+1,a+1+n,cmp);
  18. for(int i=1;i<=n;++i)
  19. {
  20. int t=a[i];
  21. for(int j=31;j>=0;--j)
  22. if((t>>j)&1)
  23. {
  24. if(!base[j])
  25. {
  26. base[j]=t;
  27. break;
  28. }
  29. t^=base[j];
  30. }
  31. if(!t) ans+=(ll)a[i];
  32. }
  33. printf("%lld\n",ans==sum?(-1):ans);
  34. return 0;
  35. }

【贪心】【线性基】bzoj2460 [BeiJing2011]元素 / bzoj3105 [cqoi2013]新Nim游戏的更多相关文章

  1. BZOJ3105: [cqoi2013]新Nim游戏 博弈论+线性基

    一个原来写的题. 既然最后是nim游戏,且玩家是先手,则希望第二回合结束后是一个异或和不为0的局面,这样才能必胜. 所以思考一下我们要在第一回合留下线性基 然后就是求线性基,因为要取走的最少,所以排一 ...

  2. BZOJ3105: [cqoi2013]新Nim游戏

    题解: 线性基?类似于向量上的基底. 此题题解戳这里:http://blog.csdn.net/wyfcyx_forever/article/details/39477673 代码: #include ...

  3. 【题解】 bzoj3105: [cqoi2013]新Nim游戏 (线性基+贪心)

    bzoj3105,懒得复制 Solution: 首先你要有一个前置技能:如果每堆石子异或和为\(0\),则先手比输 这题我们怎么做呢,因为我们没人要先取掉几堆,为了赢对方一定会使剩下的异或和为\(0\ ...

  4. BZOJ3105:[CQOI2013]新Nim游戏(线性基,贪心)

    Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...

  5. bzoj3105 [cqoi2013]新Nim游戏——贪心+线性基

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3105 首先,要先手必胜,就不能取后让剩下的火柴中存在异或和为0的子集,否则对方可以取成异或和 ...

  6. BZOJ3105: [cqoi2013]新Nim游戏(Xor线性无关组)

    Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...

  7. 【BZOJ3105】[cqoi2013]新Nim游戏 贪心+线性基

    [BZOJ3105][cqoi2013]新Nim游戏 Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个 ...

  8. 【BZOJ3105】新Nim游戏(线性基)

    [BZOJ3105]新Nim游戏(线性基) 题面 BZOJ Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以 ...

  9. BZOJ_3105_[cqoi2013]新Nim游戏_线性基+博弈论

    BZOJ_3105_[cqoi2013]新Nim游戏_线性基+博弈论 Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作 ...

随机推荐

  1. visio2013安装提示找不到Office.zh_cn\officeMUI.mis officemui.xml(转)

    windoes10 已经安装office2013后,想安装Visio2013,报错如题所示.解决方法我采用的是方法二:解压缩office2013的ISO包,解压缩Visio2013的ISO包,安装Vi ...

  2. linux 学习好资源

    Linux-Wiki.cn http://linux-wiki.cn/wiki/zh-hans/Linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84    Linux目录 ...

  3. c++ STL(2)

    Vector: #include "stdafx.h" #include<iostream> #include<vector> #include<al ...

  4. Sqlserver面试题

    1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文   ...

  5. jquery学习总计

    1,jquery的基础语法 $(selector).action(); 选择器(selector)查询和查找html元素,action()执行对函数的操作. 2.选择器 id,类,类型,属性,属性值等 ...

  6. 关于MyBatis的collection集合中只能取到一条数据的问题

    问题:在涉及多表查询的时候,使用collection元素来映射集合属性时,出现了只能查询到一条数据的情况,但用sql语句在数据库中查询会有多条记录. 解决:如果两表联查,主表和明细表的主键都是id的话 ...

  7. Flink源码阅读(一)--Checkpoint触发机制

    Checkpoint触发机制 Flink的checkpoint是通过定时器周期性触发的.checkpoint触发最关键的类是CheckpointCoordinator,称它为检查点协调器. org.a ...

  8. 单源最短路模板_SPFA_Dijkstra(堆优化)_C++

    随手一打就是标准的SPFA,默认1号节点为出发点,当然不用 f 判断是否在队里也可以,只是这样更优化一点 void spfa() { int i,x,k; ;i<=n;i++) { d[i]=o ...

  9. windows注册表存储位置

    win7/8/10 通常情况: HKEY_LOCAL_MACHINE \SYSTEM : \system32\config\system HKEY_LOCAL_MACHINE \SAM : \syst ...

  10. [转]树莓派gpio口控制

    0.前言     树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个. [[开发语言]——python [[ ...