「NowCoder Contest 295」H. Playing games】的更多相关文章

还是见的题太少了 「NowCoder Contest 295」H. Playing games 题意:选出尽量多的数使得异或和为$ 0$ $ Solution:$ 问题等价于选出尽量少的数使得异或和为全集 根据线性基思想可以推得整个集合的异或集合可以被不超过$ bitcount$个数的异或集合表示 因此答案也不超过$ bitcount$ 对于原集合我们做若干次$ FWT$ 每次把当前异或集合卷上初始集合 复杂度$ O(n \ log^2 \ n)$ 足以通过本题 但是还不够 我们发现我们只是想知…
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round8-H.html 题目传送门 - https://www.nowcoder.com/acm/contest/146/H 题意 有 $n$ 堆石子,第 $i$ 堆有 $a_i$ 个.请你取出尽量多堆石子,使得取石子nim游戏后手必胜.输出你选择的石子堆数. $n,a_i\leq 5\times 10^5$ 题解 首先我们把题转化成:在 $n$ 个数中选择尽量多的…
fwt #include<bits/stdc++.h> using namespace std; const int N=1<<19; const int mod=1000000007; const int inv2=(mod+1)/2; void fwt(int *a,int n) { for(int i=1;i<n;i<<=1) for(int p=i<<1,j=0;j<n;j+=p) for(int k=j;k<j+i;k++) {…
「COCI2016/2017 Contest #2」Bruza 解题思路 : 首先对于任意时刻 \(i\) ,硬币一定移动到了深度为 \(i\) 的节点,所以第 \(i\) 时刻 Danel 一定染掉一个深度为 \(i + 1\) 的节点.又因为如果硬币到了深度为 \(k\) 的节点游戏就结束了,所以深度 \(> k\) 的节点都可以忽视,把所有深度 \(= k\) 的节点看做这棵树的叶子,如果一个节点其子树里面没有深度 \(= k\) 的节点,那么这整棵子树也是可以被忽视的. 其次,如果染色的…
「NOWCODER」CSP模拟赛第3场 T1 货物收集 题目 考场思路即正解 T2 货物分组 题目 考场思路 题解 60pts 算法:一维 DP 100pts 算法:一维 DP ?线段树 + 单调栈 优化 ! T3 地形计算 题目 考场思路 正解 感觉是比较好的一套题 因为几乎都有思路 可惜只打了一个小时 附一下出题人的玄学题解 T1 货物收集 题目 点这里 考场思路即正解 一道比较简单的题,结果 PPLPPLPPL 因为编译器原因爆 000 了 咕咕咕 我的时间复杂度 O(N⋅log2N)O(…
在写项目 或 阅读别人的代码(一些优秀的源码)中,总能发现一些常见的关键字,随着编程经验的积累大部分还是知道是什么意思 的. 相信很多开发者跟我当初一样,只是基本的常用关键字定义属性会使用,但在关键字概念上及具体的用法「应用场景.优化选择」上却依然有些模糊. 本文为「简书-白开水ln」作者原创:你关注的人,决定了你看到的世界 ^_^. 为此,本着好好学习,一劳永逸的目地,决定按模块一点一点剖析详解它「工作掌握.面试熟悉」. 本篇文章主要从[OC 常用关键字详解]学习总结. 本篇文章较长一些,强烈…
原题链接 Description 假设有根柱子,现要按下述规则在这根柱子中依次放入编号为的球. 每次只能在某根柱子的最上面放球. 在同一根柱子中,任何2个相邻球的编号之和为完全平方数. 试设计一个算法,计算出在根柱子上最多能放多少个球. Solution 如果是完全平方数则连有向边,那么一个柱子上的球就相当于图中的一条路径.二分答案,以是否能用不超过条路径覆盖作为条件. Code //「网络流 24 题」魔术球 #include <cstdio> #include <cstring>…
原题链接 Description 有个实验和个仪器,做实验有报酬买仪器有花费.每个实验都需要一些仪器,求最大净收益(实验报酬仪器花费),并输出一组方案. Solution 实验向所需仪器连边,实验的点权是其报酬,仪器的点权是其花费的相反数,这样构成一张带权图.所求的就是这个图的最大权闭合图. 关于最大权闭合图的求法及其证明,请参照胡泽涛的<最小割模型在信息学竞赛中的应用>P16. Code //「网络流 24 题」太空飞行计划 #include <cstdio> #include…
原题链接 题意简述 求二分图的最大匹配. 题解 这里写的是匈牙利算法. 表示节点的当前匹配. 为真表示在这一轮匹配中,无法给节点一个新的匹配.所以如果为真就不用再dfs它了,直接continue就好. Code //「网络流 24 题」搭配飞行员 #include <cstdio> #include <cstring> int const N=100+10; int n,n1; int cnt,h[N]; struct edge{int v,nxt;} ed[N*N]; void…
Loj #2331. 「清华集训 2017」某位歌姬的故事 IA 是一名会唱歌的女孩子. IOI2018 就要来了,IA 决定给参赛选手们写一首歌,以表达美好的祝愿.这首歌一共有 \(n\) 个音符,第 \(i\) 个音符的音高为 \(h_i\).IA 的音域是 \(A\),她只能唱出 \(1\sim A\) 中的正整数音高.因此 \(1\le h_i\le A\). 在写歌之前,IA 需要确定下这首歌的结构,于是她写下了 \(Q\) 条限制,其中第 \(i\) 条为:编号在 \(l_i\) 到…